-
--------------------------------------------------------------------------------
- Since this is a development snapshot of the DCMTK, there is no public
- announcement. This file will be updated for the next official release.
--------------------------------------------------------------------------------
-
-
ANNOUNCEMENT
-Version X.Y.Z of the OFFIS DCMTK (DICOM ToolKit) software is now available for
+Version 3.6.2 of the OFFIS DCMTK (DICOM ToolKit) software is now available for
public release. This release includes the following main changes over the
previous version 3.6.0:
- [...]
+- DCMTK 3.6.2 builds correctly on older and up-to-date versions of GNU gcc
+ (4.2.1 to 7.1.1) Clang (3.4.1 to 4.0.1), Microsoft Visual Studio (2005 to
+ 2017) and SunPro CC (5.14 and 5.15).
+
+- Tested with the following operating systems/environments:
+
+ - Android on arm64
+ - Cygwin on x86_64
+ - FreeBSD on x86_64
+ - Linux on x86_64 and x86
+ - MacOS X on x86_64
+ - NetBSD on x86_64
+ - OpenBSD on x86_64
+ - OpenIndiana on x86
+ - QNX on x86
+ - Solaris on x86
+ - Windows (and MinGW) on x86_64 and x86
+
+ For a complete list of tested systems and compilers, see the INSTALL file.
+
+- The CMake build system is now considered as mature as our GNU Autoconf
+ setup. There are even some features that are only available when using CMake,
+ for example exporting the build configuration in order to easily integrate
+ DCMTK into other CMake based projects.
+
+- It is now possible to build shared libraries (Linux) resp. dynamic link
+ libraries (DLLs, Windows) using CMake and the "BUILD_SHARED_LIBS" option.
+ DCMTK can even be compiled into a single shared library (e.g. "dcmtk.dll")
+ using the "BUILD_SINGLE_SHARED_LIBRARY" option.
+
+- Added character set transcoding support:
+
+ - Support for converting DICOM files, datasets and element values between
+ different character sets (incl. code extension techniques).
+ - Windows-specific support for converting between wide character encoding and
+ e.g. UTF-8 or Latin-1.
+ - Support for wide character strings (UTF-16) used for filenames by the
+ Windows operating system.
+ - Supports replacing the underlying character set conversion implementation as
+ needed using either:
+ - GNU libiconv,
+ - International Components for Unicode (ICU) or
+ - the iconv functions from the C standard library.
+ - "dcmqrdb" allows matching queries with datasets using different character
+ sets and response conversion.
+
+- Integrated a unit test framework and added several unit tests to ensure that
+ basic functionality (e.g. parsing DICOM data, network transmission) will
+ never break.
+
+- Updated CharLS to version 1.0 and log4cplus to version 1.1.0.
+
+- Added cross compiling support for Windows and Android targets. The Android
+ emulator and Wine have been integrated into our CMake setup for running the
+ run time configuration tests as required and (optionally) the unit tests.
+
+- Refactored native STL integration:
+
+ - Added arguments resp. variables to Autoconf and CMake replacing the old
+ macros for choosing whether to use DCMTK's fallback or the native
+ implementation of various STL features. See the INSTALL file for more
+ information about this.
+ - Added configuration tests ensuring that the enabled STL features work as
+ expected/required before actually using them.
+ - Added unit tests to ensure whichever chosen implementation actually works.
+
+- Added support for several C++11 (and newer) features and fallback
+ implementations as required:
+
+ - Added arguments resp. variables to Autoconf and CMake for enabling native
+ C++11 support or DCMTK's own fallback implementations and workarounds. See
+ the INSTALL file for more information.
+ - Added configuration tests that ensure that the compiler actually provides
+ C++11 support before using it.
+ - Added advanced memory management primitives OFunique_ptr and OFshared_ptr
+ to support users in writing memory leak free code.
+ - Added support for move semantics, e.g. to transfer the ownership of an
+ OFunique_ptr.
+ - Added OFnumeric_limits to query information about fundamental arithmetic
+ types.
+ - Added type traits (OFenable_if etc.) to support template meta-programing.
+ - Added OFtuple as a more generic alternative to OFPair.
+ - Added OFoptional to connect the state information of optional values with
+ the actual value, e.g. for being used as function return value.
+ - Added OFvariant, a type safe tagged union to store different objects in
+ a single variable (not simultaneously) depending on runtime requirements.
+ - Added unit tests to ensure all above mentioned features really work.
+
+- Introduced platform independent defines for suppressing inappropriate compiler
+ diagnostic output (i.e. "warnings"). This mechanism is used to locally
+ suppress warnings that originate from the compiler misinterpreting the authors
+ intention, e.g. warnings when intentionally mixing "class" and "struct" for
+ template specialization to save typing "public" and "private".
+
+- Introduced several new modules:
+
+ - "dcmrt" - implements support for the DICOM Radiation Therapy IODs
+ - "dcmiod" - eases IOD module composition and supports constraint checking
+ when reading and writing IODs and their modules.
+ - "dcmfg" - allows to represent Functional Groups in the source code.
+ - "dcmseg" - implements the segmentation IOD based on "dcmiod" and "dcmfg".
+ - "dcmtract" - offers a dedicated API to create and read DICOM Tractography
+ Results objects (introduced in DICOM Supplement 181).
+ - "dcmpmap" - for creating, saving and loading DICOM Parametric Maps objects
+ (introduced with Supplement 172).
+
+- Further enhanced DICOM Structured Reporting (SR) module "dcmsr":
+
+ - Added the "dcmsr/cmr" submodule implementing support for parts of the DICOM
+ Content Mapping Resource (DCMR).
+ - Added support for SR templates by introducing two general classes for root
+ and non-root templates.
+ - Also added support for CP-1031 (Support long code values) and CP-1417
+ (Clarify use and declaration of private mapping resource).
+ - Added support for the SR Template TID 1500 (Measurement Report) and included
+ subordinated Templates (e.g. TID 1001, 1204, 1600, 1411).
+ - Also added support for all required Context Groups and Code definitions, i.e.
+ from DICOM, NCIt, SNOMED, UCUM, and UMLS coding scheme.
+ - Added support for the new Acquisition Context SR IOD, Comprehensive 3D SR
+ IOD, Implantation Plan SR Document IOD, Radiopharmaceutical Radiation Dose
+ SR IOD, Simplified Adult Echo SR IOD and Spectacle Prescription Report IOD.
+ - Further improved handling of incorrectly encoded DICOM SR documents.
+ - Many further improvements in order to stay up-to-date with development of
+ the DICOM standard and to make it easier to create, read, write, and modify
+ SR documents.
+
+- Introduced several new command line tools:
+
+ - "getscu" - a C-GET Service Class User.
+ - "dcmsend" - a Simple Storage Service Class User, based on new class
+ "DcmStorageSCU".
+ - "dcmrecv" - alternative to storescp with focus on easy use, based on new
+ class "DcmStorageSCP".
+ - "dcm2json" - converts DICOM files to DICOM's official JSON encoding.
+
+- Added threading functionality to DcmSCP via thread pool classes.
+
+- Added new output format to dcm2xml: the Native DICOM Model according to
+ part 19 of the DICOM standard ("Application Hosting").
+
+- Added support for 16 bits per sample to PNG image export.
+
+- Significantly enhanced performance of the DICOMDIR code for reading and
+ writing such files. Also added support for all new Directory Record Types.
+
+- Added support for new Return Key Attributes to the "wlmscpfs", which are
+ required for the IHE Eye Care Workflow.
+
+- Introduced advanced parameterization methods for DCMTLS.
+
+- Improved data dictionary configuration options and handling.
+
+- Added support for new Value Representations "Other Double" (OD), "Other Long"
+ (OL), "Unlimited Characters" (UC) and "Universal Resource Identifiers/Locators
+ (URI/URL)" (UR).
+
+- Added support for three new DICOS Storage SOP Classes from the DICOM-related
+ DICOS (Digital Imaging and Communications in Security) standard.
+
+- Added additional matching keys to dcmqrdb and dcmwlm: StudyDate, StudyTime and
+ IssuerOfPatientID.
+
+- Updated data dictionary, SOP Class and Transfer Syntax UIDs for the recently
+ approved changes to the DICOM standard (i.e. Supplements and CPs), up to DICOM
+ standard release DICOM 2017b.
+
+- Added support for additional MPEG4 transfer syntaxes to several command line
+ programs.
+
+- Enhanced support for DICOM Non-Patient Objects, e.g. allow for transferring
+ them using the standard networking tools.
+
+- DCMTK now supports compiling with OpenSSL 1.1.x; support for some older,
+ insecure TLS cipher suites has been removed.
+
+- The JPEG encoder now implements DICOM CP 1447, i.e. always writes a SOF1
+ marker into the JPEG bitstream in extended sequential mode.
+
+- The socket timeout used for send() and recv() is now configurable (at
+ runtime); further fixes and enhancements to networking basics.
+
+- Revised implementation of class OFCondition in order to avoid issues with
+ static initialization order.
+
+- Fixed various issues that occurred after the official 3.6.0 release.
+
Many people have contributed to this new release of DCMTK, appearing here in
alphabetical order. Thank you very much for your support!
- [...]
+ Alexander Haderer <alexander.haderer@loescap.de>
+ Alexander Karaivanov <alexander.karaivanov@karoshealth.com>
+ Andrei Terechko <andrei@vectorfabrics.com>
+ Andrey Fedorov <andrey.fedorov@gmail.com>
+ Anne-Gaelle Berge <anne-gaelle.berge@kereval.com>
+ Bhuvan Bose <bhuvanbose86@gmail.com>
+ Bill Lorensen <bill.lorensen@gmail.com>
+ Brad Jascob <bjascob@msn.com>
+ Bruno Milutin <bmilutin@digithurst.de>
+ Carmen Avram <carmen@pixeldata.ro>
+ Christian Fremgen <Christian.Fremgen@ith-icoserve.com>
+ Christian Herz <cherz@bwh.harvard.edu>
+ Christian Wetzel <wetzel@phoenix-pacs.de>
+ Daniele Giunchi <d.giunchi@scsitaly.com>
+ David Clunie <dclunie@dclunie.com>
+ Detlev Hohmeier <detlev.hohmeier@meditec.zeiss.com>
+ Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr>
+ Dr. Martin Korp <Martin.Korp@ith-icoserve.com>
+ Dr. Michael Heber <mheber.aup@t-online.de>
+ Eric A. Borisch <eborisch@macports.org>
+ David Flade <fladedavid@gmail.com>
+ Fred Stegemann <fred.stegemann@fstsoft.de>
+ Fu Peng <fupeng@gmail.com>
+ Gareth Sylvester-Bradley <garethsb@gmail.com>
+ Gary Carter <gary.carter@eigen.com>
+ Gigante <fgigante@imsitaly.com>
+ Grzegorz Chlebus <grzegorz.chlebus@mevis.fraunhofer.de>
+ Hanno Hugenberg <hanno.hugenberg@gkmedsys.de>
+ Hans J. Johnson <hans-johnson@uiowa.edu>
+ Hans Kluijtmans <hans.kluijtmans@topcon.eu>
+ Hector Marco <hecmargi@upv.es>
+ Heyo Spekker <spekker@icsmed.de>
+ Hüseyin Kozan <posta@huseyinkozan.com.tr>
+ Ing-Long Eric Kuo <draconpern@hotmail.com>
+ Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
+ Jeroen Eggermont <J.Eggermont@lumc.nl>
+ John Stark <jstark@therapixel.com>
+ Julien Finet <julien.finet@kitware.com>
+ Kent Williams <norman-k-williams@uiowa.edu>
+ Kornelius Sohn <k.sohn@starc-medical.de>
+ Lin Qi Ruan <rlq1969612634@gmail.com>
+ Marco Nolden <m.nolden@dkfz-heidelberg.de>
+ Mario Ceresa <mrceresa@gmail.com>
+ Markus Konrad <markus.konrad@et-innovations.org>
+ Markus Mertens <markus.mertens@evkb.de>
+ Martin Wenger <Martin.Wenger@klinikum-hef.de>
+ Mathieu Malaterre <mathieu.malaterre@gmail.com>
+ Matt McCormick <matt.mccormick@kitware.com>
+ Michael Knopke <knopkem@gmail.com>
+ Michael Schinner <Michael.Schinner@ith-icoserve.com>
+ Michal Spacek <tupinek@gmail.com>
+ Niels Dekker <C.E.Dekker@lumc.nl>
+ Paolo Marcheschi <paolo.marcheschi@ftgm.it>
+ Per Inge Mathisen <perim@sonowand.com>
+ Peter Hille <peter@das-system-networks.de>
+ Peter Klotz <Peter.Klotz@ith-icoserve.com>
+ Pietro Cerutti <gahr@FreeBSD.org>
+ Rasmus Christian Pedersen <zerhacken@yahoo.com>
+ Richard Flay <richardf@acres.com.au>
+ Robert Habrich <habrich@image-systems.biz>
+ Stacy Loesch <Stacy.Loesch@varian.com>
+ Takeo Satomi <takeo.satomi@gmail.com>
+ Tamas Nemeth <tnemeth@erad.com>
+ Thomas Puckett <puckett_thomas@hotmail.com>
+ Thomas Sondergaard <thomas.sondergaard@karoshealth.com>
+ Tiago D'Agostini <tiago.dagostini@pixeon.com>
+ Tilman Vogel <tilman@circlecvi.com>
+ Timothy Pitt <tim@vaquita.co.uk>
+ Waldir Pimenta <waldir.pimenta@gmail.com>
+ Wang Qiang <wq_net@163.com>
+ Yves Neumann <neumann@image-systems.biz>
+
+ Forum user "AlexanderLysenko"
+ Forum user "andreasb"
+ Forum user "angad"
+ Forum user "aprogrammer"
+ Forum user "bibble_235"
+ Forum user "budric"
+ Forum user "chaircrusher"
+ Forum user "coach4ae"
+ Forum user "dimitri"
+ Forum user "flang"
+ Forum user "Geof"
+ Forum user "gerhardh"
+ Forum user "ghleclerc"
+ Forum user "HackerNeo"
+ Forum user "henry"
+ Forum user "Hua Cong Danh"
+ Forum user "ichimura.t"
+ Forum user "ionut.vaida"
+ Forum user "jacobf"
+ Forum user "jacobscolin"
+ Forum user "jakecobb"
+ Forum user "kosborn"
+ Forum user "kron24"
+ Forum user "lars_matthaeus"
+ Forum user "Luuk"
+ Forum user "maleike"
+ Forum user "martinrame"
+ Forum user "Matterhorn"
+ Forum user "merlin"
+ Forum user "michael12345"
+ Forum user "nikkoara"
+ Forum user "nmoraes"
+ Forum user "oblivion81"
+ Forum user "oxymoron"
+ Forum user "Paul Groot"
+ Forum user "Per"
+ Forum user "poupofa"
+ Forum user "psih128"
+ Forum user "Rich in Soquel"
+ Forum user "sfzhang"
+ Forum user "Shaeto"
+ Forum user "spasmous"
+ Forum user "st80rules"
+ Forum user "Tim"
+ Forum user "tpalagyi"
+ Forum user "vlad"
+ Forum user "vsalomoni"
+ Forum user "wollet88"
+ Forum user "wrenashe"
+ Forum user "xcoder"
+ Forum user "ymartelli"
+ Forum user "yueran"
+ Forum user "Yves Neumann"
+ Forum user "zaq"
+
+Members of the DCMTK Team who have worked on this release are
+(in alphabetical order):
+
+ Marco Eichelberg <eichelberg@offis.de>
+ Michael Onken <onken@open-connections.de>
+ Joerg Riesmeier <dicom@jriesmeier.com>
+ Jan Schlamelcher <schlamelcher@offis.de>
+
+Student associates:
-Members of the OFFIS DICOM Team who have worked on this release are:
+ Nikolas Goldhammer <nikolasgoldhammer@gmail.com>
+ Sebastian Grallert <Grallert.Sebastian@web.de>
+ Thorben Hasenpusch <tpuschel@fastmail.com>
+ Uli Schlachter <psychon@znc.in>
- [...]
+Also see CREDITS file for projects and companies who have been generously
+supporting DCMTK.
The DCMTK software can be downloaded via:
http://dicom.offis.de/dcmtk or http://www.dcmtk.org/
-OFFIS e.V., Oldenburg, Germany, 2011-02-01
+OFFIS e.V., Oldenburg, Germany, 2017-07-14
CHANGES.XXX file inside DCMTK's main directory.
Now, the CHANGES.XXX file has been moved to the dcmtk/doc folder with the latest
-one being updated every time that a new snapshot is released. Thus it always
-contains all DCMTK changes between the last DCMTK release and the latest
-snapshot.
+one being updated every time that a new DCMTK version is released. Thus it
+always contains all DCMTK changes between the last DCMTK release and the most
+recent one.
For very recent changes, i. e. those changes to DCMTK that have been applied
-after release of the latest snapshot, see the DCMTK git repository log at
+after the most recent release, see the DCMTK git repository log at
http://git.dcmtk.org/ .
# website (pre-built).
# libxml support: find out whether user has library
- GET_FILENAME_COMPONENT(LIBXML_DIR "${DCMTK_SOURCE_DIR}/../libxml2-2.7.7" ABSOLUTE)
+ FILE(GLOB LIBXML_DIR "${DCMTK_SOURCE_DIR}/../libxml2*")
FIND_PATH(WITH_LIBXMLINC "/include/libxml/parser.h" "${LIBXML_DIR}" NO_DEFAULT_PATH)
# libpng support: find out whether user has library
- GET_FILENAME_COMPONENT(LIBPNG_DIR "${DCMTK_SOURCE_DIR}/../libpng-1.4.2" ABSOLUTE)
+ FILE(GLOB LIBPNG_DIR "${DCMTK_SOURCE_DIR}/../libpng*")
FIND_PATH(WITH_LIBPNGINC "include/png.h" "${LIBPNG_DIR}" NO_DEFAULT_PATH)
# libtiff support: find out whether user has library
- GET_FILENAME_COMPONENT(LIBTIFF_DIR "${DCMTK_SOURCE_DIR}/../tiff-3.9.2" ABSOLUTE)
+ FILE(GLOB LIBTIFF_DIR "${DCMTK_SOURCE_DIR}/../libtiff*")
FIND_PATH(WITH_LIBTIFFINC "include/tiff.h" "${LIBTIFF_DIR}" NO_DEFAULT_PATH)
# OpenSSL support: find out whether user has library
- GET_FILENAME_COMPONENT(OPENSSL_DIR "${DCMTK_SOURCE_DIR}/../openssl-1.0.0" ABSOLUTE)
+ FILE(GLOB OPENSSL_DIR "${DCMTK_SOURCE_DIR}/../openssl*")
FIND_PATH(WITH_OPENSSLINC "include/openssl/ssl.h" "${OPENSSL_DIR}" NO_DEFAULT_PATH)
# zlib support: find out whether user has library
- GET_FILENAME_COMPONENT(ZLIB_DIR "${DCMTK_SOURCE_DIR}/../zlib-1.2.5" ABSOLUTE)
+ FILE(GLOB ZLIB_DIR "${DCMTK_SOURCE_DIR}/../zlib*")
FIND_PATH(WITH_ZLIBINC "include/zlib.h" "${ZLIB_DIR}" NO_DEFAULT_PATH)
# sndfile support: find out whether user has library. Needed for module dcmwave (not in public DCMTK yet, marked as advanced)
- GET_FILENAME_COMPONENT(SNDFILE_DIR "${DCMTK_SOURCE_DIR}/../libsndfile-1.0.17" ABSOLUTE)
+ FILE(GLOB SNDFILE_DIR "${DCMTK_SOURCE_DIR}/../libsndfile*")
FIND_PATH(WITH_SNDFILEINC "sndfile.h" "${SNDFILE_DIR}" NO_DEFAULT_PATH)
MARK_AS_ADVANCED(SNDFILE_DIR WITH_SNDFILEINC)
# libiconv support: find out whether user has library
- GET_FILENAME_COMPONENT(LIBICONV_DIR "${DCMTK_SOURCE_DIR}/../libiconv-1.14" ABSOLUTE)
+ FILE(GLOB LIBICONV_DIR "${DCMTK_SOURCE_DIR}/../libiconv*")
FIND_PATH(WITH_LIBICONVINC "include/iconv.h" "${LIBICONV_DIR}" NO_DEFAULT_PATH)
# libxml support: configure compiler
IF(DCMTK_WITH_XML)
IF(WITH_LIBXMLINC)
- SET(LIBXML_INCDIR ${WITH_LIBXMLINC}/include)
- SET(LIBXML_LIBDIR ${WITH_LIBXMLINC}/lib)
- SET(LIBXML_LIBS debug ${LIBXML_LIBDIR}/libxml2_d.lib optimized ${LIBXML_LIBDIR}/libxml2_o.lib debug ${LIBXML_LIBDIR}/iconv_d.lib optimized ${LIBXML_LIBDIR}/iconv_o.lib)
+ SET(LIBXML_INCDIR "${WITH_LIBXMLINC}/include")
+ SET(LIBXML_LIBDIR "${WITH_LIBXMLINC}/lib")
+ SET(LIBXML_LIBS debug "${LIBXML_LIBDIR}/libxml2_d.lib" optimized "${LIBXML_LIBDIR}/libxml2_o.lib" debug "${LIBXML_LIBDIR}/iconv_d.lib" optimized "${LIBXML_LIBDIR}/iconv_o.lib")
MESSAGE(STATUS "Info: DCMTK XML support will be enabled")
SET(WITH_LIBXML 1)
+ # this hides some warnings that are emitted when linking against libxmlXXX.lib instead of linking the DLL directly
+ ADD_DEFINITIONS("-DLIBXML_STATIC")
ELSE(WITH_LIBXMLINC) # turn off library if library path not set
MESSAGE(STATUS "Warning: XML support will be disabled because libxml2 directory is not specified. Correct path and re-enable DCMTK_WITH_XML.")
SET(DCMTK_WITH_XML OFF CACHE BOOL "" FORCE)
# libpng support: configure compiler
IF(DCMTK_WITH_PNG)
IF(WITH_LIBPNGINC)
- SET(LIBPNG_INCDIR ${WITH_LIBPNGINC}/include)
- SET(LIBPNG_LIBDIR ${WITH_LIBPNGINC}/lib)
- SET(LIBPNG_LIBS debug ${LIBPNG_LIBDIR}/libpng_d.lib optimized ${LIBPNG_LIBDIR}/libpng_o.lib)
+ SET(LIBPNG_INCDIR "${WITH_LIBPNGINC}/include")
+ SET(LIBPNG_LIBDIR "${WITH_LIBPNGINC}/lib")
+ SET(LIBPNG_LIBS debug "${LIBPNG_LIBDIR}/libpng_d.lib" optimized "${LIBPNG_LIBDIR}/libpng_o.lib")
MESSAGE(STATUS "Info: DCMTK PNG support will be enabled")
SET(WITH_LIBPNG 1)
ELSE(WITH_LIBPNGINC) # turn off library if library path not set
# libtiff support: configure compiler
IF(DCMTK_WITH_TIFF)
IF(WITH_LIBTIFFINC)
- SET(LIBTIFF_INCDIR ${WITH_LIBTIFFINC}/include)
- SET(LIBTIFF_LIBDIR ${WITH_LIBTIFFINC}/lib)
- SET(LIBTIFF_LIBS debug ${LIBTIFF_LIBDIR}/libtiff_d.lib optimized ${LIBTIFF_LIBDIR}/libtiff_o.lib)
+ SET(LIBTIFF_INCDIR "${WITH_LIBTIFFINC}/include")
+ SET(LIBTIFF_LIBDIR "${WITH_LIBTIFFINC}/lib")
+ SET(LIBTIFF_LIBS debug "${LIBTIFF_LIBDIR}/libtiff_d.lib" optimized "${LIBTIFF_LIBDIR}/libtiff_o.lib")
MESSAGE(STATUS "Info: DCMTK TIFF support will be enabled")
SET(WITH_LIBTIFF 1)
ELSE(WITH_LIBTIFFINC) # turn off library if library path not set
# OpenSSL support: configure compiler
IF(DCMTK_WITH_OPENSSL)
IF(WITH_OPENSSLINC)
- SET(OPENSSL_BINDIR ${WITH_OPENSSLINC}/bin)
- SET(OPENSSL_INCDIR ${WITH_OPENSSLINC}/include)
- SET(OPENSSL_LIBDIR ${WITH_OPENSSLINC}/lib)
- SET(OPENSSL_LIBS debug ${OPENSSL_LIBDIR}/dcmtkssl_d.lib optimized ${OPENSSL_LIBDIR}/dcmtkssl_o.lib debug ${OPENSSL_LIBDIR}/dcmtkeay_d.lib optimized ${OPENSSL_LIBDIR}/dcmtkeay_o.lib)
+ SET(OPENSSL_BINDIR "${WITH_OPENSSLINC}/bin")
+ SET(OPENSSL_INCDIR "${WITH_OPENSSLINC}/include")
+ SET(OPENSSL_LIBDIR "${WITH_OPENSSLINC}/lib")
+ SET(OPENSSL_LIBS debug "${OPENSSL_LIBDIR}/dcmtkssl_d.lib" optimized "${OPENSSL_LIBDIR}/dcmtkssl_o.lib" debug "${OPENSSL_LIBDIR}/dcmtkcrypto_d.lib" optimized "${OPENSSL_LIBDIR}/dcmtkcrypto_o.lib")
MESSAGE(STATUS "Info: DCMTK OPENSSL support will be enabled")
SET(WITH_OPENSSL 1)
ELSE(WITH_OPENSSLINC) # turn off library if library path not set
# zlib support: configure compiler
IF(DCMTK_WITH_ZLIB)
IF(WITH_ZLIBINC)
- SET(ZLIB_INCDIR ${WITH_ZLIBINC}/include)
- SET(ZLIB_LIBDIR ${WITH_ZLIBINC}/lib)
- SET(ZLIB_LIBS debug ${ZLIB_LIBDIR}/zlib_d.lib optimized ${ZLIB_LIBDIR}/zlib_o.lib)
+ SET(ZLIB_INCDIR "${WITH_ZLIBINC}/include")
+ SET(ZLIB_LIBDIR "${WITH_ZLIBINC}/lib")
+ SET(ZLIB_LIBS debug "${ZLIB_LIBDIR}/zlib_d.lib" optimized "${ZLIB_LIBDIR}/zlib_o.lib")
MESSAGE(STATUS "Info: DCMTK ZLIB support will be enabled")
SET(WITH_ZLIB 1)
ELSE(WITH_ZLIBINC) # turn off library if library path not set
# sndfile support: configure compiler
IF(DCMTK_WITH_SNDFILE)
IF(WITH_SNDFILEINC)
- SET(SNDFILE_INCDIR ${WITH_SNDFILEINC}/include)
- SET(SNDFILE_LIBDIR ${WITH_SNDFILEINC}/lib)
- SET(SNDFILE_LIBS debug ${SNDFILE_LIBDIR}/libsndfile_d.lib optimized ${SNDFILE_LIBDIR}/libsndfile_o.lib)
+ SET(SNDFILE_INCDIR "${WITH_SNDFILEINC}/include")
+ SET(SNDFILE_LIBDIR "${WITH_SNDFILEINC}/lib")
+ SET(SNDFILE_LIBS debug "${SNDFILE_LIBDIR}/libsndfile_d.lib" optimized "${SNDFILE_LIBDIR}/libsndfile_o.lib")
MESSAGE(STATUS "Info: DCMTK SNDFILE support will be enabled")
SET(WITH_SNDFILE 1)
ELSE(WITH_SNDFILEINC) # turn off library if library path not set
# libiconv support: configure compiler
IF(DCMTK_WITH_ICONV)
IF(WITH_LIBICONVINC)
- SET(LIBICONV_INCDIR ${WITH_LIBICONVINC}/include)
- SET(LIBICONV_LIBDIR ${WITH_LIBICONVINC}/lib)
- SET(LIBICONV_LIBS debug ${LIBICONV_LIBDIR}/libiconv_d.lib optimized ${LIBICONV_LIBDIR}/libiconv_o.lib)
+ SET(LIBICONV_INCDIR "${WITH_LIBICONVINC}/include")
+ SET(LIBICONV_LIBDIR "${WITH_LIBICONVINC}/lib")
+ SET(LIBICONV_LIBS debug "${LIBICONV_LIBDIR}/libiconv_d.lib" optimized "${LIBICONV_LIBDIR}/libiconv_o.lib")
MESSAGE(STATUS "Info: DCMTK ICONV support will be enabled")
SET(WITH_LIBICONV 1)
ELSE(WITH_LIBICONVINC) # turn off library if library path not set
ENDIF(NOT DEFINED DCMTK_WITH_STDLIBC_ICONV)
IF(DCMTK_WITH_ICU)
- FIND_PACKAGE(ICU)
+ FIND_PACKAGE(ICU COMPONENTS uc data QUIET)
IF(NOT ICU_FOUND)
MESSAGE(STATUS "Warning: ICU support will be disabled because the ICU were not found.")
SET(DCMTK_WITH_ICU OFF CACHE BOOL "" FORCE)
+++ /dev/null
-#
-# This file is run prior to the unit tests for preparing the testing
-# environment. Currently only required / necessary for running the
-# tests on the Android device emulator.
-#
-
-# Restore the required settings of the CMake configuration step
-INCLUDE(dcmtkCTestConfig.cmake NO_POLICY_SCOPE)
-
-# Emulate some required CMake commands while running inside CTest
-INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/CTest/dcmtkCTestMacros.cmake)
-
-# Prepare the Android testing environment
-IF(ANDROID)
- # Load required functions for controlling the Android device emulator
- INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/dcmtkUseAndroidSDK.cmake)
-
- # Prepare the emulator
- DCMTK_ANDROID_START_EMULATOR(DCMTK_ANDROID_EMULATOR_INSTANCE)
- DCMTK_ANDROID_WAIT_FOR_EMULATOR(DCMTK_ANDROID_EMULATOR_INSTANCE)
-
- # Get the emulator's name for emitting a shutdown command when done
- DCMTK_ANDROID_GET_OBJECT_PROPERTIES(DCMTK_ANDROID_EMULATOR_INSTANCE)
- DCMTK_ANDROID_STOP_EMULATOR_COMMAND(STOP_EMULATOR ${EMULATOR_NAME})
- DCMTK_ANDROID_EMULATOR_SHUTDOWN_MESSAGE(STOP_MESSAGE)
- MESSAGE_COMMAND(STOP_MESSAGE ${STOP_MESSAGE})
- # CTEST_CUSTOM_POST_TESTS executes a sequence of 'non CMake' commands separated
- # by ';' characters. Therefore the sequence a single command consists of must
- # be translated appropriately first
- STRING(REPLACE ";" " " STOP_EMULATOR "${STOP_EMULATOR}")
- STRING(REPLACE ";" " " STOP_MESSAGE "${STOP_MESSAGE}")
- SET(CLEANUP_COMMAND "${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/dcmtkCTestRunAndroid.cmake")
- # Register the cleanup hooks
- SET(CTEST_CUSTOM_POST_TEST "${CLEANUP_COMMAND}" "${STOP_MESSAGE}" "${STOP_EMULATOR}")
-
- # Prepare the test script, most importantly set the current emulator instance handle
- CONFIGURE_FILE(
- ${DCMTK_CMAKE_INCLUDE}CMake/CTest/dcmtkCTestRunAndroid.cmake.in
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/dcmtkCTestRunAndroid.cmake
- @ONLY
- )
-
- # Collect the list of required libraries
- IF(BUILD_SHARED_LIBS)
- FOREACH(LIBRARY ${DCMTK_ALL_LIBRARIES})
- LIST(APPEND DCMTK_CREATED_SHARED_LIBRARIES ${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}${LIBRARY}${CMAKE_SHARED_LIBRARY_SUFFIX}.${DCMTK_PACKAGE_VERSION})
- ENDFOREACH()
- ENDIF(BUILD_SHARED_LIBS)
-
- # Transmit the required executables and libraries to the emulator
- DCMTK_ANDROID_PUSH(DCMTK_ANDROID_EMULATOR_INSTANCE
- ${ANDROID_RUNTIME_LIBRARIES}
- ${DCMTK_LIBRARY_DEPENDENCIES}
- ${DCMTK_CREATED_SHARED_LIBRARIES}
- ${DCMTK_TEST_EXECUTABLES}
- DESTINATION ${ANDROID_TEMPORARY_FILES_LOCATION}
- )
-
- # Set executable permissions
- FOREACH(TEST_EXECUTABLE ${DCMTK_TEST_EXECUTABLES})
- GET_FILENAME_COMPONENT(NAME ${TEST_EXECUTABLE} NAME)
- DCMTK_ANDROID_SHELL(DCMTK_ANDROID_EMULATOR_INSTANCE
- COMMAND chmod 755 ${ANDROID_TEMPORARY_FILES_LOCATION}/${NAME}
- OUTPUT_QUIET
- ERROR_QUIET
- )
- ENDFOREACH()
-
- # Create necessary softlinks
- IF(BUILD_SHARED_LIBS)
- FOREACH(LIBRARY ${DCMTK_ALL_LIBRARIES})
- DCMTK_ANDROID_SHELL(DCMTK_ANDROID_EMULATOR_INSTANCE
- COMMAND ln -s ./${CMAKE_SHARED_LIBRARY_PREFIX}${LIBRARY}${CMAKE_SHARED_LIBRARY_SUFFIX}.${DCMTK_PACKAGE_VERSION} ${ANDROID_TEMPORARY_FILES_LOCATION}/${CMAKE_SHARED_LIBRARY_PREFIX}${LIBRARY}${CMAKE_SHARED_LIBRARY_SUFFIX}.${DCMTK_ABI_VERSION}
- OUTPUT_QUIET
- ERROR_QUIET
- )
- ENDFOREACH()
- ENDIF(BUILD_SHARED_LIBS)
-ENDIF(ANDROID)
--- /dev/null
+#
+# This file is run prior to the unit tests for preparing the testing
+# environment. Currently only required / necessary for running the
+# tests on the Android device emulator.
+#
+
+# Restore the required settings of the CMake configuration step
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+SET(CMAKE_COMMAND "@CMAKE_COMMAND@")
+SET(CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@")
+SET(CMAKE_CURRENT_BINARY_DIR "@CMAKE_BINARY_DIR@")
+SET(CMAKE_FILES_DIRECTORY "@CMAKE_FILES_DIRECTORY@")
+SET(CMAKE_MODULE_PATH "@CMAKE_ROOT@/Modules")
+SET(CMAKE_SHARED_LIBRARY_PREFIX "@CMAKE_SHARED_LIBRARY_PREFIX@")
+SET(CMAKE_SHARED_LIBRARY_SUFFIX "@CMAKE_SHARED_LIBRARY_SUFFIX@")
+SET(CMAKE_HOST_SYSTEM "@CMAKE_HOST_SYSTEM@")
+SET(DCMTK_CMAKE_INCLUDE "@CMAKE_SOURCE_DIR@/@DCMTK_CMAKE_INCLUDE@")
+SET(DCMTK_TEST_EXECUTABLES "@DCMTK_TEST_EXECUTABLES@")
+SET(DCMTK_ALL_LIBRARIES "@DCMTK_ALL_LIBRARIES@")
+SET(DCMTK_LIBRARY_DEPENDENCIES "@DCMTK_LIBRARY_DEPENDENCIES@")
+SET(DCMTK_PACKAGE_VERSION "@DCMTK_PACKAGE_VERSION@")
+SET(DCMTK_ABI_VERSION "@DCMTK_ABI_VERSION@")
+SET(BUILD_SHARED_LIBS "@BUILD_SHARED_LIBS@")
+SET(DCMTK_DICOM_DICTIONARIES "@DCMTK_DICOM_DICTIONARIES@")
+SET(ANDROID "@ANDROID@")
+SET(ANDROID_ADB_PROGRAM "@ANDROID_ADB_PROGRAM@")
+SET(ANDROID_ANDROID_PROGRAM "@ANDROID_ANDROID_PROGRAM@")
+SET(ANDROID_EMULATOR_PROGRAM "@ANDROID_EMULATOR_PROGRAM@")
+SET(ANDROID_EMULATOR_AVD "@ANDROID_EMULATOR_AVD@")
+SET(ANDROID_RUNTIME_LIBRARIES "@ANDROID_RUNTIME_LIBRARIES@")
+SET(ANDROID_TEMPORARY_FILES_LOCATION "@ANDROID_TEMPORARY_FILES_LOCATION@")
+# Emulate some required CMake commands while running inside CTest
+INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/CTest/dcmtkCTestMacros.cmake)
+# For DCMTK_UNSET_XXX
+INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/dcmtkMacros.cmake)
+# Load required functions for controlling the Android device emulator
+INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/dcmtkUseAndroidSDK.cmake)
+
+# Prepare the Android testing environment
+# Prepare the emulator
+DCMTK_ANDROID_START_EMULATOR(DCMTK_ANDROID_EMULATOR_INSTANCE)
+DCMTK_ANDROID_WAIT_FOR_EMULATOR(DCMTK_ANDROID_EMULATOR_INSTANCE)
+
+# Get the emulator's name for emitting a shutdown command when done
+DCMTK_ANDROID_GET_OBJECT_PROPERTIES(DCMTK_ANDROID_EMULATOR_INSTANCE)
+DCMTK_ANDROID_STOP_EMULATOR_COMMAND(STOP_EMULATOR "${EMULATOR_NAME}")
+DCMTK_ANDROID_EMULATOR_SHUTDOWN_MESSAGE(STOP_MESSAGE)
+# Note: no quotation marks around STOP_MESSAGE, since it contains the message
+# and the message type (e.g. STATUS)
+MESSAGE_COMMAND(STOP_MESSAGE ${STOP_MESSAGE})
+# CTEST_CUSTOM_POST_TESTS executes a sequence of 'non CMake' commands separated
+# by ';' characters. Therefore the sequence a single command consists of must
+# be translated appropriately first
+STRING(REPLACE ";" " " STOP_EMULATOR "${STOP_EMULATOR}")
+STRING(REPLACE ";" " " STOP_MESSAGE "${STOP_MESSAGE}")
+# Register the cleanup hooks
+SET(CTEST_CUSTOM_POST_TEST "${STOP_MESSAGE}" "${STOP_EMULATOR}")
+
+# Set the current emulator instance handle via an environment variable
+SET(ENV{DCMTK_ANDROID_EMULATOR_INSTANCE} "${DCMTK_ANDROID_EMULATOR_INSTANCE}")
+
+# Collect the list of required libraries
+IF(BUILD_SHARED_LIBS)
+ FOREACH(LIBRARY ${DCMTK_ALL_LIBRARIES})
+ LIST(APPEND DCMTK_CREATED_SHARED_LIBRARIES "${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}${LIBRARY}${CMAKE_SHARED_LIBRARY_SUFFIX}.${DCMTK_PACKAGE_VERSION}")
+ ENDFOREACH()
+ENDIF(BUILD_SHARED_LIBS)
+
+# Transmit the required executables, libraries and dictionaries to the emulator
+DCMTK_ANDROID_PUSH(DCMTK_ANDROID_EMULATOR_INSTANCE
+ ${ANDROID_RUNTIME_LIBRARIES}
+ ${DCMTK_LIBRARY_DEPENDENCIES}
+ ${DCMTK_CREATED_SHARED_LIBRARIES}
+ ${DCMTK_TEST_EXECUTABLES}
+ ${DCMTK_DICOM_DICTIONARIES}
+ DESTINATION ${ANDROID_TEMPORARY_FILES_LOCATION}
+)
+
+# Set executable permissions
+FOREACH(TEST_EXECUTABLE ${DCMTK_TEST_EXECUTABLES})
+ GET_FILENAME_COMPONENT(NAME "${TEST_EXECUTABLE}" NAME)
+ DCMTK_ANDROID_SHELL(DCMTK_ANDROID_EMULATOR_INSTANCE
+ COMMAND chmod 755 "${ANDROID_TEMPORARY_FILES_LOCATION}/${NAME}"
+ OUTPUT_QUIET
+ ERROR_QUIET
+ )
+ENDFOREACH()
+
+# Create necessary softlinks
+IF(BUILD_SHARED_LIBS)
+ FOREACH(LIBRARY ${DCMTK_ALL_LIBRARIES})
+ DCMTK_ANDROID_SHELL(DCMTK_ANDROID_EMULATOR_INSTANCE
+ COMMAND ln -s "./${CMAKE_SHARED_LIBRARY_PREFIX}${LIBRARY}${CMAKE_SHARED_LIBRARY_SUFFIX}.${DCMTK_PACKAGE_VERSION}" "${ANDROID_TEMPORARY_FILES_LOCATION}/${CMAKE_SHARED_LIBRARY_PREFIX}${LIBRARY}${CMAKE_SHARED_LIBRARY_SUFFIX}.${DCMTK_ABI_VERSION}"
+ OUTPUT_QUIET
+ ERROR_QUIET
+ )
+ ENDFOREACH()
+ENDIF(BUILD_SHARED_LIBS)
--- /dev/null
+#
+# This file ensures that the wineserver is spawned before running the unit
+# tests, such that CTest will not attach itself to it. This is an ugly hack
+# workaround, but what can you do?
+#
+
+SET(ENV{WINEPREFIX} "@DCMTK_WINEPREFIX@")
+SET(ENV{DCMDICTPATH} "@DCMDICTPATH@")
+SET(WINE_WINE_PROGRAM "@WINE_WINE_PROGRAM@")
+
+# spawn the winserver using 'cmd /C call' -> effectively NOP
+# spawn it using 'sh', such that this script does not attach itself to it.
+EXECUTE_PROCESS(COMMAND
+ sh -c "\"${WINE_WINE_PROGRAM}\" cmd /C call"
+ OUTPUT_FILE "/dev/null"
+ ERROR_FILE "/dev/null"
+)
+++ /dev/null
-#
-# This file is used to recover the necessary CMake cache variables while
-# running the unit tests.
-#
-
-# Minimum CMake version required
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-
-SET(CMAKE_COMMAND "@CMAKE_COMMAND@")
-SET(CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@")
-SET(CMAKE_CURRENT_BINARY_DIR "@CMAKE_BINARY_DIR@")
-SET(CMAKE_FILES_DIRECTORY "@CMAKE_FILES_DIRECTORY@")
-SET(CMAKE_MODULE_PATH "@CMAKE_ROOT@/Modules")
-SET(CMAKE_SHARED_LIBRARY_PREFIX "@CMAKE_SHARED_LIBRARY_PREFIX@")
-SET(CMAKE_SHARED_LIBRARY_SUFFIX "@CMAKE_SHARED_LIBRARY_SUFFIX@")
-SET(CMAKE_HOST_SYSTEM "@CMAKE_HOST_SYSTEM@")
-SET(DCMTK_CMAKE_INCLUDE "@CMAKE_SOURCE_DIR@/@DCMTK_CMAKE_INCLUDE@")
-SET(DCMTK_TEST_EXECUTABLES "@DCMTK_TEST_EXECUTABLES@")
-SET(DCMTK_ALL_LIBRARIES "@DCMTK_ALL_LIBRARIES@")
-SET(DCMTK_LIBRARY_DEPENDENCIES "@DCMTK_LIBRARY_DEPENDENCIES@")
-SET(DCMTK_PACKAGE_VERSION "@DCMTK_PACKAGE_VERSION@")
-SET(DCMTK_ABI_VERSION "@DCMTK_ABI_VERSION@")
-SET(BUILD_SHARED_LIBS "@BUILD_SHARED_LIBS@")
-
-# Variables used when cross compiling for Android, will be unset otherwise
-SET(ANDROID "@ANDROID@")
-IF(ANDROID)
- SET(ANDROID_ADB_PROGRAM "@ANDROID_ADB_PROGRAM@")
- SET(ANDROID_ANDROID_PROGRAM "@ANDROID_ANDROID_PROGRAM@")
- SET(ANDROID_EMULATOR_PROGRAM "@ANDROID_EMULATOR_PROGRAM@")
- SET(ANDROID_EMULATOR_AVD "@ANDROID_EMULATOR_AVD@")
- SET(ANDROID_RUNTIME_LIBRARIES "@ANDROID_RUNTIME_LIBRARIES@")
- SET(ANDROID_TEMPORARY_FILES_LOCATION "@ANDROID_TEMPORARY_FILES_LOCATION@")
-ELSE(ANDROID)
- UNSET(ANDROID)
-ENDIF(ANDROID)
--- /dev/null
+#
+# This file is used to executed given unit test commands locally, handling
+# additional arguments like 'exhaustive' and setting the DCMDICTPATH
+# environment variable appropriately.
+#
+
+SET(ENV{DCMDICTPATH} "@DCMDICTPATH@")
+
+EXECUTE_PROCESS(COMMAND
+ "${DCMTK_CTEST_TESTCASE_COMMAND}" ${DCMTK_CTEST_EXTRA_ARGUMENTS} "${DCMTK_CTEST_TEST_NAME}"
+ RESULT_VARIABLE RESULT
+)
+
+# We cannot forward the result value to CMake, so print it instead and let CMake
+# return with code '1' or whatever it deems appropriate to notify about an error.
+IF(RESULT)
+ MESSAGE(FATAL_ERROR "Test command returned: ${RESULT}")
+ENDIF()
#
# This file is used to executed given unit test commands on a previously
-# initialize Android device emulator instance
+# initialize Android device emulator instance, handling additional arguments
+# like 'exhaustive' and setting the DCMDICTPATH environment variable
+# appropriately.
#
# Restore the required settings of the CMake configuration step
-INCLUDE(@CMAKE_BINARY_DIR@/dcmtkCTestConfig.cmake NO_POLICY_SCOPE)
-
-# Load required functions for accessing the Android device emulator
+SET(CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@")
+SET(CMAKE_CURRENT_BINARY_DIR "@CMAKE_BINARY_DIR@")
+SET(CMAKE_FILES_DIRECTORY "@CMAKE_FILES_DIRECTORY@")
+SET(DCMTK_CMAKE_INCLUDE "@CMAKE_SOURCE_DIR@/@DCMTK_CMAKE_INCLUDE@")
+SET(DCMDICTPATH "@DCMDICTPATH@")
+SET(ANDROID_ADB_PROGRAM "@ANDROID_ADB_PROGRAM@")
+SET(ANDROID_TEMPORARY_FILES_LOCATION "@ANDROID_TEMPORARY_FILES_LOCATION@")
+# Load required functions for controlling the Android device emulator
INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/dcmtkUseAndroidSDK.cmake)
# Restore the Android device emulator instance handle
-SET(DCMTK_ANDROID_EMULATOR_INSTANCE @DCMTK_ANDROID_EMULATOR_INSTANCE@)
+SET(DCMTK_ANDROID_EMULATOR_INSTANCE "$ENV{DCMTK_ANDROID_EMULATOR_INSTANCE}")
# Run the actual testcase on the remote device
DCMTK_ANDROID_SHELL(DCMTK_ANDROID_EMULATOR_INSTANCE
- COMMAND "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${ANDROID_TEMPORARY_FILES_LOCATION}" ${DCMTK_CTEST_TESTCASE_COMMAND}
- WORKING_DIRECTORY ${ANDROID_TEMPORARY_FILES_LOCATION}
+ COMMAND "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${ANDROID_TEMPORARY_FILES_LOCATION}" "DCMDICTPATH=${DCMDICTPATH}" "${DCMTK_CTEST_TESTCASE_COMMAND}" ${DCMTK_CTEST_EXTRA_ARGUMENTS} "${DCMTK_CTEST_TEST_NAME}"
+ WORKING_DIRECTORY "${ANDROID_TEMPORARY_FILES_LOCATION}"
RESULT_VARIABLE RESULT
)
-# We cannot forward the result value to CMake, so print it instead and let CMake
+# We cannot forward the result value to CTest, so print it instead and let CMake
# return with code '1' or whatever it deems appropriate to notify about an error.
IF(RESULT)
MESSAGE(FATAL_ERROR "Test command returned: ${RESULT}")
--- /dev/null
+#
+# this file is used to execute the unit tests with the -x option injected
+#
+
+SET(ENV{DCMTK_CTEST_EXTRA_ARGUMENTS} "-x")
+EXECUTE_PROCESS(COMMAND ${CMAKE_CTEST_COMMAND})
--- /dev/null
+#
+# This file is used to executed given unit test commands using wine, handling
+# additional arguments like 'exhaustive' and setting the DCMDICTPATH
+# environment variable appropriately. It uses the prepared wineprefix to
+# load the MinGW C++ runtime (stdc++.dll etc.) and helps to detach the
+# wineserver process from CTest such that it does not hang waiting for it to
+# shutdown.
+#
+
+SET(ENV{WINEPREFIX} "@DCMTK_WINEPREFIX@")
+SET(ENV{DCMDICTPATH} "@DCMDICTPATH@")
+SET(WINE_WINE_PROGRAM "@WINE_WINE_PROGRAM@")
+
+EXECUTE_PROCESS(COMMAND
+ "${WINE_WINE_PROGRAM}" "${DCMTK_CTEST_TESTCASE_COMMAND}" ${DCMTK_CTEST_EXTRA_ARGUMENTS} "${DCMTK_CTEST_TEST_NAME}"
+ RESULT_VARIABLE RESULT
+)
+
+# We cannot forward the result value to CMake, so print it instead and let CMake
+# return with code '1' or whatever it deems appropriate to notify about an error.
+IF(RESULT)
+ MESSAGE(FATAL_ERROR "Test command returned: ${RESULT}")
+ENDIF()
MESSAGE(STATUS "Looking for prototype of ${SYMBOL}")
TRY_COMPILE(${VARIABLE}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.cxx
+ "${CMAKE_BINARY_DIR}"
+ "${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.cxx"
CMAKE_FLAGS
-DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS}
+ "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
"${CHECK_SYMBOL_EXISTS_LIBS}"
${DCMTK_TRY_COMPILE_REQUIRED_CMAKE_FLAGS}
OUTPUT_VARIABLE OUTPUT)
IF(${VARIABLE})
MESSAGE(STATUS "Looking for prototype of ${SYMBOL} - found")
SET(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ FILE(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log"
"Determining if the ${SYMBOL} "
"exist passed with the following output:\n"
"${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.ccc:\n"
ELSE(${VARIABLE})
MESSAGE(STATUS "Looking for prototype of ${SYMBOL} - not found.")
SET(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ FILE(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
"Determining if the ${SYMBOL} "
"exist failed with the following output:\n"
"${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.cxx:\n"
SET(DCMTK_MODULES "@DCMTK_MODULES@")
SET(DCMTK_LIBRARIES "@DCMTK_LIBRARY_TARGETS@")
-# DCMTK build options
+# Optional DCMTK 3rd party libraries
SET(DCMTK_WITH_TIFF @DCMTK_WITH_TIFF@)
SET(DCMTK_WITH_PNG @DCMTK_WITH_PNG@)
SET(DCMTK_WITH_XML @DCMTK_WITH_XML@)
SET(DCMTK_WITH_OPENSSL @DCMTK_WITH_OPENSSL@)
SET(DCMTK_WITH_SNDFILE @DCMTK_WITH_SNDFILE@)
SET(DCMTK_WITH_ICONV @DCMTK_WITH_ICONV@)
+SET(DCMTK_WITH_STDLIBC_ICONV @DCMTK_WITH_STDLIBC_ICONV@)
+SET(DCMTK_WITH_ICU @DCMTK_WITH_ICU@)
+SET(DCMTK_WITH_WRAP @DCMTK_WITH_WRAP@)
+SET(DCMTK_WITH_DOXYGEN @DCMTK_WITH_DOXYGEN@)
+
+# Dictionary-related
+SET(DCMTK_ENABLE_BUILTIN_DICTIONARY @DCMTK_ENABLE_BUILTIN_DICTIONARY@)
+SET(DCMTK_ENABLE_EXTERNAL_DICTIONARY @DCMTK_ENABLE_EXTERNAL_DICTIONARY@)
SET(DCMTK_ENABLE_PRIVATE_TAGS @DCMTK_ENABLE_PRIVATE_TAGS@)
-SET(DCMTK_WITH_THREADS @DCMTK_WITH_THREADS@)
+
+# Compiler / standard library features
+SET(DCMTK_ENABLE_CXX11 @DCMTK_ENABLE_CXX11@)
+SET(DCMTK_CXX11_FLAGS @DCMTK_CXX11_FLAGS@)
+SET(DCMTK_ENABLE_STL @DCMTK_ENABLE_STL@)
# DCMTK shared libraries
SET(DCMTK_SHARED_LIBRARIES @BUILD_SHARED_LIBS@)
SET(DCMTK_SINGLE_SHARED_LIBRARY @BUILD_SINGLE_SHARED_LIBRARY@)
# DCMTK additional options
+SET(DCMTK_WITH_THREADS @DCMTK_WITH_THREADS@)
SET(DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS @DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS@)
SET(DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS @DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS@)
SET(DCMTK_WIDE_CHAR_MAIN_FUNCTION @DCMTK_WIDE_CHAR_MAIN_FUNCTION@)
+SET(DCMTK_ENABLE_LFS @DCMTK_ENABLE_LFS@)
SET_AND_CHECK(DCMTK_TARGETS "@PACKAGE_DCMTK_CMKDIR_CONFIG@/DCMTKTargets.cmake")
+++ /dev/null
-#
-# DCMTKConfig.cmake - DCMTK CMake configuration file for external projects
-#
-# This is the old version that is used by CMake versions lower than 2.8.8
-# which introduced the more convenient CONFIGURE_PACKAGE_CONFIG_FILE command.
-# As a result, this file lacks some information compared to the
-# CONFIGURE_PACKAGE_CONFIG_FILE version.
-#
-
-# Basic version information
-SET(DCMTK_MAJOR_VERSION @DCMTK_MAJOR_VERSION@)
-SET(DCMTK_MINOR_VERSION @DCMTK_MINOR_VERSION@)
-SET(DCMTK_BUILD_VERSION @DCMTK_BUILD_VERSION@)
-
-# DCMTK libraries and modules
-SET(DCMTK_MODULES "@DCMTK_MODULES@")
-SET(DCMTK_LIBRARIES "@DCMTK_ALL_LIBRARIES@")
-
-# DCMTK build options
-SET(DCMTK_WITH_TIFF @DCMTK_WITH_TIFF@)
-SET(DCMTK_WITH_PNG @DCMTK_WITH_PNG@)
-SET(DCMTK_WITH_XML @DCMTK_WITH_XML@)
-SET(DCMTK_WITH_ZLIB @DCMTK_WITH_ZLIB@)
-SET(DCMTK_WITH_OPENSSL @DCMTK_WITH_OPENSSL@)
-SET(DCMTK_WITH_SNDFILE @DCMTK_WITH_SNDFILE@)
-SET(DCMTK_WITH_ICONV @DCMTK_WITH_ICONV@)
-SET(DCMTK_ENABLE_PRIVATE_TAGS @DCMTK_ENABLE_PRIVATE_TAGS@)
-SET(DCMTK_WITH_THREADS @DCMTK_WITH_THREADS@)
-
-# DCMTK shared libraries
-SET(DCMTK_SHARED_LIBRARIES @BUILD_SHARED_LIBS@)
-SET(DCMTK_SINGLE_SHARED_LIBRARY @BUILD_SINGLE_SHARED_LIBRARY@)
-
-# DCMTK additional options
-SET(DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS @DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS@)
-SET(DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS @DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS@)
-SET(DCMTK_WIDE_CHAR_MAIN_FUNCTION @DCMTK_WIDE_CHAR_MAIN_FUNCTION@)
--- /dev/null
+#
+# DCMTKConfig.cmake - DCMTK CMake configuration file for external projects
+#
+# This is the old version that is used by CMake versions lower than 2.8.8
+# which introduced the more convenient CONFIGURE_PACKAGE_CONFIG_FILE command.
+# As a result, this file lacks some information compared to the
+# CONFIGURE_PACKAGE_CONFIG_FILE version.
+#
+
+# Basic version information
+SET(DCMTK_MAJOR_VERSION @DCMTK_MAJOR_VERSION@)
+SET(DCMTK_MINOR_VERSION @DCMTK_MINOR_VERSION@)
+SET(DCMTK_BUILD_VERSION @DCMTK_BUILD_VERSION@)
+
+# DCMTK libraries and modules
+SET(DCMTK_MODULES "@DCMTK_MODULES@")
+SET(DCMTK_LIBRARIES "@DCMTK_LIBRARY_TARGETS@")
+
+# Optional DCMTK 3rd party libraries
+SET(DCMTK_WITH_TIFF @DCMTK_WITH_TIFF@)
+SET(DCMTK_WITH_PNG @DCMTK_WITH_PNG@)
+SET(DCMTK_WITH_XML @DCMTK_WITH_XML@)
+SET(DCMTK_WITH_ZLIB @DCMTK_WITH_ZLIB@)
+SET(DCMTK_WITH_OPENSSL @DCMTK_WITH_OPENSSL@)
+SET(DCMTK_WITH_SNDFILE @DCMTK_WITH_SNDFILE@)
+SET(DCMTK_WITH_ICONV @DCMTK_WITH_ICONV@)
+SET(DCMTK_WITH_STDLIBC_ICONV @DCMTK_WITH_STDLIBC_ICONV@)
+SET(DCMTK_WITH_ICU @DCMTK_WITH_ICU@)
+SET(DCMTK_WITH_WRAP @DCMTK_WITH_WRAP@)
+SET(DCMTK_WITH_DOXYGEN @DCMTK_WITH_DOXYGEN@)
+
+# Dictionary-related
+SET(DCMTK_ENABLE_BUILTIN_DICTIONARY @DCMTK_ENABLE_BUILTIN_DICTIONARY@)
+SET(DCMTK_ENABLE_EXTERNAL_DICTIONARY @DCMTK_ENABLE_EXTERNAL_DICTIONARY@)
+SET(DCMTK_ENABLE_PRIVATE_TAGS @DCMTK_ENABLE_PRIVATE_TAGS@)
+
+# Compiler / standard library features
+SET(DCMTK_ENABLE_CXX11 @DCMTK_ENABLE_CXX11@)
+SET(DCMTK_CXX11_FLAGS @DCMTK_CXX11_FLAGS@)
+SET(DCMTK_ENABLE_STL @DCMTK_ENABLE_STL@)
+
+# DCMTK shared libraries
+SET(DCMTK_SHARED_LIBRARIES @BUILD_SHARED_LIBS@)
+SET(DCMTK_SINGLE_SHARED_LIBRARY @BUILD_SINGLE_SHARED_LIBRARY@)
+
+# DCMTK additional options
+SET(DCMTK_WITH_THREADS @DCMTK_WITH_THREADS@)
+SET(DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS @DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS@)
+SET(DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS @DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS@)
+SET(DCMTK_WIDE_CHAR_MAIN_FUNCTION @DCMTK_WIDE_CHAR_MAIN_FUNCTION@)
+SET(DCMTK_ENABLE_LFS @DCMTK_ENABLE_LFS@)
# Get and store all executable targets to DCMTKTargets.cmake within build's main dir
GET_PROPERTY(DCMTK_EXECUTABLE_TARGETS GLOBAL PROPERTY DCMTK_EXECUTABLE_TARGETS)
-EXPORT(TARGETS ${DCMTK_EXECUTABLE_TARGETS} APPEND FILE ${DCMTK_BUILD_CMKDIR}/DCMTKTargets.cmake)
+EXPORT(TARGETS ${DCMTK_EXECUTABLE_TARGETS} APPEND FILE "${DCMTK_BUILD_CMKDIR}/DCMTKTargets.cmake")
# Get and store libraries to DCMTKTargets.cmake within the build's main dir
GET_PROPERTY(DCMTK_LIBRARY_TARGETS GLOBAL PROPERTY DCMTK_LIBRARY_TARGETS)
-EXPORT(TARGETS ${DCMTK_LIBRARY_TARGETS} APPEND FILE ${DCMTK_BUILD_CMKDIR}/DCMTKTargets.cmake)
+EXPORT(TARGETS ${DCMTK_LIBRARY_TARGETS} APPEND FILE "${DCMTK_BUILD_CMKDIR}/DCMTKTargets.cmake")
# Create DCMTConfigVersion.cmake with basic DCMTK version information (build tree)
-SET(DCMTK_CONFIG_VERSION ${DCMTK_BUILD_CMKDIR}/DCMTKConfigVersion.cmake)
+SET(DCMTK_CONFIG_VERSION "${DCMTK_BUILD_CMKDIR}/DCMTKConfigVersion.cmake")
WRITE_BASIC_PACKAGE_VERSION_FILE(
${DCMTK_CONFIG_VERSION}
VERSION ${DCMTK_MAJOR_VERSION}.${DCMTK_MINOR_VERSION}.${DCMTK_BUILD_VERSION}
# build and install tree versions of the file.
# Case 1: Configure 'DCMTKConfig.cmake' for a build tree.
-SET(DCMTK_CMKDIR_CONFIG ${DCMTK_BUILD_CMKDIR})
+SET(DCMTK_CMKDIR_CONFIG "${DCMTK_BUILD_CMKDIR}")
# Collect include paths
SET(DCMTK_INCLUDE_DIR_CONFIGS
"SET_AND_CHECK(DCMTK_config_INCLUDE_DIR \"${DCMTK_BINARY_DIR}/config/include/dcmtk/config\")")
SET(DCMTK_CONFIG_CODE "${DCMTK_CONFIG_CODE}list(APPEND DCMTK_INCLUDE_DIRS \"${DCMTK_SOURCE_DIR}/${module}/include\")\n")
ENDFOREACH(module)
SET(DCMTK_CONFIG_CODE "${DCMTK_CONFIG_CODE}##################################################")
-SET(dcmtk_config ${DCMTK_BUILD_CMKDIR}/DCMTKConfig.cmake)
+SET(dcmtk_config "${DCMTK_BUILD_CMKDIR}/DCMTKConfig.cmake")
# Actually configure file and write it to build's main directory
CONFIGURE_PACKAGE_CONFIG_FILE(
CMake/DCMTKConfig.cmake.in
${dcmtk_config}
- INSTALL_DESTINATION ${CMAKE_BINARY_DIR}
+ INSTALL_DESTINATION "${CMAKE_BINARY_DIR}"
PATH_VARS DCMTK_CMKDIR_CONFIG DCMTK_INCLUDE_DIR_CONFIGS
NO_CHECK_REQUIRED_COMPONENTS_MACRO)
# Case 2: Configure 'DCMTKConfig.cmake' for an install tree
-SET(DCMTK_CMKDIR_CONFIG ${DCMTK_INSTALL_CMKDIR})
+SET(DCMTK_CMKDIR_CONFIG "${DCMTK_INSTALL_CMKDIR}")
# Collect include paths
SET(DCMTK_INCLUDE_DIR_CONFIGS
"SET_AND_CHECK(DCMTK_config_INCLUDE_DIR \"\${PACKAGE_PREFIX_DIR}/include/dcmtk/config\")")
SET(DCMTK_CONFIG_CODE "####### Expanded from \@DCMTK_CONFIG_CODE\@ #######\n")
SET(DCMTK_CONFIG_CODE "${DCMTK_CONFIG_CODE}list(APPEND DCMTK_INCLUDE_DIRS \"\${PACKAGE_PREFIX_DIR}/include\")\n")
SET(DCMTK_CONFIG_CODE "${DCMTK_CONFIG_CODE}##################################################")
-SET(DCMTK_INSTALL_CONFIG ${CMAKE_BINARY_DIR}/CMakeFiles/DCMTKConfig.cmake)
+SET(DCMTK_INSTALL_CONFIG "${CMAKE_BINARY_DIR}/CMakeFiles/DCMTKConfig.cmake")
# Actually configure file and set rule to install it to installation subdir
CONFIGURE_PACKAGE_CONFIG_FILE(
CMake/DCMTKConfig.cmake.in
- ${DCMTK_INSTALL_CONFIG}
- INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/${DCMTK_INSTALL_CMKDIR}
+ "${DCMTK_INSTALL_CONFIG}"
+ INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}/${DCMTK_INSTALL_CMKDIR}"
PATH_VARS DCMTK_CMKDIR_CONFIG DCMTK_INCLUDE_DIR_CONFIGS
NO_CHECK_REQUIRED_COMPONENTS_MACRO)
+# Set build configuration to use for configuration tests
+IF(CMAKE_BUILD_TYPE)
+ SET(CMAKE_TRY_COMPILE_CONFIGURATION "${CMAKE_BUILD_TYPE}")
+ELSE(CMAKE_BUILD_TYPE)
+ SET(CMAKE_TRY_COMPILE_CONFIGURATION "Release")
+ENDIF(CMAKE_BUILD_TYPE)
+
# Compiled-in dictionary support
IF(DCMTK_ENABLE_BUILTIN_DICTIONARY)
SET(ENABLE_BUILTIN_DICTIONARY 1)
DCMTK_UNSET(SYSTEM_PROCESSOR)
# Configure dictionary path and install prefix
-IF(WIN32 AND NOT CYGWIN AND NOT MINGW)
+IF(WIN32 AND NOT CYGWIN)
# Set DCMTK_PREFIX needed within some code. Be sure that all / are replaced by \\.
SET(DCMTK_PREFIX "${CMAKE_INSTALL_PREFIX}")
STRING(REGEX REPLACE "/" "\\\\\\\\" DCMTK_PREFIX "${DCMTK_PREFIX}")
# Set default directory for configuration and support data.
SET(DCMTK_DEFAULT_CONFIGURATION_DIR "")
SET(DCMTK_DEFAULT_SUPPORT_DATA_DIR "")
-ELSE(WIN32 AND NOT CYGWIN AND NOT MINGW)
+ELSE(WIN32 AND NOT CYGWIN)
# Set DCMTK_PREFIX needed within some code.
SET(DCMTK_PREFIX "${CMAKE_INSTALL_PREFIX}")
# Set path and multiple path separator being used in dictionary code etc.
SET(PATH_SEPARATOR "/")
SET(ENVIRONMENT_PATH_SEPARATOR ":")
# Set dictionary path to the data dir inside install main dir (prefix).
- if (DCMTK_ENABLE_EXTERNAL_DICTIONARY)
+ IF(DCMTK_ENABLE_EXTERNAL_DICTIONARY)
SET(DCM_DICT_DEFAULT_PATH "${DCMTK_PREFIX}/${DCMTK_INSTALL_DATDIR}/dicom.dic")
# If private dictionary should be utilized, add it to default dictionary path.
IF(ENABLE_PRIVATE_TAGS)
SET(DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH}:${DCMTK_PREFIX}/${DCMTK_INSTALL_DATDIR}/private.dic")
ENDIF(ENABLE_PRIVATE_TAGS)
- ELSE (DCMTK_ENABLE_EXTERNAL_DICTIONARY)
+ ELSE(DCMTK_ENABLE_EXTERNAL_DICTIONARY)
SET(DCM_DICT_DEFAULT_PATH "")
- ENDIF (DCMTK_ENABLE_EXTERNAL_DICTIONARY)
+ ENDIF(DCMTK_ENABLE_EXTERNAL_DICTIONARY)
# Set default directory for configuration and support data.
SET(DCMTK_DEFAULT_CONFIGURATION_DIR "${DCMTK_PREFIX}/${DCMTK_INSTALL_ETCDIR}/")
SET(DCMTK_DEFAULT_SUPPORT_DATA_DIR "${DCMTK_PREFIX}/${DCMTK_INSTALL_DATDIR}/")
-ENDIF(WIN32 AND NOT CYGWIN AND NOT MINGW)
+ENDIF(WIN32 AND NOT CYGWIN)
# Check the sizes of various types
INCLUDE (CheckTypeSize)
CHECK_TYPE_SIZE("void*" SIZEOF_VOID_P)
# Check for include files, libraries, and functions
-INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFileCXX.cmake)
-INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake)
-INCLUDE(${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake)
-INCLUDE(${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake)
-INCLUDE(${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake)
-INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/CheckFunctionWithHeaderExists.cmake)
+INCLUDE("${DCMTK_CMAKE_INCLUDE}CMake/dcmtkTryCompile.cmake")
+INCLUDE("${DCMTK_CMAKE_INCLUDE}CMake/dcmtkTryRun.cmake")
+INCLUDE("${CMAKE_ROOT}/Modules/CheckIncludeFileCXX.cmake")
+INCLUDE("${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake")
+INCLUDE("${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake")
+INCLUDE("${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake")
+INCLUDE("${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake")
+INCLUDE("${DCMTK_CMAKE_INCLUDE}CMake/CheckFunctionWithHeaderExists.cmake")
+INCLUDE(CheckCXXSymbolExists OPTIONAL)
+IF(NOT COMMAND CHECK_CXX_SYMBOL_EXISTS)
+ # fallback implementation for old CMake Versions
+ FUNCTION(CHECK_CXX_SYMBOL_EXISTS SYMBOL FILES VAR)
+ SET(CODE)
+ FOREACH(FILE ${FILES})
+ SET(CODE "${CODE}#include <${FILE}>\n")
+ ENDFOREACH()
+ SET(CODE "${CODE}\nint main(int argc, char** argv)\n{\n (void)argv;\n#ifndef ${SYMBOL}\n return ((int*)(&${SYMBOL}))[argc];\n#else\n (void)argc;\n return 0;\n#endif\n}\n")
+ DCMTK_TRY_COMPILE("${VAR}" "the compiler supports ${SYMBOL}" "${CODE}")
+ ENDFUNCTION()
+ENDIF(NOT COMMAND CHECK_CXX_SYMBOL_EXISTS)
+
+FOREACH(FUNC "__FUNCTION__" "__PRETTY_FUNCTION__" "__func__")
+ CHECK_SYMBOL_EXISTS("${FUNC}" "" "HAVE_${FUNC}_C_MACRO")
+ # test if the C++ compiler also supports them (e.g. SunPro doesn't)
+ CHECK_CXX_SYMBOL_EXISTS("${FUNC}" "" "HAVE_${FUNC}_CXX_MACRO")
+ IF(HAVE_${FUNC}_C_MACRO AND HAVE_${FUNC}_CXX_MACRO)
+ SET("HAVE_${FUNC}_MACRO" 1 CACHE INTERNAL "Have symbol ${FUNC}" FORCE)
+ ELSE()
+ SET("HAVE_${FUNC}_MACRO" CACHE INTERNAL "Have symbol ${FUNC}" FORCE)
+ ENDIF()
+ENDFOREACH()
-CHECK_SYMBOL_EXISTS(__FUNCTION__ "" HAVE___FUNCTION___MACRO)
-CHECK_SYMBOL_EXISTS(__PRETTY_FUNCTION__ "" HAVE___PRETTY_FUNCTION___MACRO)
-CHECK_SYMBOL_EXISTS(__func__ "" HAVE___func___MACRO)
+# prepare include directories for 3rdparty libraries before performing
+# header searches
+IF(ZLIB_INCDIR)
+ LIST(APPEND CMAKE_REQUIRED_INCLUDES "${ZLIB_INCDIR}")
+ENDIF(ZLIB_INCDIR)
+
+IF(ZLIB_INCLUDE_DIRS)
+ LIST(APPEND CMAKE_REQUIRED_INCLUDES "${ZLIB_INCLUDE_DIRS}")
+ENDIF(ZLIB_INCLUDE_DIRS)
+
+IF(LIBPNG_INCDIR)
+ LIST(APPEND CMAKE_REQUIRED_INCLUDES "${LIBPNG_INCDIR}")
+ENDIF(LIBPNG_INCDIR)
+
+IF(PNG_INCLUDE_DIR)
+ LIST(APPEND CMAKE_REQUIRED_INCLUDES "${PNG_INCLUDE_DIR}")
+ENDIF(PNG_INCLUDE_DIR)
+
+IF(OPENSSL_INCDIR)
+ LIST(APPEND CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCDIR}")
+ENDIF(OPENSSL_INCDIR)
# For Windows, hardcode these values to avoid long search times
IF(WIN32 AND NOT CYGWIN)
CHECK_INCLUDE_FILE_CXX("iostream.h" HAVE_IOSTREAM_H)
CHECK_INCLUDE_FILE_CXX("io.h" HAVE_IO_H)
CHECK_INCLUDE_FILE_CXX("iso646.h" HAVE_ISO646_H)
- CHECK_INCLUDE_FILE_CXX("png.h" HAVE_LIBPNG_PNG_H)
+ CHECK_INCLUDE_FILE_CXX("png.h" HAVE_PNG_H)
CHECK_INCLUDE_FILE_CXX("limits.h" HAVE_LIMITS_H)
CHECK_INCLUDE_FILE_CXX("climits" HAVE_CLIMITS)
CHECK_INCLUDE_FILE_CXX("locale.h" HAVE_LOCALE_H)
ENDIF(HAVE_NETINET_IN_H)
CHECK_INCLUDE_FILES("${TCP_H_DEPS};netinet/tcp.h" HAVE_NETINET_TCP_H)
+ IF(NOT HAVE_PNG_H)
+ # <png.h> is unavailable, so test if we need to include it as <libpng/png.h>
+ CHECK_INCLUDE_FILE_CXX("libpng/png.h" HAVE_LIBPNG_PNG_H)
+ ELSE(NOT HAVE_PNG_H)
+ # ensure including <png.h> is preferred
+ DCMTK_UNSET_CACHE(HAVE_LIBPNG_PNG_H)
+ ENDIF(NOT HAVE_PNG_H)
+
# There is no CMake macro to take care of these yet
IF(WIN32 AND NOT CYGWIN AND NOT MINGW)
CHECK_FUNCTION_EXISTS(gethostbyname HAVE_GETHOSTBYNAME)
CHECK_FUNCTION_EXISTS(gethostbyname_r HAVE_GETHOSTBYNAME_R)
CHECK_FUNCTION_EXISTS(gethostbyaddr_r HAVE_GETHOSTBYADDR_R)
- CHECK_FUNCTION_EXISTS(getgrnam_r HAVE_GETGRNAM_R)
- CHECK_FUNCTION_EXISTS(getpwnam_r HAVE_GETPWNAM_R)
CHECK_FUNCTION_EXISTS(gethostname HAVE_GETHOSTNAME)
CHECK_FUNCTION_EXISTS(gethostid HAVE_GETHOSTID)
CHECK_FUNCTION_EXISTS(getlogin HAVE_GETLOGIN)
+ CHECK_FUNCTION_EXISTS(getlogin_r HAVE_GETLOGIN_R)
CHECK_FUNCTION_EXISTS(getpid HAVE_GETPID)
CHECK_FUNCTION_EXISTS(getpwnam HAVE_GETPWNAM)
CHECK_FUNCTION_EXISTS(getsockname HAVE_GETSOCKNAME)
CHECK_FUNCTION_EXISTS(malloc_debug HAVE_MALLOC_DEBUG)
CHECK_FUNCTION_EXISTS(mbstowcs HAVE_MBSTOWCS)
CHECK_FUNCTION_EXISTS(wcstombs HAVE_WCSTOMBS)
- CHECK_FUNCTION_EXISTS(memcmp HAVE_MEMCMP)
- CHECK_FUNCTION_EXISTS(memcpy HAVE_MEMCPY)
CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE)
- CHECK_FUNCTION_EXISTS(memset HAVE_MEMSET)
CHECK_FUNCTION_EXISTS(mkstemp HAVE_MKSTEMP)
CHECK_FUNCTION_EXISTS(mktemp HAVE_MKTEMP)
CHECK_FUNCTION_EXISTS(rindex HAVE_RINDEX)
SET(HEADERS ${HEADERS} windows.h)
ENDIF(HAVE_WINDOWS_H)
+ IF(HAVE_GRP_H)
+ SET(HEADERS ${HEADERS} grp.h)
+ ENDIF(HAVE_GRP_H)
+
IF(HAVE_PWD_H)
SET(HEADERS ${HEADERS} pwd.h)
ENDIF(HAVE_PWD_H)
+ IF(HAVE_DIRENT_H)
+ SET(HEADERS ${HEADERS} dirent.h)
+ ENDIF(HAVE_DIRENT_H)
+
IF(HAVE_SYS_SYSCALL_H)
SET(HEADERS ${HEADERS} sys/syscall.h)
ENDIF(HAVE_SYS_SYSCALL_H)
IF(HAVE_WINSOCK_H)
SET(HEADERS ${HEADERS} winsock.h)
- SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ws2_32 netapi32 wsock32)
+ SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} iphlpapi ws2_32 netapi32 wsock32)
ENDIF(HAVE_WINSOCK_H)
+ IF(HAVE_FENV_H)
+ SET(HEADERS ${HEADERS} fenv.h)
+ ENDIF(HAVE_FENV_H)
+
# std::vsnprintf and std::vsnprintf need the C++ version of the headers.
# We just assume they exist when the C version was found
SET(CXXHEADERS)
SET(CXXHEADERS ${CXXHEADERS} cstddef)
ENDIF(HAVE_CSTDDEF)
+ CHECK_FUNCTIONWITHHEADER_EXISTS(feenableexcept "${HEADERS}" HAVE_PROTOTYPE_FEENABLEEXCEPT)
CHECK_FUNCTIONWITHHEADER_EXISTS(isinf "${HEADERS}" HAVE_PROTOTYPE_ISINF)
CHECK_FUNCTIONWITHHEADER_EXISTS(isnan "${HEADERS}" HAVE_PROTOTYPE_ISNAN)
CHECK_FUNCTIONWITHHEADER_EXISTS(finite "${HEADERS}" HAVE_PROTOTYPE_FINITE)
CHECK_FUNCTIONWITHHEADER_EXISTS(flock "${HEADERS}" HAVE_PROTOTYPE_FLOCK)
CHECK_FUNCTIONWITHHEADER_EXISTS(gethostbyname "${HEADERS}" HAVE_PROTOTYPE_GETHOSTBYNAME)
CHECK_FUNCTIONWITHHEADER_EXISTS(gethostbyname_r "${HEADERS}" HAVE_PROTOTYPE_GETHOSTBYNAME_R)
+ CHECK_FUNCTIONWITHHEADER_EXISTS(gethostbyaddr_r "${HEADERS}" HAVE_PROTOTYPE_GETHOSTBYADDR_R)
CHECK_FUNCTIONWITHHEADER_EXISTS(gethostid "${HEADERS}" HAVE_PROTOTYPE_GETHOSTID)
CHECK_FUNCTIONWITHHEADER_EXISTS(bzero "${HEADERS}" HAVE_PROTOTYPE_BZERO)
CHECK_FUNCTIONWITHHEADER_EXISTS(gethostname "${HEADERS}" HAVE_PROTOTYPE_GETHOSTNAME)
CHECK_FUNCTIONWITHHEADER_EXISTS(connect "${HEADERS}" HAVE_PROTOTYPE_CONNECT)
CHECK_FUNCTIONWITHHEADER_EXISTS(mkstemp "${HEADERS}" HAVE_PROTOTYPE_MKSTEMP)
CHECK_FUNCTIONWITHHEADER_EXISTS(mktemp "${HEADERS}" HAVE_PROTOTYPE_MKTEMP)
+ CHECK_FUNCTIONWITHHEADER_EXISTS(memcmp "${HEADERS}" HAVE_MEMCMP)
+ CHECK_FUNCTIONWITHHEADER_EXISTS(memcpy "${HEADERS}" HAVE_MEMCPY)
+ CHECK_FUNCTIONWITHHEADER_EXISTS(memset "${HEADERS}" HAVE_MEMSET)
CHECK_FUNCTIONWITHHEADER_EXISTS(select "${HEADERS}" HAVE_PROTOTYPE_SELECT)
CHECK_FUNCTIONWITHHEADER_EXISTS(strcasecmp "${HEADERS}" HAVE_PROTOTYPE_STRCASECMP)
CHECK_FUNCTIONWITHHEADER_EXISTS(strncasecmp "${HEADERS}" HAVE_PROTOTYPE_STRNCASECMP)
CHECK_FUNCTIONWITHHEADER_EXISTS("InterlockedIncrement((long*)0)" "${HEADERS}" HAVE_INTERLOCKED_INCREMENT)
CHECK_FUNCTIONWITHHEADER_EXISTS("InterlockedDecrement((long*)0)" "${HEADERS}" HAVE_INTERLOCKED_DECREMENT)
CHECK_FUNCTIONWITHHEADER_EXISTS("_fpclassf(0.0f)" "${HEADERS}" HAVE_PROTOTYPE__FPCLASSF)
+ CHECK_FUNCTIONWITHHEADER_EXISTS("getgrnam_r((char*)0,(group*)0,(char*)0,0,(group**)0)" "${HEADERS}" HAVE_GETGRNAM_R)
+ CHECK_FUNCTIONWITHHEADER_EXISTS("getpwnam_r((char*)0,(passwd*)0,(char*)0,0,(passwd**)0)" "${HEADERS}" HAVE_GETPWNAM_R)
+ CHECK_FUNCTIONWITHHEADER_EXISTS("readdir_r((DIR*)0,(dirent*)0,(dirent**)0)" "${HEADERS}" HAVE_READDIR_R)
CHECK_FUNCTIONWITHHEADER_EXISTS(nanosleep "${HEADERS}" HAVE_PROTOTYPE_NANOSLEEP)
CHECK_FUNCTIONWITHHEADER_EXISTS("&passwd::pw_gecos" "${HEADERS}" HAVE_PASSWD_GECOS)
# TODO: Uncommented because it seems not to make sense. Remove if there are no complaints.
#CHECK_LIBRARY_EXISTS(iostream "" "" HAVE_LIBIOSTREAM)
- #CHECK_LIBRARY_EXISTS(nsl "" "" HAVE_LIBNSL)
- #CHECK_LIBRARY_EXISTS(socket "" "" HAVE_LIBSOCKET)
# Check for some type definitions needed by JasPer and defines them if necessary
# Even if not functions but types are looked for, the script works fine.
CHECK_FUNCTIONWITHHEADER_EXISTS("ulonglong definition" "${HEADERS}" HAVE_ULONGLONG)
CHECK_FUNCTIONWITHHEADER_EXISTS("long long definition" "${HEADERS}" HAVE_LONG_LONG)
CHECK_FUNCTIONWITHHEADER_EXISTS("unsigned long long definition" "${HEADERS}" HAVE_UNSIGNED_LONG_LONG)
+ CHECK_FUNCTIONWITHHEADER_EXISTS("int64_t definition" "${HEADERS}" HAVE_INT64_T)
+ CHECK_FUNCTIONWITHHEADER_EXISTS("uint64_t definition" "${HEADERS}" HAVE_UINT64_T)
# File access stuff
CHECK_FUNCTIONWITHHEADER_EXISTS("fpos64_t definition" "${HEADERS}" HAVE_FPOS64_T)
CHECK_FUNCTIONWITHHEADER_EXISTS("RAND_egd" "openssl/rand.h" HAVE_RAND_EGD ${OPENSSL_LIBS})
ENDIF(DCMTK_WITH_OPENSSL)
+IF(HAVE_LOCKF AND ANDROID)
+ # When Android introduced lockf, they forgot to put the constants like F_LOCK in the
+ # appropriate headers, this tests if they are defined and disables lockf if they are not
+ CHECK_FUNCTIONWITHHEADER_EXISTS("lockf(0, F_LOCK, 0)" "${HEADERS}" HAVE_LOCKF_CONSTANTS)
+ IF(NOT HAVE_LOCKF_CONSTANTS)
+ SET(HAVE_LOCKF FALSE CACHE INTERNAL "lockf implementation is broken")
+ ENDIF()
+ENDIF(HAVE_LOCKF AND ANDROID)
+
# Tests that require a try-compile
-INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/dcmtkTryCompile.cmake)
-INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/dcmtkTryRun.cmake)
+
+IF(HAVE_MATH_H)
+ IF(HAVE_LIBC_H)
+ # checks if <libc.h> and <math.h> cause a problem if libc.h is included extern "C"
+ # and math.h is not. This is the case on QNX 6.2.x and 6.5.x.
+ DCMTK_TRY_COMPILE(INCLUDE_LIBC_H_AS_EXTERN_C "<libc.h> can be included as extern \"C\""
+ "extern \"C\" {
+#include <libc.h>
+}
+#include <math.h>
+int main()
+{
+ int i = 0;
+ return 0;
+}")
+ IF(INCLUDE_LIBC_H_AS_EXTERN_C)
+ SET(INCLUDE_LIBC_H_AS_CXX 0 CACHE INTERNAL "libc.h should be treated as a C++ header")
+ ELSE()
+ SET(INCLUDE_LIBC_H_AS_CXX 1 CACHE INTERNAL "libc.h should be treated as a C++ header")
+ ENDIF()
+ ENDIF(HAVE_LIBC_H)
+
+ # checks if <math.h> must be included as a C++ include file (i.e. without extern "C").
+ # Some sytems (Win32, HP/UX 10) use C++ language features in <math.h>.
+ DCMTK_TRY_COMPILE(INCLUDE_MATH_H_AS_EXTERN_C "<math.h> can be included as extern \"C\""
+ "extern \"C\" {
+#include <math.h>
+}
+int main()
+{
+ int i = 0;
+ return 0;
+}")
+ IF(INCLUDE_MATH_H_AS_EXTERN_C)
+ SET(INCLUDE_MATH_H_AS_CXX 0 CACHE INTERNAL "math.h should be treated as a C++ header")
+ ELSE()
+ SET(INCLUDE_MATH_H_AS_CXX 1 CACHE INTERNAL "math.h should be treated as a C++ header")
+ ENDIF()
+ENDIF(HAVE_MATH_H)
+
IF(NOT DEFINED C_CHAR_UNSIGNED)
MESSAGE(STATUS "Checking signedness of char")
- DCMTK_TRY_RUN(C_CHAR_SIGNED C_CHAR_SIGNED_COMPILED ${CMAKE_BINARY_DIR}/CMakeTmp/Char
- ${DCMTK_SOURCE_DIR}/CMake/dcmtkTestCharSignedness.cc
+ DCMTK_TRY_RUN(C_CHAR_SIGNED C_CHAR_SIGNED_COMPILED "${CMAKE_BINARY_DIR}/CMakeTmp/Char"
+ "${DCMTK_SOURCE_DIR}/CMake/dcmtkTestCharSignedness.cc"
COMPILE_OUTPUT_VARIABLE C_CHAR_SIGNED_COMPILE_OUTPUT)
IF(C_CHAR_SIGNED_COMPILED)
IF(C_CHAR_SIGNED)
}")
# Check for thread type
-IF (HAVE_WINDOWS_H)
- SET(HAVE_INT_TYPE_PTHREAD_T 1)
-ELSE (HAVE_WINDOWS_H)
- DCMTK_TRY_COMPILE(HAVE_INT_TYPE_PTHREAD_T "pthread_t is an integer type"
+IF(HAVE_WINDOWS_H)
+ SET(HAVE_INT_TYPE_PTHREAD_T 1)
+ELSE(HAVE_WINDOWS_H)
+ DCMTK_TRY_COMPILE(HAVE_INT_TYPE_PTHREAD_T "pthread_t is an integer type"
"// test to see if pthread_t is a pointer type or not
#include <pthread.h>
unsigned long l = p;
return 0;
}")
- IF (NOT HAVE_INT_TYPE_PTHREAD_T)
- SET(HAVE_POINTER_TYPE_PTHREAD_T 1 CACHE INTERNAL "Set if pthread_t is a pointer type")
- ELSE (NOT HAVE_INT_TYPE_PTHREAD_T)
- SET(HAVE_POINTER_TYPE_PTHREAD_T 0 CACHE INTERNAL "Set if pthread_t is a pointer type")
- ENDIF (NOT HAVE_INT_TYPE_PTHREAD_T)
+ IF(NOT HAVE_INT_TYPE_PTHREAD_T)
+ SET(HAVE_POINTER_TYPE_PTHREAD_T 1 CACHE INTERNAL "Set if pthread_t is a pointer type")
+ ELSE(NOT HAVE_INT_TYPE_PTHREAD_T)
+ SET(HAVE_POINTER_TYPE_PTHREAD_T 0 CACHE INTERNAL "Set if pthread_t is a pointer type")
+ ENDIF(NOT HAVE_INT_TYPE_PTHREAD_T)
ENDIF(HAVE_WINDOWS_H)
# Check if typename works properly. Only MSC6 really fails here.
return 0;
}")
-# Check for explicit large file support
-DCMTK_TRY_COMPILE(_LARGEFILE64_SOURCE "explicit large file support is available"
- "#define _LARGEFILE64_SOURCE
-#include <stdio.h>
-
-using namespace std;
+# do try compile to detect lfs and flags
+FUNCTION(DCMTK_LFS_TRY_COMPILE VAR FILE FLAGS DEFINITIONS)
+ IF(FLAGS OR DEFINITIONS)
+ SET(OPTIONS " with arguments: \"")
+ ELSE()
+ SET(OPTIONS)
+ ENDIF()
+ IF(DCMTK_TRY_COMPILE_REQUIRED_CMAKE_FLAGS OR FLAGS)
+ SET(CMAKE_FLAGS CMAKE_FLAGS ${DCMTK_TRY_COMPILE_REQUIRED_CMAKE_FLAGS})
+ IF(FLAGS)
+ LIST(APPEND CMAKE_FLAGS "-DCMAKE_C_FLAGS:STRING=${FLAGS}")
+ SET(OPTIONS "${OPTIONS}${FLAGS}")
+ ENDIF()
+ ELSE()
+ SET(CMAKE_FLAGS)
+ ENDIF()
+ IF(DEFINITIONS)
+ SET(COMPILE_DEFINITIONS COMPILE_DEFINITIONS ${DEFINITIONS})
+ IF(FLAGS)
+ SET(OPTIONS "${OPTIONS} ")
+ ENDIF()
+ SET(OPTIONS "${OPTIONS}${DEFINITIONS}")
+ ELSE()
+ SET(COMPILE_DEFINITIONS)
+ ENDIF()
+ IF(FLAGS OR DEFINITIONS)
+ SET(OPTIONS "${OPTIONS}\"")
+ ENDIF()
+ SET(SOURCEFILE "${DCMTK_SOURCE_DIR}/config/tests/${FILE}")
+ TRY_COMPILE(RESULT
+ "${CMAKE_BINARY_DIR}"
+ "${SOURCEFILE}"
+ ${CMAKE_FLAGS}
+ ${COMPILE_DEFINITIONS}
+ OUTPUT_VARIABLE OUTPUT
+ )
+ SET("${VAR}" "${RESULT}" PARENT_SCOPE)
+ IF(RESULT)
+ SET(LOGFILE "CMakeOutput.log")
+ SET(LOG "succeded")
+ ELSE()
+ SET(LOGFILE "CMakeError.log")
+ SET(LOG "failed")
+ ENDIF()
+ FILE(TO_NATIVE_PATH "${SOURCEFILE}" SOURCEFILE)
+ FILE(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${LOGFILE}"
+ "compiling \"${SOURCEFILE}\"${OPTIONS} ${LOG} with the following output:\n"
+ "${OUTPUT}\n"
+ )
+ENDFUNCTION(DCMTK_LFS_TRY_COMPILE)
+
+FUNCTION(DCMTK_CHECK_ENABLE_LFS)
+ # normalize arguments
+ IF(DCMTK_ENABLE_LFS)
+ # for cases insensitive comparison
+ STRING(TOLOWER "${DCMTK_ENABLE_LFS}" DCMTK_ENABLE_LFS)
+ ENDIF()
+ IF(NOT DCMTK_ENABLE_LFS OR DCMTK_ENABLE_LFS MATCHES "^(on|true|yes|1)$")
+ SET(DCMTK_ENABLE_LFS "auto")
+ ELSEIF(DCMTK_ENABLE_LFS MATCHES "^(no|false|0)$")
+ SET(DCMTK_ENABLE_LFS "off")
+ ENDIF()
+ # determin whether lfs64 is available in case it wasn't detected yet it may be used
+ IF(NOT DEFINED DCMTK_LFS64_AVAILABLE AND DCMTK_ENABLE_LFS MATCHES "^(lfs64|auto)$")
+ SET(DCMTK_LFS64_DEFINITIONS)
+ SET(MESSAGE_RESULT "no")
+ SET(MESSAGE "Checking whether explicit large file support (LFS64) is available")
+ MESSAGE(STATUS "${MESSAGE}")
+ DCMTK_LFS_TRY_COMPILE(RESULT "lfs64.cc" "" "")
+ IF(NOT RESULT)
+ DCMTK_LFS_TRY_COMPILE(RESULT "lfs64.cc" "" "-D_LARGEFILE64_SOURCE")
+ IF(RESULT)
+ SET(DCMTK_LFS64_DEFINITIONS "-D_LARGEFILE64_SOURCE")
+ SET(MESSAGE_RESULT "yes, with ${DCMTK_LFS64_DEFINITIONS}")
+ ENDIF()
+ ELSE()
+ SET(MESSAGE_RESULT "yes")
+ ENDIF()
+ IF(RESULT)
+ SET(DCMTK_ENABLE_LFS "lfs64")
+ SET(DCMTK_LFS64_DEFINITIONS "${DCMTK_LFS64_DEFINITIONS}" CACHE INTERNAL "which compiler definitions to set for enabling LFS64 support")
+ ENDIF()
+ SET(DCMTK_LFS64_AVAILABLE "${RESULT}" CACHE INTERNAL "whether LFS64 is available or not" FORCE)
+ MESSAGE(STATUS "${MESSAGE} -- ${MESSAGE_RESULT}")
+ ENDIF()
+ # determin whether lfs is available in case it wasn't detected yet it may be used
+ IF(NOT DEFINED DCMTK_LFS_AVAILABLE AND DCMTK_ENABLE_LFS MATCHES "^(lfs|auto)$")
+ SET(DCMTK_LFS_FLAGS)
+ SET(DCMTK_LFS_DEFINITIONS)
+ SET(MESSAGE_RESULT "no")
+ SET(MESSAGE "Checking whether large file support (LFS) is available")
+ MESSAGE(STATUS "${MESSAGE}")
+ # determine size of fpos_t (for the strange LFS implementation on Windows)
+ SET(CMAKE_EXTRA_INCLUDE_FILES)
+ IF(HAVE_STDIO_H)
+ # prefer stdio.h so that is not in namespace std
+ SET(CMAKE_EXTRA_INCLUDE_FILES "stdio.h")
+ ELSEIF(HAVE_CSTDIO)
+ # use cstdio as the fallback
+ SET(CMAKE_EXTRA_INCLUDE_FILES "cstdio")
+ ENDIF()
+ CHECK_TYPE_SIZE("fpos_t" SIZEOF_FPOS_T)
+ # assume sizeof off_t to be correct, will be removed if below tests fail
+ SET(SIZEOF_OFF_T 8)
+ # try compile different combinations of compiler flags and definitions
+ DCMTK_LFS_TRY_COMPILE(RESULT "lfs.c" "" "")
+ IF(NOT RESULT)
+ SET(DCMTK_LFS_FLAGS "-n32")
+ DCMTK_LFS_TRY_COMPILE(RESULT "lfs.c" "-n32" "")
+ ENDIF()
+ IF(NOT RESULT)
+ SET(DCMTK_LFS_FLAGS "")
+ SET(DCMTK_LFS_DEFINITIONS "-D_FILE_OFFSET_BITS=64")
+ DCMTK_LFS_TRY_COMPILE(RESULT "lfs.c" "" "-D_FILE_OFFSET_BITS=64")
+ ENDIF()
+ IF(NOT RESULT)
+ SET(DCMTK_LFS_FLAGS "-n32")
+ SET(DCMTK_LFS_DEFINITIONS "-D_FILE_OFFSET_BITS=64")
+ DCMTK_LFS_TRY_COMPILE(RESULT "lfs.c" "-n32" "-D_FILE_OFFSET_BITS=64")
+ ENDIF()
+ IF(NOT RESULT)
+ SET(DCMTK_LFS_FLAGS "")
+ SET(DCMTK_LFS_DEFINITIONS "-D_LARGE_FILES=1")
+ DCMTK_LFS_TRY_COMPILE(RESULT "lfs.c" "" "-D_LARGE_FILES=1")
+ ENDIF()
+ IF(NOT RESULT)
+ SET(DCMTK_LFS_FLAGS "-n32")
+ SET(DCMTK_LFS_DEFINITIONS "-D_LARGE_FILES=1")
+ DCMTK_LFS_TRY_COMPILE(RESULT "lfs.c" "-n32" "-D_LARGE_FILES=1")
+ ENDIF()
+ IF(NOT RESULT)
+ # remove flags and reset SIZEOF_OFF_T to indeterminate
+ SET(DCMTK_LFS_FLAGS)
+ SET(DCMTK_LFS_DEFINITIONS)
+ SET(SIZEOF_OFF_T)
+ # detect strange LFS implementation that (at least) Windows provides
+ # strange since sizeof(fpos_t) == 8 but sizeof(off_t) == 4!
+ IF(SIZEOF_FPOS_T EQUAL 8)
+ SET(RESULT TRUE)
+ ENDIF()
+ ENDIF()
+ # format a nice result message
+ IF(RESULT)
+ SET(DCMTK_ENABLE_LFS "lfs")
+ SET(DCMTK_LFS_FLAGS "${DCMTK_LFS_FLAGS}" CACHE INTERNAL "which compiler flags to set for enabling LFS support")
+ SET(DCMTK_LFS_DEFINITIONS "${DCMTK_LFS_DEFINITIONS}" CACHE INTERNAL "which compiler definitions to set for enabling LFS support")
+ SET(MESSAGE_RESULT "yes")
+ IF(NOT DCMTK_LFS_FLAGS STREQUAL "" OR NOT DCMTK_LFS_DEFINITIONS STREQUAL "")
+ SET(MESSAGE_RESULT "${MESSAGE_RESULT}, with")
+ IF(NOT DCMTK_LFS_FLAGS STREQUAL "")
+ SET(MESSAGE_RESULT "${MESSAGE_RESULT} ${DCMTK_LFS_FLAGS}")
+ ENDIF()
+ IF(NOT DCMTK_LFS_DEFINITIONS STREQUAL "")
+ SET(MESSAGE_RESULT "${MESSAGE_RESULT} ${DCMTK_LFS_DEFINITIONS}")
+ ENDIF()
+ ENDIF()
+ ENDIF()
+ SET(DCMTK_LFS_AVAILABLE "${RESULT}" CACHE INTERNAL "whether LFS is available or not" FORCE)
+ IF(DEFINED SIZEOF_OFF_T)
+ SET(SIZEOF_OFF_T "${SIZEOF_OFF_T}" CACHE INTERNAL "")
+ ENDIF()
+ MESSAGE(STATUS "${MESSAGE} -- ${MESSAGE_RESULT}")
+ ENDIF()
+ # auto-select LFS implementation in case this is not the first run and the above tests did not select it
+ IF(DCMTK_ENABLE_LFS STREQUAL "auto")
+ IF(DCMTK_LFS64_AVAILABLE)
+ SET(DCMTK_ENABLE_LFS "lfs64")
+ ELSEIF(DCMTK_LFS_AVAILABLE)
+ SET(DCMTK_ENABLE_LFS "lfs")
+ ELSE()
+ SET(DCMTK_ENABLE_LFS "off")
+ ENDIF()
+ ELSEIF(NOT DCMTK_ENABLE_LFS MATCHES "^(lfs|lfs64|off)$")
+ # print a warning in case the given argument was not understood
+ MESSAGE(WARNING "unknown argument \"${DCMTK_ENABLE_LFS}\" for DCMTK_ENABLE_LFS, setting it to \"off\"")
+ SET(DCMTK_ENABLE_LFS "off")
+ ELSEIF(DCMTK_ENABLE_LFS STREQUAL "lfs64" AND NOT DCMTK_LFS64_AVAILABLE)
+ # test if the explicitly chosen implementation is really available
+ MESSAGE(WARNING "LFS64 was enabled but LFS64 support is not available, focing DCMTK_ENABLE_LFS to \"off\"")
+ SET(DCMTK_ENABLE_LFS "off")
+ ELSEIF(DCMTK_ENABLE_LFS STREQUAL "lfs" AND NOT DCMTK_LFS_AVAILABLE)
+ # test if the explicitly chosen implementation is really available
+ MESSAGE(WARNING "LFS was enabled but LFS support is not available, focing DCMTK_ENABLE_LFS to \"off\"")
+ SET(DCMTK_ENABLE_LFS "off")
+ ENDIF()
+ # create a list of available LFS types for the CMake GUI
+ SET(AVAILABLE_LFS_TYPES)
+ IF(NOT DEFINED DCMTK_LFS64_AVAILABLE OR DCMTK_LFS64_AVAILABLE)
+ LIST(APPEND AVAILABLE_LFS_TYPES "lfs64")
+ ENDIF()
+ IF(NOT DEFINED DCMTK_LFS_AVAILABLE OR DCMTK_LFS_AVAILABLE)
+ LIST(APPEND AVAILABLE_LFS_TYPES "lfs")
+ ENDIF()
+ # store the chosen value to the cache (potentially normalizing the given argument)
+ SET(DCMTK_ENABLE_LFS "${DCMTK_ENABLE_LFS}" CACHE STRING "whether to use lfs/lfs64 or not" FORCE)
+ SET_PROPERTY(CACHE DCMTK_ENABLE_LFS PROPERTY STRINGS "auto" ${AVAILABLE_LFS_TYPES} "off")
+ # set values for osconfig.h and add compiler flags and definitions (if necessary)
+ IF(DCMTK_ENABLE_LFS STREQUAL "lfs64")
+ # set the value for generating osconfig.h
+ SET(DCMTK_LFS_MODE "DCMTK_LFS64" CACHE INTERNAL "" FORCE)
+ IF(NOT DCMTK_LFS64_DEFINITIONS STREQUAL "")
+ ADD_DEFINITIONS(${DCMTK_LFS64_DEFINITIONS})
+ ENDIF()
+ MESSAGE(STATUS "Info: Building DCMTK with explicit large file support (LFS64)")
+ ELSEIF(DCMTK_ENABLE_LFS STREQUAL "lfs")
+ # set the value for generating osconfig.h
+ SET(DCMTK_LFS_MODE "DCMTK_LFS" CACHE INTERNAL "" FORCE)
+ IF(NOT DCMTK_LFS_FLAGS STREQUAL "")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${DCMTK_LFS_FLAGS}")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DCMTK_LFS_FLAGS}")
+ ENDIF()
+ IF(NOT DCMTK_LFS_DEFINITIONS STREQUAL "")
+ ADD_DEFINITIONS(${DCMTK_LFS_DEFINITIONS})
+ ENDIF()
+ MESSAGE(STATUS "Info: Building DCMTK with large file support (LFS)")
+ ELSE()
+ SET(DCMTK_ENABLE_LFS)
+ MESSAGE(STATUS "Info: Building DCMTK without large file support, files >4GB may be inaccesible!")
+ ENDIF()
+ENDFUNCTION(DCMTK_CHECK_ENABLE_LFS)
-int main()
-{
- FILE *f = fopen64(\"name\", \"r\");
- return 0;
-}")
+DCMTK_CHECK_ENABLE_LFS()
IF(WIN32)
# If someone can tell me how to convince TRY_COMPILE to link against winsock,
return 0;
}")
-DCMTK_TRY_COMPILE(ALIGNAS_SUPPORTS_TYPEDEFS "alignas supports typedefs"
- "int main()
-{
- typedef char type[16] alignas(4);
- return 0;
-}")
-
DCMTK_TRY_COMPILE(HAVE_DECLSPEC_ALIGN "__declspec(align) is supported"
"int main()
{
template<typename X>
static no_type sfinae(...);
struct test { test( int ); };
+template<int I>
+struct enable {};
+template<>
+struct enable<0> { enum { result = 0 }; };
int main()
{
- return sizeof(sfinae<test>(0)) == sizeof(yes_type);
+ return enable<sizeof(sfinae<test>(0)) == sizeof(yes_type)>::result;
}")
-# Compile config/arith.cc and generate config/arith.h
+DCMTK_TRY_COMPILE(HAVE_STD_NAMESPACE "ANSI standard C++ includes use std namespace"
+ "#include <iostream>
+int main()
+{
+ using namespace std;
+ std::cout << endl;
+ return 0;
+}")
+
+DCMTK_TRY_COMPILE(HAVE_STD__NOTHROW "the compiler supports std::nothrow"
+ "#include <new>
+int main()
+{
+ int* i = new (std::nothrow) int;
+ return 0;
+}")
+
+DCMTK_TRY_COMPILE(HAVE_NOTHROW_DELETE "the compiler supports operator delete (std::nothrow)"
+ "#include <new>
+int main()
+{
+ int* i = 0;
+ operator delete (i,std::nothrow);
+ return 0;
+}")
+
+# Compile config/tests/arith.cc and generate config/arith.h
FUNCTION(INSPECT_FUNDAMENTAL_ARITHMETIC_TYPES)
- SET(ARITH_H_FILE ${DCMTK_BINARY_DIR}/config/include/dcmtk/config/arith.h)
- IF(NOT EXISTS "${ARITH_H_FILE}")
+ SET(ARITH_H_FILE "${DCMTK_BINARY_DIR}/config/include/dcmtk/config/arith.h")
+ IF("${DCMTK_SOURCE_DIR}/config/tests/arith.cc" IS_NEWER_THAN "${ARITH_H_FILE}")
IF(CMAKE_CROSSCOMPILING)
IF(WIN32)
- UNIX_TO_WINE_PATH(ARITH_H_FILE ${ARITH_H_FILE})
- STRING(REPLACE "\\" "\\\\" ARITH_H_FILE ${ARITH_H_FILE})
+ UNIX_TO_WINE_PATH(ARITH_H_FILE "${ARITH_H_FILE}")
+ STRING(REPLACE "\\" "\\\\" ARITH_H_FILE "${ARITH_H_FILE}")
ELSEIF(ANDROID)
- SET(ARITH_H_DESTINATION ${ARITH_H_FILE})
+ SET(ARITH_H_DESTINATION "${ARITH_H_FILE}")
SET(ARITH_H_FILE "${ANDROID_TEMPORARY_FILES_LOCATION}/arith.h")
ENDIF()
ENDIF(CMAKE_CROSSCOMPILING)
DCMTK_TRY_RUN(
RESULT COMPILED
- ${DCMTK_BINARY_DIR}/CMakeTmp/Arith
- ${DCMTK_SOURCE_DIR}/config/arith.cc
+ "${DCMTK_BINARY_DIR}/CMakeTmp/Arith"
+ "${DCMTK_SOURCE_DIR}/config/tests/arith.cc"
COMPILE_DEFINITIONS -I"${DCMTK_BINARY_DIR}/config/include" -I"${DCMTK_SOURCE_DIR}/ofstd/include" -I"${DCMTK_SOURCE_DIR}/ofstd/libsrc"
RUN_OUTPUT_VARIABLE OUTPUT
COMPILE_OUTPUT_VARIABLE CERR
- ARGS \"${ARITH_H_FILE}\"
+ ARGS "\\\"${ARITH_H_FILE}\\\""
)
IF(COMPILED)
IF(NOT RESULT)
MESSAGE(STATUS "${OUTPUT}")
IF(CMAKE_CROSSCOMPILING)
IF(ANDROID)
- DCMTK_ANDROID_PULL(DCMTK_ANDROID_EMULATOR_INSTANCE ${ARITH_H_FILE} DESTINATION ${ARITH_H_DESTINATION})
+ DCMTK_ANDROID_PULL(DCMTK_ANDROID_EMULATOR_INSTANCE "${ARITH_H_FILE}" DESTINATION "${ARITH_H_DESTINATION}")
ENDIF()
ENDIF(CMAKE_CROSSCOMPILING)
ELSE(NOT RESULT)
ELSE(COMPILED)
MESSAGE(FATAL_ERROR "${CERR}")
ENDIF(COMPILED)
- ENDIF() # file exists
+ ENDIF() # file needs update
ENDFUNCTION(INSPECT_FUNDAMENTAL_ARITHMETIC_TYPES)
+FUNCTION(DCMTK_ADD_CXX11_FLAGS)
+ STRING(FIND "${CMAKE_CXX_FLAGS}" "${DCMTK_CXX11_FLAGS}" INDEX)
+ IF(INDEX EQUAL -1)
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DCMTK_CXX11_FLAGS}" PARENT_SCOPE)
+ ENDIF()
+ENDFUNCTION(DCMTK_ADD_CXX11_FLAGS)
+
+FUNCTION(DCMTK_TEST_ENABLE_CXX11)
+ SET(RESULT 0)
+ SET(TEXT_RESULT "disabled")
+ IF(DCMTK_ENABLE_CXX11)
+ IF(DEFINED HAVE_CXX11_TEST_RESULT)
+ IF(HAVE_CXX11_TEST_RESULT)
+ DCMTK_ADD_CXX11_FLAGS()
+ SET(RESULT 1)
+ SET(TEXT_RESULT "enabled")
+ ENDIF()
+ ELSE()
+ DCMTK_ADD_CXX11_FLAGS() # will automatically be removed by the function scope
+ SET(MESSAGE "Checking whether the compiler supports C++11")
+ MESSAGE(STATUS "${MESSAGE}")
+ TRY_COMPILE(COMPILE_RESULT "${CMAKE_BINARY_DIR}" "${DCMTK_SOURCE_DIR}/config/tests/cxx11.cc")
+ SET(HAVE_CXX11_TEST_RESULT "${COMPILE_RESULT}" CACHE INTERNAL "Caches the configuration test result for C++11 support.")
+ IF(COMPILE_RESULT)
+ SET(RESULT 1)
+ SET(TEXT_RESULT "enabled")
+ MESSAGE(STATUS "${MESSAGE} -- yes")
+ ELSE()
+ MESSAGE(STATUS "${MESSAGE} -- no")
+ ENDIF()
+ ENDIF()
+ ENDIF()
+ SET(HAVE_CXX11 "${RESULT}" CACHE INTERNAL "Set to 1 if the compiler supports C++11 and it should be enabled.")
+ MESSAGE(STATUS "Info: C++11 features ${TEXT_RESULT}")
+ IF(RESULT)
+ # push C++11 CXX-flags to the parent scope
+ SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} PARENT_SCOPE)
+ ENDIF()
+ENDFUNCTION(DCMTK_TEST_ENABLE_CXX11)
+
+FUNCTION(DCMTK_TEST_ENABLE_STL_FEATURE NAME)
+ STRING(TOUPPER "${NAME}" FEATURE)
+ IF(ARGN)
+ SET(SOURCEFILE "${ARGN}")
+ ELSE()
+ SET(SOURCEFILE "${NAME}")
+ ENDIF()
+ IF(DCMTK_ENABLE_STL_${FEATURE} STREQUAL "INFERRED")
+ SET(DCMTK_ENABLE_STL_${FEATURE} ${DCMTK_ENABLE_STL})
+ ENDIF()
+ SET(RESULT 0)
+ SET(TEXT_RESULT "disabled")
+ IF(DCMTK_ENABLE_STL_${FEATURE} STREQUAL "ON")
+ IF(DEFINED HAVE_STL_${FEATURE}_TEST_RESULT)
+ IF(HAVE_STL_${FEATURE}_TEST_RESULT)
+ SET(RESULT 1)
+ SET(TEXT_RESULT "enabled")
+ ENDIF()
+ ELSE()
+ SET(MESSAGE "Checking whether STL ${NAME} works correctly")
+ MESSAGE(STATUS "${MESSAGE}")
+ DCMTK_TRY_RUN(RUN_RESULT COMPILE_RESULT "${CMAKE_BINARY_DIR}" "${DCMTK_SOURCE_DIR}/config/tests/${SOURCEFILE}.cc")
+ IF(COMPILE_RESULT AND RUN_RESULT EQUAL 0)
+ SET(RESULT 1)
+ SET(TEXT_RESULT "enabled")
+ MESSAGE(STATUS "${MESSAGE} -- yes")
+ ELSE()
+ MESSAGE(STATUS "${MESSAGE} -- no")
+ ENDIF()
+ SET(HAVE_STL_${FEATURE}_TEST_RESULT ${RESULT} CACHE INTERNAL "Caches the configuration test result for STL ${NAME}")
+ ENDIF()
+ ENDIF()
+ SET(HAVE_STL_${FEATURE} ${RESULT} CACHE INTERNAL "Set to 1 if the compiler/OS provides a working STL ${NAME} implementation.")
+ MESSAGE(STATUS "Info: STL ${NAME} support ${TEXT_RESULT}")
+ENDFUNCTION(DCMTK_TEST_ENABLE_STL_FEATURE)
+
+DCMTK_TEST_ENABLE_CXX11()
+DCMTK_TEST_ENABLE_STL_FEATURE("vector")
+DCMTK_TEST_ENABLE_STL_FEATURE("algorithm" "algo")
+DCMTK_TEST_ENABLE_STL_FEATURE("limits")
+DCMTK_TEST_ENABLE_STL_FEATURE("list")
+DCMTK_TEST_ENABLE_STL_FEATURE("map")
+DCMTK_TEST_ENABLE_STL_FEATURE("memory")
+DCMTK_TEST_ENABLE_STL_FEATURE("stack")
+DCMTK_TEST_ENABLE_STL_FEATURE("string")
+DCMTK_TEST_ENABLE_STL_FEATURE("type_traits" "ttraits")
+DCMTK_TEST_ENABLE_STL_FEATURE("tuple")
+DCMTK_TEST_ENABLE_STL_FEATURE("system_error" "syserr")
+
IF(CMAKE_CROSSCOMPILING)
SET(DCMTK_CROSS_COMPILING ${CMAKE_CROSSCOMPILING})
ENDIF(CMAKE_CROSSCOMPILING)
+++ /dev/null
-#
-#
-# Copyright (C) 2015, OFFIS e.V.
-# All rights reserved. See COPYRIGHT file for details.
-#
-# This software and supporting documentation were developed by
-#
-# OFFIS e.V.
-# R&D Division Health
-# Escherweg 2
-# D-26121 Oldenburg, Germany
-#
-# Author: Jan Schlamelcher
-#
-# Purpose:
-# Detecting and inspecting any available Android NDK installation
-# and contained toolchains. Setting the depending CMake variables
-# appropriately based on the detection results and user settings.
-#
-# This file is based upon this Android toolchain file found on
-# github: https://github.com/taka-no-me/android-cmake,
-# originally released under this license:
-
-# Copyright (c) 2010-2011, Ethan Rublee
-# Copyright (c) 2011-2014, Andrey Kamaev
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its
-# contributors may be used to endorse or promote products derived from this
-# software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-# ------------------------------------------------------------------------------
-# Android CMake toolchain file, for use with the Android NDK r5-r9
-# Requires cmake 2.6.3 or newer (2.8.5 or newer is recommended).
-# See home page: https://github.com/taka-no-me/android-cmake
-#
-# The file is maintained by the OpenCV project. The latest version can be get at
-# http://code.opencv.org/projects/opencv/repository/revisions/master/changes/android/android.toolchain.cmake
-#
-# Usage Linux:
-# $ export ANDROID_NDK=/absolute/path/to/the/android-ndk
-# $ mkdir build && cd build
-# $ cmake -DCMAKE_TOOLCHAIN_FILE=path/to/the/android.toolchain.cmake ..
-# $ make -j8
-#
-# Usage Linux (using standalone toolchain):
-# $ export ANDROID_STANDALONE_TOOLCHAIN=/absolute/path/to/android-toolchain
-# $ mkdir build && cd build
-# $ cmake -DCMAKE_TOOLCHAIN_FILE=path/to/the/android.toolchain.cmake ..
-# $ make -j8
-#
-# Usage Windows:
-# You need native port of make to build your project.
-# Android NDK r7 (or newer) already has make.exe on board.
-# For older NDK you have to install it separately.
-# For example, this one: http://gnuwin32.sourceforge.net/packages/make.htm
-#
-# $ SET ANDROID_NDK=C:\absolute\path\to\the\android-ndk
-# $ mkdir build && cd build
-# $ cmake.exe -G"MinGW Makefiles"
-# -DCMAKE_TOOLCHAIN_FILE=path\to\the\android.toolchain.cmake
-# -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%\prebuilt\windows\bin\make.exe" ..
-# $ cmake.exe --build .
-#
-#
-# Options (can be set as cmake parameters: -D<option_name>=<value>):
-# ANDROID_NDK=/opt/android-ndk - path to the NDK root.
-# Can be set as environment variable. Can be set only at first cmake run.
-#
-# ANDROID_STANDALONE_TOOLCHAIN=/opt/android-toolchain - path to the
-# standalone toolchain. This option is not used if full NDK is found
-# (ignored if ANDROID_NDK is set).
-# Can be set as environment variable. Can be set only at first cmake run.
-#
-# ANDROID_ABI=armeabi-v7a - specifies the target Application Binary
-# Interface (ABI). This option nearly matches to the APP_ABI variable
-# used by ndk-build tool from Android NDK.
-#
-# Possible targets are:
-# "armeabi" - matches to the NDK ABI with the same name.
-# See ${ANDROID_NDK}/docs/CPU-ARCH-ABIS.html for the documentation.
-# "armeabi-v7a" - matches to the NDK ABI with the same name.
-# See ${ANDROID_NDK}/docs/CPU-ARCH-ABIS.html for the documentation.
-# "armeabi-v7a with NEON" - same as armeabi-v7a, but
-# sets NEON as floating-point unit
-# "armeabi-v7a with VFPV3" - same as armeabi-v7a, but
-# sets VFPV3 as floating-point unit (has 32 registers instead of 16).
-# "armeabi-v6 with VFP" - tuned for ARMv6 processors having VFP.
-# "x86" - matches to the NDK ABI with the same name.
-# See ${ANDROID_NDK}/docs/CPU-ARCH-ABIS.html for the documentation.
-# "mips" - matches to the NDK ABI with the same name.
-# See ${ANDROID_NDK}/docs/CPU-ARCH-ABIS.html for the documentation.
-#
-# ANDROID_NATIVE_API_LEVEL=android-8 - level of Android API compile for.
-# Option is read-only when standalone toolchain is used.
-#
-# ANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-4.6 - the name of compiler
-# toolchain to be used. The list of possible values depends on the NDK
-# version. For NDK r8c the possible values are:
-#
-# * arm-linux-androideabi-4.4.3
-# * arm-linux-androideabi-4.6
-# * arm-linux-androideabi-clang3.1
-# * mipsel-linux-android-4.4.3
-# * mipsel-linux-android-4.6
-# * mipsel-linux-android-clang3.1
-# * x86-4.4.3
-# * x86-4.6
-# * x86-clang3.1
-#
-# ANDROID_FORCE_ARM_BUILD=OFF - set ON to generate 32-bit ARM instructions
-# instead of Thumb. Is not available for "x86" (inapplicable) and
-# "armeabi-v6 with VFP" (is forced to be ON) ABIs.
-#
-# ANDROID_NO_UNDEFINED=ON - set ON to show all undefined symbols as linker
-# errors even if they are not used.
-#
-# ANDROID_SO_UNDEFINED=OFF - set ON to allow undefined symbols in shared
-# libraries. Automatically turned for NDK r5x and r6x due to GLESv2
-# problems.
-#
-# LIBRARY_OUTPUT_PATH_ROOT=${CMAKE_BINARY_DIR} - where to output binary
-# files. See additional details below.
-#
-# ANDROID_SET_OBSOLETE_VARIABLES=ON - if set, then toolchain defines some
-# obsolete variables which were used by previous versions of this file for
-# backward compatibility.
-#
-# ANDROID_STL=gnustl_static - specify the runtime to use.
-#
-# Possible values are:
-# none -> Do not configure the runtime.
-# system -> Use the default minimal system C++ runtime library.
-# Implies -fno-rtti -fno-exceptions.
-# Is not available for standalone toolchain.
-# system_re -> Use the default minimal system C++ runtime library.
-# Implies -frtti -fexceptions.
-# Is not available for standalone toolchain.
-# gabi++_static -> Use the GAbi++ runtime as a static library.
-# Implies -frtti -fno-exceptions.
-# Available for NDK r7 and newer.
-# Is not available for standalone toolchain.
-# gabi++_shared -> Use the GAbi++ runtime as a shared library.
-# Implies -frtti -fno-exceptions.
-# Available for NDK r7 and newer.
-# Is not available for standalone toolchain.
-# stlport_static -> Use the STLport runtime as a static library.
-# Implies -fno-rtti -fno-exceptions for NDK before r7.
-# Implies -frtti -fno-exceptions for NDK r7 and newer.
-# Is not available for standalone toolchain.
-# stlport_shared -> Use the STLport runtime as a shared library.
-# Implies -fno-rtti -fno-exceptions for NDK before r7.
-# Implies -frtti -fno-exceptions for NDK r7 and newer.
-# Is not available for standalone toolchain.
-# gnustl_static -> Use the GNU STL as a static library.
-# Implies -frtti -fexceptions.
-# gnustl_shared -> Use the GNU STL as a shared library.
-# Implies -frtti -fno-exceptions.
-# Available for NDK r7b and newer.
-# Silently degrades to gnustl_static if not available.
-#
-# ANDROID_STL_FORCE_FEATURES=ON - turn rtti and exceptions support based on
-# chosen runtime. If disabled, then the user is responsible for settings
-# these options.
-#
-# What?:
-# android-cmake toolchain searches for NDK/toolchain in the following order:
-# ANDROID_NDK - cmake parameter
-# ANDROID_NDK - environment variable
-# ANDROID_STANDALONE_TOOLCHAIN - cmake parameter
-# ANDROID_STANDALONE_TOOLCHAIN - environment variable
-# ANDROID_NDK - default locations
-# ANDROID_STANDALONE_TOOLCHAIN - default locations
-#
-# Make sure to do the following in your scripts:
-# SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${my_cxx_flags}" )
-# SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${my_cxx_flags}" )
-# The flags will be prepopulated with critical flags, so don't loose them.
-# Also be aware that toolchain also sets configuration-specific compiler
-# flags and linker flags.
-#
-# ANDROID and BUILD_ANDROID will be set to true, you may test any of these
-# variables to make necessary Android-specific configuration changes.
-#
-# Also ARMEABI or ARMEABI_V7A or X86 or MIPS will be set true, mutually
-# exclusive. NEON option will be set true if VFP is set to NEON.
-#
-# LIBRARY_OUTPUT_PATH_ROOT should be set in cache to determine where Android
-# libraries will be installed.
-# Default is ${CMAKE_BINARY_DIR}, and the android libs will always be
-# under the ${LIBRARY_OUTPUT_PATH_ROOT}/libs/${ANDROID_NDK_ABI_NAME}
-# (depending on the target ABI). This is convenient for Android packaging.
-#
-# Change Log:
-# - initial version December 2010
-# - April 2011
-# [+] added possibility to build with NDK (without standalone toolchain)
-# [+] support cross-compilation on Windows (native, no cygwin support)
-# [+] added compiler option to force "char" type to be signed
-# [+] added toolchain option to compile to 32-bit ARM instructions
-# [+] added toolchain option to disable SWIG search
-# [+] added platform "armeabi-v7a with VFPV3"
-# [~] ARM_TARGETS renamed to ARM_TARGET
-# [+] EXECUTABLE_OUTPUT_PATH is set by toolchain (required on Windows)
-# [~] Fixed bug with ANDROID_API_LEVEL variable
-# [~] turn off SWIG search if it is not found first time
-# - May 2011
-# [~] ANDROID_LEVEL is renamed to ANDROID_API_LEVEL
-# [+] ANDROID_API_LEVEL is detected by toolchain if not specified
-# [~] added guard to prevent changing of output directories on the first
-# cmake pass
-# [~] toolchain exits with error if ARM_TARGET is not recognized
-# - June 2011
-# [~] default NDK path is updated for version r5c
-# [+] variable CMAKE_SYSTEM_PROCESSOR is set based on ARM_TARGET
-# [~] toolchain install directory is added to linker paths
-# [-] removed SWIG-related stuff from toolchain
-# [+] added macro find_host_package, find_host_program to search
-# packages/programs on the host system
-# [~] fixed path to STL library
-# - July 2011
-# [~] fixed options caching
-# [~] search for all supported NDK versions
-# [~] allowed spaces in NDK path
-# - September 2011
-# [~] updated for NDK r6b
-# - November 2011
-# [*] rewritten for NDK r7
-# [+] x86 toolchain support (experimental)
-# [+] added "armeabi-v6 with VFP" ABI for ARMv6 processors.
-# [~] improved compiler and linker flags management
-# [+] support different build flags for Release and Debug configurations
-# [~] by default compiler flags the same as used by ndk-build (but only
-# where reasonable)
-# [~] ANDROID_NDK_TOOLCHAIN_ROOT is split to ANDROID_STANDALONE_TOOLCHAIN
-# and ANDROID_TOOLCHAIN_ROOT
-# [~] ARM_TARGET is renamed to ANDROID_ABI
-# [~] ARMEABI_NDK_NAME is renamed to ANDROID_NDK_ABI_NAME
-# [~] ANDROID_API_LEVEL is renamed to ANDROID_NATIVE_API_LEVEL
-# - January 2012
-# [+] added stlport_static support (experimental)
-# [+] added special check for cygwin
-# [+] filtered out hidden files (starting with .) while globbing inside NDK
-# [+] automatically applied GLESv2 linkage fix for NDK revisions 5-6
-# [+] added ANDROID_GET_ABI_RAWNAME to get NDK ABI names by CMake flags
-# - February 2012
-# [+] updated for NDK r7b
-# [~] fixed cmake try_compile() command
-# [~] Fix for missing install_name_tool on OS X
-# - March 2012
-# [~] fixed incorrect C compiler flags
-# [~] fixed CMAKE_SYSTEM_PROCESSOR change on ANDROID_ABI change
-# [+] improved toolchain loading speed
-# [+] added assembler language support (.S)
-# [+] allowed preset search paths and extra search suffixes
-# - April 2012
-# [+] updated for NDK r7c
-# [~] fixed most of problems with compiler/linker flags and caching
-# [+] added option ANDROID_FUNCTION_LEVEL_LINKING
-# - May 2012
-# [+] updated for NDK r8
-# [+] added mips architecture support
-# - August 2012
-# [+] updated for NDK r8b
-# [~] all intermediate files generated by toolchain are moved to CMakeFiles
-# [~] libstdc++ and libsupc are removed from explicit link libraries
-# [+] added CCache support (via NDK_CCACHE environment or cmake variable)
-# [+] added gold linker support for NDK r8b
-# [~] fixed mips linker flags for NDK r8b
-# - September 2012
-# [+] added NDK release name detection (see ANDROID_NDK_RELEASE)
-# [+] added support for all C++ runtimes from NDK
-# (system, gabi++, stlport, gnustl)
-# [+] improved warnings on known issues of NDKs
-# [~] use gold linker as default if available (NDK r8b)
-# [~] globally turned off rpath
-# [~] compiler options are aligned with NDK r8b
-# - October 2012
-# [~] fixed C++ linking: explicitly link with math library (OpenCV #2426)
-# - November 2012
-# [+] updated for NDK r8c
-# [+] added support for clang compiler
-# - December 2012
-# [+] suppress warning about unused CMAKE_TOOLCHAIN_FILE variable
-# [+] adjust API level to closest compatible as NDK does
-# [~] fixed ccache full path search
-# [+] updated for NDK r8d
-# [~] compiler options are aligned with NDK r8d
-# - March 2013
-# [+] updated for NDK r8e (x86 version)
-# [+] support x86_64 version of NDK
-# - April 2013
-# [+] support non-release NDK layouts (from Linaro git and Android git)
-# [~] automatically detect if explicit link to crtbegin_*.o is needed
-# - June 2013
-# [~] fixed stl include path for standalone toolchain made by NDK >= r8c
-# - July 2013
-# [+] updated for NDK r9
-# - November 2013
-# [+] updated for NDK r9b
-# - December 2013
-# [+] updated for NDK r9c
-# - January 2014
-# [~] fix copying of shared STL
-# - April 2014
-# [+] updated for NDK r9d
-# ------------------------------------------------------------------------------
-
-cmake_minimum_required( VERSION 2.8.3 )
-if( ${CMAKE_VERSION} VERSION_GREATER 3.1 OR ${CMAKE_VERSION} VERSION_EQUAL 3.1 )
- cmake_policy( SET CMP0054 NEW )
-endif()
-
-if( DEFINED CMAKE_CROSSCOMPILING )
- # subsequent toolchain loading is not really needed
- return()
-endif()
-
-if( CMAKE_TOOLCHAIN_FILE )
- # touch toolchain variable only to suppress "unused variable" warning
-endif()
-
-get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
-if( _CMAKE_IN_TRY_COMPILE )
- if( NOT ANDROID_TOOLCHAIN_CONFIG_FILE )
- set( ANDROID_TOOLCHAIN_CONFIG_FILE "${CMAKE_BINARY_DIR}/../android.toolchain.config.cmake" )
- endif()
- include( "${ANDROID_TOOLCHAIN_CONFIG_FILE}" )
-endif()
-
-# this one is important
-set( CMAKE_SYSTEM_NAME Linux )
-# this one not so much
-set( CMAKE_SYSTEM_VERSION 1 )
-
-# rpath makes low sense for Android
-set( CMAKE_SKIP_RPATH TRUE CACHE BOOL "If set, runtime paths are not added when using shared libraries." )
-
-set( ANDROID_SUPPORTED_NDK_VERSIONS ${ANDROID_EXTRA_NDK_VERSIONS} -r9d -r9c -r9b -r9 -r8e -r8d -r8c -r8b -r8 -r7c -r7b -r7 -r6b -r6 -r5c -r5b -r5 "" )
-if(NOT DEFINED ANDROID_NDK_SEARCH_PATHS)
- if( CMAKE_HOST_WIN32 )
- file( TO_CMAKE_PATH "$ENV{PROGRAMFILES}" ANDROID_NDK_SEARCH_PATHS )
- set( ANDROID_NDK_SEARCH_PATHS "${ANDROID_NDK_SEARCH_PATHS}/android-ndk" "$ENV{SystemDrive}/NVPACK/android-ndk" )
- else()
- file( TO_CMAKE_PATH "$ENV{HOME}" ANDROID_NDK_SEARCH_PATHS )
- set( ANDROID_NDK_SEARCH_PATHS /opt/android-ndk "${ANDROID_NDK_SEARCH_PATHS}/NVPACK/android-ndk" )
- endif()
-endif()
-if(NOT DEFINED ANDROID_STANDALONE_TOOLCHAIN_SEARCH_PATH)
- set( ANDROID_STANDALONE_TOOLCHAIN_SEARCH_PATH /opt/android-toolchain )
-endif()
-
-set( ANDROID_SUPPORTED_ABIS_arm "armeabi-v7a;armeabi;armeabi-v7a with NEON;armeabi-v7a with VFPV3;armeabi-v6 with VFP" )
-set( ANDROID_SUPPORTED_ABIS_x86 "x86" )
-set( ANDROID_SUPPORTED_ABIS_mipsel "mips" )
-
-set( ANDROID_DEFAULT_NDK_API_LEVEL 8 )
-set( ANDROID_DEFAULT_NDK_API_LEVEL_x86 9 )
-set( ANDROID_DEFAULT_NDK_API_LEVEL_mips 9 )
-
-
-macro( __LIST_FILTER listvar regex )
- if( ${listvar} )
- foreach( __val ${${listvar}} )
- if( __val MATCHES "${regex}" )
- list( REMOVE_ITEM ${listvar} "${__val}" )
- endif()
- endforeach()
- endif()
-endmacro()
-
-macro( __INIT_VARIABLE var_name )
- set( __test_path 0 )
- foreach( __var ${ARGN} )
- if( __var STREQUAL "PATH" )
- set( __test_path 1 )
- break()
- endif()
- endforeach()
- if( __test_path AND NOT EXISTS "${${var_name}}" )
- unset( ${var_name} CACHE )
- endif()
- if( "${${var_name}}" STREQUAL "" )
- set( __values 0 )
- foreach( __var ${ARGN} )
- if( __var STREQUAL "VALUES" )
- set( __values 1 )
- elseif( NOT __var STREQUAL "PATH" )
- set( __obsolete 0 )
- if( __var MATCHES "^OBSOLETE_.*$" )
- string( REPLACE "OBSOLETE_" "" __var "${__var}" )
- set( __obsolete 1 )
- endif()
- if( __var MATCHES "^ENV_.*$" )
- string( REPLACE "ENV_" "" __var "${__var}" )
- set( __value "$ENV{${__var}}" )
- elseif( DEFINED ${__var} )
- set( __value "${${__var}}" )
- else()
- if( __values )
- set( __value "${__var}" )
- else()
- set( __value "" )
- endif()
- endif()
- if( NOT "${__value}" STREQUAL "" )
- if( __test_path )
- if( EXISTS "${__value}" )
- file( TO_CMAKE_PATH "${__value}" ${var_name} )
- if( __obsolete AND NOT _CMAKE_IN_TRY_COMPILE )
- message( WARNING "Using value of obsolete variable ${__var} as initial value for ${var_name}. Please note, that ${__var} can be completely removed in future versions of the toolchain." )
- endif()
- break()
- endif()
- else()
- set( ${var_name} "${__value}" )
- if( __obsolete AND NOT _CMAKE_IN_TRY_COMPILE )
- message( WARNING "Using value of obsolete variable ${__var} as initial value for ${var_name}. Please note, that ${__var} can be completely removed in future versions of the toolchain." )
- endif()
- break()
- endif()
- endif()
- endif()
- endforeach()
- unset( __value )
- unset( __values )
- unset( __obsolete )
- elseif( __test_path )
- file( TO_CMAKE_PATH "${${var_name}}" ${var_name} )
- endif()
- unset( __test_path )
-endmacro()
-
-macro( __DETECT_NATIVE_API_LEVEL _var _path )
- SET( __ndkApiLevelRegex "^[\t ]*#define[\t ]+__ANDROID_API__[\t ]+([0-9]+)[\t ]*$" )
- FILE( STRINGS ${_path} __apiFileContent REGEX "${__ndkApiLevelRegex}" )
- if( NOT __apiFileContent )
- message( SEND_ERROR "Could not get Android native API level. Probably you have specified invalid level value, or your copy of NDK/toolchain is broken." )
- endif()
- string( REGEX REPLACE "${__ndkApiLevelRegex}" "\\1" ${_var} "${__apiFileContent}" )
- unset( __apiFileContent )
- unset( __ndkApiLevelRegex )
-endmacro()
-
-macro( __DETECT_TOOLCHAIN_MACHINE_NAME _var _root )
- if( EXISTS "${_root}" )
- file( GLOB __gccExePath RELATIVE "${_root}/bin/" "${_root}/bin/*-gcc${TOOL_OS_SUFFIX}" )
- __LIST_FILTER( __gccExePath "^[.].*" )
- list( LENGTH __gccExePath __gccExePathsCount )
- if( NOT __gccExePathsCount EQUAL 1 AND NOT _CMAKE_IN_TRY_COMPILE )
- message( WARNING "Could not determine machine name for compiler from ${_root}" )
- set( ${_var} "" )
- else()
- get_filename_component( __gccExeName "${__gccExePath}" NAME_WE )
- string( REPLACE "-gcc" "" ${_var} "${__gccExeName}" )
- endif()
- unset( __gccExePath )
- unset( __gccExePathsCount )
- unset( __gccExeName )
- else()
- set( ${_var} "" )
- endif()
-endmacro()
-
-
-# fight against cygwin
-set( ANDROID_FORBID_SYGWIN TRUE CACHE BOOL "Prevent cmake from working under cygwin and using cygwin tools")
-mark_as_advanced( ANDROID_FORBID_SYGWIN )
-if( ANDROID_FORBID_SYGWIN )
- if( CYGWIN )
- message( FATAL_ERROR "Android NDK and android-cmake toolchain are not welcome Cygwin. It is unlikely that this cmake toolchain will work under cygwin. But if you want to try then you can set cmake variable ANDROID_FORBID_SYGWIN to FALSE and rerun cmake." )
- endif()
-
- if( CMAKE_HOST_WIN32 )
- # remove cygwin from PATH
- set( __new_path "$ENV{PATH}")
- __LIST_FILTER( __new_path "cygwin" )
- set(ENV{PATH} "${__new_path}")
- unset(__new_path)
- endif()
-endif()
-
-
-# detect current host platform
-if( NOT DEFINED ANDROID_NDK_HOST_X64 AND (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64" OR CMAKE_HOST_APPLE) )
- set( ANDROID_NDK_HOST_X64 1 CACHE BOOL "Try to use 64-bit compiler toolchain" )
- mark_as_advanced( ANDROID_NDK_HOST_X64 )
-endif()
-
-set( TOOL_OS_SUFFIX "" )
-if( CMAKE_HOST_APPLE )
- set( ANDROID_NDK_HOST_SYSTEM_NAME "darwin-x86_64" )
- set( ANDROID_NDK_HOST_SYSTEM_NAME2 "darwin-x86" )
-elseif( CMAKE_HOST_WIN32 )
- set( ANDROID_NDK_HOST_SYSTEM_NAME "windows-x86_64" )
- set( ANDROID_NDK_HOST_SYSTEM_NAME2 "windows" )
- set( TOOL_OS_SUFFIX ".exe" )
-elseif( CMAKE_HOST_UNIX )
- set( ANDROID_NDK_HOST_SYSTEM_NAME "linux-x86_64" )
- set( ANDROID_NDK_HOST_SYSTEM_NAME2 "linux-x86" )
-else()
- message( FATAL_ERROR "Cross-compilation on your platform is not supported by this cmake toolchain" )
-endif()
-
-if( NOT ANDROID_NDK_HOST_X64 )
- set( ANDROID_NDK_HOST_SYSTEM_NAME ${ANDROID_NDK_HOST_SYSTEM_NAME2} )
-endif()
-
-# see if we have path to Android NDK
-__INIT_VARIABLE( ANDROID_NDK PATH ENV_ANDROID_NDK )
-if( NOT ANDROID_NDK )
- # see if we have path to Android standalone toolchain
- __INIT_VARIABLE( ANDROID_STANDALONE_TOOLCHAIN PATH ENV_ANDROID_STANDALONE_TOOLCHAIN OBSOLETE_ANDROID_NDK_TOOLCHAIN_ROOT OBSOLETE_ENV_ANDROID_NDK_TOOLCHAIN_ROOT )
-
- if( NOT ANDROID_STANDALONE_TOOLCHAIN )
- #try to find Android NDK in one of the the default locations
- set( __ndkSearchPaths )
- foreach( __ndkSearchPath ${ANDROID_NDK_SEARCH_PATHS} )
- foreach( suffix ${ANDROID_SUPPORTED_NDK_VERSIONS} )
- list( APPEND __ndkSearchPaths "${__ndkSearchPath}${suffix}" )
- endforeach()
- endforeach()
- __INIT_VARIABLE( ANDROID_NDK PATH VALUES ${__ndkSearchPaths} )
- unset( __ndkSearchPaths )
-
- if( ANDROID_NDK )
- message( STATUS "Using default path for Android NDK: ${ANDROID_NDK}" )
- message( STATUS " If you prefer to use a different location, please define a cmake or environment variable: ANDROID_NDK" )
- else()
- #try to find Android standalone toolchain in one of the the default locations
- __INIT_VARIABLE( ANDROID_STANDALONE_TOOLCHAIN PATH ANDROID_STANDALONE_TOOLCHAIN_SEARCH_PATH )
-
- if( ANDROID_STANDALONE_TOOLCHAIN )
- message( STATUS "Using default path for standalone toolchain ${ANDROID_STANDALONE_TOOLCHAIN}" )
- message( STATUS " If you prefer to use a different location, please define the variable: ANDROID_STANDALONE_TOOLCHAIN" )
- endif( ANDROID_STANDALONE_TOOLCHAIN )
- endif( ANDROID_NDK )
- endif( NOT ANDROID_STANDALONE_TOOLCHAIN )
-endif( NOT ANDROID_NDK )
-
-# remember found paths
-if( ANDROID_NDK )
- get_filename_component( ANDROID_NDK "${ANDROID_NDK}" ABSOLUTE )
- set( ANDROID_NDK "${ANDROID_NDK}" CACHE INTERNAL "Path of the Android NDK" FORCE )
- set( BUILD_WITH_ANDROID_NDK True )
- if( EXISTS "${ANDROID_NDK}/RELEASE.TXT" )
- file( STRINGS "${ANDROID_NDK}/RELEASE.TXT" ANDROID_NDK_RELEASE_FULL LIMIT_COUNT 1 REGEX r[0-9]+[a-z]? )
- string( REGEX MATCH r[0-9]+[a-z]? ANDROID_NDK_RELEASE "${ANDROID_NDK_RELEASE_FULL}" )
- else()
- set( ANDROID_NDK_RELEASE "r1x" )
- set( ANDROID_NDK_RELEASE_FULL "unreleased" )
- endif()
-elseif( ANDROID_STANDALONE_TOOLCHAIN )
- get_filename_component( ANDROID_STANDALONE_TOOLCHAIN "${ANDROID_STANDALONE_TOOLCHAIN}" ABSOLUTE )
- # try to detect change
- if( CMAKE_AR )
- string( LENGTH "${ANDROID_STANDALONE_TOOLCHAIN}" __length )
- string( SUBSTRING "${CMAKE_AR}" 0 ${__length} __androidStandaloneToolchainPreviousPath )
- if( NOT __androidStandaloneToolchainPreviousPath STREQUAL ANDROID_STANDALONE_TOOLCHAIN )
- message( FATAL_ERROR "It is not possible to change path to the Android standalone toolchain on subsequent run." )
- endif()
- unset( __androidStandaloneToolchainPreviousPath )
- unset( __length )
- endif()
- set( ANDROID_STANDALONE_TOOLCHAIN "${ANDROID_STANDALONE_TOOLCHAIN}" CACHE INTERNAL "Path of the Android standalone toolchain" FORCE )
- set( BUILD_WITH_STANDALONE_TOOLCHAIN True )
-else()
- list(GET ANDROID_NDK_SEARCH_PATHS 0 ANDROID_NDK_SEARCH_PATH)
- message( FATAL_ERROR "Could not find neither Android NDK nor Android standalone toolchain.
- You should either set an environment variable:
- export ANDROID_NDK=~/my-android-ndk
- or
- export ANDROID_STANDALONE_TOOLCHAIN=~/my-android-toolchain
- or put the toolchain or NDK in the default path:
- sudo ln -s ~/my-android-ndk ${ANDROID_NDK_SEARCH_PATH}
- sudo ln -s ~/my-android-toolchain ${ANDROID_STANDALONE_TOOLCHAIN_SEARCH_PATH}" )
-endif()
-
-# android NDK layout
-if( BUILD_WITH_ANDROID_NDK )
- if( NOT DEFINED ANDROID_NDK_LAYOUT )
- # try to automatically detect the layout
- if( EXISTS "${ANDROID_NDK}/RELEASE.TXT")
- set( ANDROID_NDK_LAYOUT "RELEASE" )
- elseif( EXISTS "${ANDROID_NDK}/../../linux-x86/toolchain/" )
- set( ANDROID_NDK_LAYOUT "LINARO" )
- elseif( EXISTS "${ANDROID_NDK}/../../gcc/" )
- set( ANDROID_NDK_LAYOUT "ANDROID" )
- endif()
- endif()
- set( ANDROID_NDK_LAYOUT "${ANDROID_NDK_LAYOUT}" CACHE STRING "The inner layout of NDK" )
- mark_as_advanced( ANDROID_NDK_LAYOUT )
- if( ANDROID_NDK_LAYOUT STREQUAL "LINARO" )
- set( ANDROID_NDK_HOST_SYSTEM_NAME ${ANDROID_NDK_HOST_SYSTEM_NAME2} ) # only 32-bit at the moment
- set( ANDROID_NDK_TOOLCHAINS_PATH "${ANDROID_NDK}/../../${ANDROID_NDK_HOST_SYSTEM_NAME}/toolchain" )
- set( ANDROID_NDK_TOOLCHAINS_SUBPATH "" )
- set( ANDROID_NDK_TOOLCHAINS_SUBPATH2 "" )
- elseif( ANDROID_NDK_LAYOUT STREQUAL "ANDROID" )
- set( ANDROID_NDK_HOST_SYSTEM_NAME ${ANDROID_NDK_HOST_SYSTEM_NAME2} ) # only 32-bit at the moment
- set( ANDROID_NDK_TOOLCHAINS_PATH "${ANDROID_NDK}/../../gcc/${ANDROID_NDK_HOST_SYSTEM_NAME}/arm" )
- set( ANDROID_NDK_TOOLCHAINS_SUBPATH "" )
- set( ANDROID_NDK_TOOLCHAINS_SUBPATH2 "" )
- else() # ANDROID_NDK_LAYOUT STREQUAL "RELEASE"
- set( ANDROID_NDK_TOOLCHAINS_PATH "${ANDROID_NDK}/toolchains" )
- set( ANDROID_NDK_TOOLCHAINS_SUBPATH "/prebuilt/${ANDROID_NDK_HOST_SYSTEM_NAME}" )
- set( ANDROID_NDK_TOOLCHAINS_SUBPATH2 "/prebuilt/${ANDROID_NDK_HOST_SYSTEM_NAME2}" )
- endif()
- get_filename_component( ANDROID_NDK_TOOLCHAINS_PATH "${ANDROID_NDK_TOOLCHAINS_PATH}" ABSOLUTE )
-
- # try to detect change of NDK
- if( CMAKE_AR )
- string( LENGTH "${ANDROID_NDK_TOOLCHAINS_PATH}" __length )
- string( SUBSTRING "${CMAKE_AR}" 0 ${__length} __androidNdkPreviousPath )
- if( NOT __androidNdkPreviousPath STREQUAL ANDROID_NDK_TOOLCHAINS_PATH )
- message( FATAL_ERROR "It is not possible to change the path to the NDK on subsequent CMake run. You must remove all generated files from your build folder first.
- " )
- endif()
- unset( __androidNdkPreviousPath )
- unset( __length )
- endif()
-endif()
-
-
-# get all the details about standalone toolchain
-if( BUILD_WITH_STANDALONE_TOOLCHAIN )
- __DETECT_NATIVE_API_LEVEL( ANDROID_SUPPORTED_NATIVE_API_LEVELS "${ANDROID_STANDALONE_TOOLCHAIN}/sysroot/usr/include/android/api-level.h" )
- set( ANDROID_STANDALONE_TOOLCHAIN_API_LEVEL ${ANDROID_SUPPORTED_NATIVE_API_LEVELS} )
- set( __availableToolchains "standalone" )
- __DETECT_TOOLCHAIN_MACHINE_NAME( __availableToolchainMachines "${ANDROID_STANDALONE_TOOLCHAIN}" )
- if( NOT __availableToolchainMachines )
- message( FATAL_ERROR "Could not determine machine name of your toolchain. Probably your Android standalone toolchain is broken." )
- endif()
- if( __availableToolchainMachines MATCHES i686 )
- set( __availableToolchainArchs "x86" )
- elseif( __availableToolchainMachines MATCHES arm )
- set( __availableToolchainArchs "arm" )
- elseif( __availableToolchainMachines MATCHES mipsel )
- set( __availableToolchainArchs "mipsel" )
- endif()
- execute_process( COMMAND "${ANDROID_STANDALONE_TOOLCHAIN}/bin/${__availableToolchainMachines}-gcc${TOOL_OS_SUFFIX}" -dumpversion
- OUTPUT_VARIABLE __availableToolchainCompilerVersions OUTPUT_STRIP_TRAILING_WHITESPACE )
- string( REGEX MATCH "[0-9]+[.][0-9]+([.][0-9]+)?" __availableToolchainCompilerVersions "${__availableToolchainCompilerVersions}" )
- if( EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/bin/clang${TOOL_OS_SUFFIX}" )
- list( APPEND __availableToolchains "standalone-clang" )
- list( APPEND __availableToolchainMachines ${__availableToolchainMachines} )
- list( APPEND __availableToolchainArchs ${__availableToolchainArchs} )
- list( APPEND __availableToolchainCompilerVersions ${__availableToolchainCompilerVersions} )
- endif()
-endif()
-
-macro( __GLOB_NDK_TOOLCHAINS __availableToolchainsVar __availableToolchainsLst __toolchain_subpath )
- foreach( __toolchain ${${__availableToolchainsLst}} )
- if( "${__toolchain}" MATCHES "-clang3[.][0-9]$" AND NOT EXISTS "${ANDROID_NDK_TOOLCHAINS_PATH}/${__toolchain}${__toolchain_subpath}" )
- string( REGEX REPLACE "-clang3[.][0-9]$" "-4.6" __gcc_toolchain "${__toolchain}" )
- else()
- set( __gcc_toolchain "${__toolchain}" )
- endif()
- __DETECT_TOOLCHAIN_MACHINE_NAME( __machine "${ANDROID_NDK_TOOLCHAINS_PATH}/${__gcc_toolchain}${__toolchain_subpath}" )
- if( __machine )
- string( REGEX MATCH "[0-9]+[.][0-9]+([.][0-9x]+)?$" __version "${__gcc_toolchain}" )
- if( __machine MATCHES i686 )
- set( __arch "x86" )
- elseif( __machine MATCHES arm )
- set( __arch "arm" )
- elseif( __machine MATCHES mipsel )
- set( __arch "mipsel" )
- else()
- unset( __arch )
- endif()
- if( __arch )
- list( APPEND __availableToolchainMachines "${__machine}" )
- list( APPEND __availableToolchainArchs "${__arch}" )
- list( APPEND __availableToolchainCompilerVersions "${__version}" )
- list( APPEND ${__availableToolchainsVar} "${__toolchain}" )
- endif()
- endif()
- unset( __gcc_toolchain )
- endforeach()
-endmacro()
-
-# get all the details about NDK
-if( BUILD_WITH_ANDROID_NDK )
- file( GLOB ANDROID_SUPPORTED_NATIVE_API_LEVELS RELATIVE "${ANDROID_NDK}/platforms" "${ANDROID_NDK}/platforms/android-*" )
- string( REPLACE "android-" "" ANDROID_SUPPORTED_NATIVE_API_LEVELS "${ANDROID_SUPPORTED_NATIVE_API_LEVELS}" )
- set( __availableToolchains "" )
- set( __availableToolchainMachines "" )
- set( __availableToolchainArchs "" )
- set( __availableToolchainCompilerVersions "" )
- if( ANDROID_TOOLCHAIN_NAME AND EXISTS "${ANDROID_NDK_TOOLCHAINS_PATH}/${ANDROID_TOOLCHAIN_NAME}/" )
- # do not go through all toolchains if we know the name
- set( __availableToolchainsLst "${ANDROID_TOOLCHAIN_NAME}" )
- __GLOB_NDK_TOOLCHAINS( __availableToolchains __availableToolchainsLst "${ANDROID_NDK_TOOLCHAINS_SUBPATH}" )
- if( NOT __availableToolchains AND NOT ANDROID_NDK_TOOLCHAINS_SUBPATH STREQUAL ANDROID_NDK_TOOLCHAINS_SUBPATH2 )
- __GLOB_NDK_TOOLCHAINS( __availableToolchains __availableToolchainsLst "${ANDROID_NDK_TOOLCHAINS_SUBPATH2}" )
- if( __availableToolchains )
- set( ANDROID_NDK_TOOLCHAINS_SUBPATH ${ANDROID_NDK_TOOLCHAINS_SUBPATH2} )
- endif()
- endif()
- endif()
- if( NOT __availableToolchains )
- file( GLOB __availableToolchainsLst RELATIVE "${ANDROID_NDK_TOOLCHAINS_PATH}" "${ANDROID_NDK_TOOLCHAINS_PATH}/*" )
- if( __availableToolchains )
- list(SORT __availableToolchainsLst) # we need clang to go after gcc
- endif()
- __LIST_FILTER( __availableToolchainsLst "^[.]" )
- __LIST_FILTER( __availableToolchainsLst "llvm" )
- __LIST_FILTER( __availableToolchainsLst "renderscript" )
- __GLOB_NDK_TOOLCHAINS( __availableToolchains __availableToolchainsLst "${ANDROID_NDK_TOOLCHAINS_SUBPATH}" )
- if( NOT __availableToolchains AND NOT ANDROID_NDK_TOOLCHAINS_SUBPATH STREQUAL ANDROID_NDK_TOOLCHAINS_SUBPATH2 )
- __GLOB_NDK_TOOLCHAINS( __availableToolchains __availableToolchainsLst "${ANDROID_NDK_TOOLCHAINS_SUBPATH2}" )
- if( __availableToolchains )
- set( ANDROID_NDK_TOOLCHAINS_SUBPATH ${ANDROID_NDK_TOOLCHAINS_SUBPATH2} )
- endif()
- endif()
- endif()
- if( NOT __availableToolchains )
- message( FATAL_ERROR "Could not find any working toolchain in the NDK. Probably your Android NDK is broken." )
- endif()
-endif()
-
-# build list of available ABIs
-set( ANDROID_SUPPORTED_ABIS "" )
-set( __uniqToolchainArchNames ${__availableToolchainArchs} )
-list( REMOVE_DUPLICATES __uniqToolchainArchNames )
-list( SORT __uniqToolchainArchNames )
-foreach( __arch ${__uniqToolchainArchNames} )
- list( APPEND ANDROID_SUPPORTED_ABIS ${ANDROID_SUPPORTED_ABIS_${__arch}} )
-endforeach()
-unset( __uniqToolchainArchNames )
-if( NOT ANDROID_SUPPORTED_ABIS )
- message( FATAL_ERROR "No one of known Android ABIs is supported by this cmake toolchain." )
-endif()
-
-# choose target ABI
-__INIT_VARIABLE( ANDROID_ABI OBSOLETE_ARM_TARGET OBSOLETE_ARM_TARGETS VALUES ${ANDROID_SUPPORTED_ABIS} )
-# verify that target ABI is supported
-list( FIND ANDROID_SUPPORTED_ABIS "${ANDROID_ABI}" __androidAbiIdx )
-if( __androidAbiIdx EQUAL -1 )
- string( REPLACE ";" "\", \"" PRINTABLE_ANDROID_SUPPORTED_ABIS "${ANDROID_SUPPORTED_ABIS}" )
- message( FATAL_ERROR "Specified ANDROID_ABI = \"${ANDROID_ABI}\" is not supported by this cmake toolchain or your NDK/toolchain.
- Supported values are: \"${PRINTABLE_ANDROID_SUPPORTED_ABIS}\"
- " )
-endif()
-unset( __androidAbiIdx )
-
-# set target ABI options
-if( ANDROID_ABI STREQUAL "x86" )
- set( X86 true )
- set( ANDROID_NDK_ABI_NAME "x86" )
- set( ANDROID_ARCH_NAME "x86" )
- set( ANDROID_ARCH_FULLNAME "x86" )
- set( ANDROID_LLVM_TRIPLE "i686-none-linux-android" )
- set( CMAKE_SYSTEM_PROCESSOR "i686" )
-elseif( ANDROID_ABI STREQUAL "mips" )
- set( MIPS true )
- set( ANDROID_NDK_ABI_NAME "mips" )
- set( ANDROID_ARCH_NAME "mips" )
- set( ANDROID_ARCH_FULLNAME "mipsel" )
- set( ANDROID_LLVM_TRIPLE "mipsel-none-linux-android" )
- set( CMAKE_SYSTEM_PROCESSOR "mips" )
-elseif( ANDROID_ABI STREQUAL "armeabi" )
- set( ARMEABI true )
- set( ANDROID_NDK_ABI_NAME "armeabi" )
- set( ANDROID_ARCH_NAME "arm" )
- set( ANDROID_ARCH_FULLNAME "arm" )
- set( ANDROID_LLVM_TRIPLE "armv5te-none-linux-androideabi" )
- set( CMAKE_SYSTEM_PROCESSOR "armv5te" )
-elseif( ANDROID_ABI STREQUAL "armeabi-v6 with VFP" )
- set( ARMEABI_V6 true )
- set( ANDROID_NDK_ABI_NAME "armeabi" )
- set( ANDROID_ARCH_NAME "arm" )
- set( ANDROID_ARCH_FULLNAME "arm" )
- set( ANDROID_LLVM_TRIPLE "armv5te-none-linux-androideabi" )
- set( CMAKE_SYSTEM_PROCESSOR "armv6" )
- # need always fallback to older platform
- set( ARMEABI true )
-elseif( ANDROID_ABI STREQUAL "armeabi-v7a")
- set( ARMEABI_V7A true )
- set( ANDROID_NDK_ABI_NAME "armeabi-v7a" )
- set( ANDROID_ARCH_NAME "arm" )
- set( ANDROID_ARCH_FULLNAME "arm" )
- set( ANDROID_LLVM_TRIPLE "armv7-none-linux-androideabi" )
- set( CMAKE_SYSTEM_PROCESSOR "armv7-a" )
-elseif( ANDROID_ABI STREQUAL "armeabi-v7a with VFPV3" )
- set( ARMEABI_V7A true )
- set( ANDROID_NDK_ABI_NAME "armeabi-v7a" )
- set( ANDROID_ARCH_NAME "arm" )
- set( ANDROID_ARCH_FULLNAME "arm" )
- set( ANDROID_LLVM_TRIPLE "armv7-none-linux-androideabi" )
- set( CMAKE_SYSTEM_PROCESSOR "armv7-a" )
- set( VFPV3 true )
-elseif( ANDROID_ABI STREQUAL "armeabi-v7a with NEON" )
- set( ARMEABI_V7A true )
- set( ANDROID_NDK_ABI_NAME "armeabi-v7a" )
- set( ANDROID_ARCH_NAME "arm" )
- set( ANDROID_ARCH_FULLNAME "arm" )
- set( ANDROID_LLVM_TRIPLE "armv7-none-linux-androideabi" )
- set( CMAKE_SYSTEM_PROCESSOR "armv7-a" )
- set( VFPV3 true )
- set( NEON true )
-else()
- message( SEND_ERROR "Unknown ANDROID_ABI=\"${ANDROID_ABI}\" is specified." )
-endif()
-
-if( CMAKE_BINARY_DIR AND EXISTS "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeSystem.cmake" )
- # really dirty hack
- # it is not possible to change CMAKE_SYSTEM_PROCESSOR after the first run...
- file( APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeSystem.cmake" "SET(CMAKE_SYSTEM_PROCESSOR \"${CMAKE_SYSTEM_PROCESSOR}\")\n" )
-endif()
-
-if( ANDROID_ARCH_NAME STREQUAL "arm" AND NOT ARMEABI_V6 )
- __INIT_VARIABLE( ANDROID_FORCE_ARM_BUILD OBSOLETE_FORCE_ARM VALUES OFF )
- set( ANDROID_FORCE_ARM_BUILD ${ANDROID_FORCE_ARM_BUILD} CACHE BOOL "Use 32-bit ARM instructions instead of Thumb-1" FORCE )
- mark_as_advanced( ANDROID_FORCE_ARM_BUILD )
-else()
- unset( ANDROID_FORCE_ARM_BUILD CACHE )
-endif()
-
-# choose toolchain
-if( ANDROID_TOOLCHAIN_NAME )
- list( FIND __availableToolchains "${ANDROID_TOOLCHAIN_NAME}" __toolchainIdx )
- if( __toolchainIdx EQUAL -1 )
- list( SORT __availableToolchains )
- string( REPLACE ";" "\n * " toolchains_list "${__availableToolchains}" )
- set( toolchains_list " * ${toolchains_list}")
- message( FATAL_ERROR "Specified toolchain \"${ANDROID_TOOLCHAIN_NAME}\" is missing in your NDK or broken. Please verify that your NDK is working or select another compiler toolchain.
-To configure the toolchain set CMake variable ANDROID_TOOLCHAIN_NAME to one of the following values:\n${toolchains_list}\n" )
- endif()
- list( GET __availableToolchainArchs ${__toolchainIdx} __toolchainArch )
- if( NOT __toolchainArch STREQUAL ANDROID_ARCH_FULLNAME )
- message( SEND_ERROR "Selected toolchain \"${ANDROID_TOOLCHAIN_NAME}\" is not able to compile binaries for the \"${ANDROID_ARCH_NAME}\" platform." )
- endif()
-else()
- set( __toolchainIdx -1 )
- set( __applicableToolchains "" )
- set( __toolchainMaxVersion "0.0.0" )
- list( LENGTH __availableToolchains __availableToolchainsCount )
- math( EXPR __availableToolchainsCount "${__availableToolchainsCount}-1" )
- foreach( __idx RANGE ${__availableToolchainsCount} )
- list( GET __availableToolchainArchs ${__idx} __toolchainArch )
- if( __toolchainArch STREQUAL ANDROID_ARCH_FULLNAME )
- list( GET __availableToolchainCompilerVersions ${__idx} __toolchainVersion )
- string( REPLACE "x" "99" __toolchainVersion "${__toolchainVersion}")
- if( __toolchainVersion VERSION_GREATER __toolchainMaxVersion )
- set( __toolchainMaxVersion "${__toolchainVersion}" )
- set( __toolchainIdx ${__idx} )
- endif()
- endif()
- endforeach()
- unset( __availableToolchainsCount )
- unset( __toolchainMaxVersion )
- unset( __toolchainVersion )
-endif()
-unset( __toolchainArch )
-if( __toolchainIdx EQUAL -1 )
- message( FATAL_ERROR "No one of available compiler toolchains is able to compile for ${ANDROID_ARCH_NAME} platform." )
-endif()
-list( GET __availableToolchains ${__toolchainIdx} ANDROID_TOOLCHAIN_NAME )
-list( GET __availableToolchainMachines ${__toolchainIdx} ANDROID_TOOLCHAIN_MACHINE_NAME )
-list( GET __availableToolchainCompilerVersions ${__toolchainIdx} ANDROID_COMPILER_VERSION )
-
-unset( __toolchainIdx )
-unset( __availableToolchains )
-unset( __availableToolchainMachines )
-unset( __availableToolchainArchs )
-unset( __availableToolchainCompilerVersions )
-
-# choose native API level
-__INIT_VARIABLE( ANDROID_NATIVE_API_LEVEL ENV_ANDROID_NATIVE_API_LEVEL ANDROID_API_LEVEL ENV_ANDROID_API_LEVEL ANDROID_STANDALONE_TOOLCHAIN_API_LEVEL ANDROID_DEFAULT_NDK_API_LEVEL_${ANDROID_ARCH_NAME} ANDROID_DEFAULT_NDK_API_LEVEL )
-string( REGEX MATCH "[0-9]+" ANDROID_NATIVE_API_LEVEL "${ANDROID_NATIVE_API_LEVEL}" )
-# adjust API level
-set( __real_api_level ${ANDROID_DEFAULT_NDK_API_LEVEL_${ANDROID_ARCH_NAME}} )
-foreach( __level ${ANDROID_SUPPORTED_NATIVE_API_LEVELS} )
- if( NOT __level GREATER ANDROID_NATIVE_API_LEVEL AND NOT __level LESS __real_api_level )
- set( __real_api_level ${__level} )
- endif()
-endforeach()
-if( __real_api_level AND NOT ANDROID_NATIVE_API_LEVEL EQUAL __real_api_level )
- message( STATUS "Adjusting Android API level 'android-${ANDROID_NATIVE_API_LEVEL}' to 'android-${__real_api_level}'")
- set( ANDROID_NATIVE_API_LEVEL ${__real_api_level} )
-endif()
-unset(__real_api_level)
-# validate
-list( FIND ANDROID_SUPPORTED_NATIVE_API_LEVELS "${ANDROID_NATIVE_API_LEVEL}" __levelIdx )
-if( __levelIdx EQUAL -1 )
- message( SEND_ERROR "Specified Android native API level 'android-${ANDROID_NATIVE_API_LEVEL}' is not supported by your NDK/toolchain." )
-else()
- if( BUILD_WITH_ANDROID_NDK )
- __DETECT_NATIVE_API_LEVEL( __realApiLevel "${ANDROID_NDK}/platforms/android-${ANDROID_NATIVE_API_LEVEL}/arch-${ANDROID_ARCH_NAME}/usr/include/android/api-level.h" )
- if( NOT __realApiLevel EQUAL ANDROID_NATIVE_API_LEVEL )
- message( SEND_ERROR "Specified Android API level (${ANDROID_NATIVE_API_LEVEL}) does not match to the level found (${__realApiLevel}). Probably your copy of NDK is broken." )
- endif()
- unset( __realApiLevel )
- endif()
- set( ANDROID_NATIVE_API_LEVEL "${ANDROID_NATIVE_API_LEVEL}" CACHE STRING "Android API level for native code" FORCE )
- if( CMAKE_VERSION VERSION_GREATER "2.8" )
- list( SORT ANDROID_SUPPORTED_NATIVE_API_LEVELS )
- set_property( CACHE ANDROID_NATIVE_API_LEVEL PROPERTY STRINGS ${ANDROID_SUPPORTED_NATIVE_API_LEVELS} )
- endif()
-endif()
-unset( __levelIdx )
-
-
-# remember target ABI
-set( ANDROID_ABI "${ANDROID_ABI}" CACHE STRING "The target ABI for Android. If arm, then armeabi-v7a is recommended for hardware floating point." FORCE )
-if( CMAKE_VERSION VERSION_GREATER "2.8" )
- list( SORT ANDROID_SUPPORTED_ABIS_${ANDROID_ARCH_FULLNAME} )
- set_property( CACHE ANDROID_ABI PROPERTY STRINGS ${ANDROID_SUPPORTED_ABIS_${ANDROID_ARCH_FULLNAME}} )
-endif()
-
-
-# runtime choice (STL, rtti, exceptions)
-if( NOT ANDROID_STL )
- # honor legacy ANDROID_USE_STLPORT
- if( DEFINED ANDROID_USE_STLPORT )
- if( ANDROID_USE_STLPORT )
- set( ANDROID_STL stlport_static )
- endif()
- message( WARNING "You are using an obsolete variable ANDROID_USE_STLPORT to select the STL variant. Use -DANDROID_STL=stlport_static instead." )
- endif()
- if( NOT ANDROID_STL )
- set( ANDROID_STL gnustl_static )
- endif()
-endif()
-set( ANDROID_STL "${ANDROID_STL}" CACHE STRING "C++ runtime" )
-set( ANDROID_STL_FORCE_FEATURES ON CACHE BOOL "automatically configure rtti and exceptions support based on C++ runtime" )
-mark_as_advanced( ANDROID_STL ANDROID_STL_FORCE_FEATURES )
-
-if( BUILD_WITH_ANDROID_NDK )
- if( NOT "${ANDROID_STL}" MATCHES "^(none|system|system_re|gabi\\+\\+_static|gabi\\+\\+_shared|stlport_static|stlport_shared|gnustl_static|gnustl_shared)$")
- message( FATAL_ERROR "ANDROID_STL is set to invalid value \"${ANDROID_STL}\".
-The possible values are:
- none -> Do not configure the runtime.
- system -> Use the default minimal system C++ runtime library.
- system_re -> Same as system but with rtti and exceptions.
- gabi++_static -> Use the GAbi++ runtime as a static library.
- gabi++_shared -> Use the GAbi++ runtime as a shared library.
- stlport_static -> Use the STLport runtime as a static library.
- stlport_shared -> Use the STLport runtime as a shared library.
- gnustl_static -> (default) Use the GNU STL as a static library.
- gnustl_shared -> Use the GNU STL as a shared library.
-" )
- endif()
-elseif( BUILD_WITH_STANDALONE_TOOLCHAIN )
- if( NOT "${ANDROID_STL}" MATCHES "^(none|gnustl_static|gnustl_shared)$")
- message( FATAL_ERROR "ANDROID_STL is set to invalid value \"${ANDROID_STL}\".
-The possible values are:
- none -> Do not configure the runtime.
- gnustl_static -> (default) Use the GNU STL as a static library.
- gnustl_shared -> Use the GNU STL as a shared library.
-" )
- endif()
-endif()
-
-unset( ANDROID_RTTI )
-unset( ANDROID_EXCEPTIONS )
-unset( ANDROID_STL_INCLUDE_DIRS )
-unset( __libstl )
-unset( __libsupcxx )
-
-if( NOT _CMAKE_IN_TRY_COMPILE AND ANDROID_NDK_RELEASE STREQUAL "r7b" AND ARMEABI_V7A AND NOT VFPV3 AND ANDROID_STL MATCHES "gnustl" )
- message( WARNING "The GNU STL armeabi-v7a binaries from NDK r7b can crash non-NEON devices. The files provided with NDK r7b were not configured properly, resulting in crashes on Tegra2-based devices and others when trying to use certain floating-point functions (e.g., cosf, sinf, expf).
-You are strongly recommended to switch to another NDK release.
-" )
-endif()
-
-if( NOT _CMAKE_IN_TRY_COMPILE AND X86 AND ANDROID_STL MATCHES "gnustl" AND ANDROID_NDK_RELEASE STREQUAL "r6" )
- message( WARNING "The x86 system header file from NDK r6 has incorrect definition for ptrdiff_t. You are recommended to upgrade to a newer NDK release or manually patch the header:
-See https://android.googlesource.com/platform/development.git f907f4f9d4e56ccc8093df6fee54454b8bcab6c2
- diff --git a/ndk/platforms/android-9/arch-x86/include/machine/_types.h b/ndk/platforms/android-9/arch-x86/include/machine/_types.h
- index 5e28c64..65892a1 100644
- --- a/ndk/platforms/android-9/arch-x86/include/machine/_types.h
- +++ b/ndk/platforms/android-9/arch-x86/include/machine/_types.h
- @@ -51,7 +51,11 @@ typedef long int ssize_t;
- #endif
- #ifndef _PTRDIFF_T
- #define _PTRDIFF_T
- -typedef long ptrdiff_t;
- +# ifdef __ANDROID__
- + typedef int ptrdiff_t;
- +# else
- + typedef long ptrdiff_t;
- +# endif
- #endif
-" )
-endif()
-
-
-# setup paths and STL for standalone toolchain
-if( BUILD_WITH_STANDALONE_TOOLCHAIN )
- set( ANDROID_TOOLCHAIN_ROOT "${ANDROID_STANDALONE_TOOLCHAIN}" )
- set( ANDROID_CLANG_TOOLCHAIN_ROOT "${ANDROID_STANDALONE_TOOLCHAIN}" )
- set( ANDROID_SYSROOT "${ANDROID_STANDALONE_TOOLCHAIN}/sysroot" )
-
- if( NOT ANDROID_STL STREQUAL "none" )
- set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_STANDALONE_TOOLCHAIN}/include/c++/${ANDROID_COMPILER_VERSION}" )
- if( NOT EXISTS "${ANDROID_STL_INCLUDE_DIRS}" )
- # old location ( pre r8c )
- set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/include/c++/${ANDROID_COMPILER_VERSION}" )
- endif()
- if( ARMEABI_V7A AND EXISTS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/${CMAKE_SYSTEM_PROCESSOR}/bits" )
- list( APPEND ANDROID_STL_INCLUDE_DIRS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/${CMAKE_SYSTEM_PROCESSOR}" )
- elseif( ARMEABI AND NOT ANDROID_FORCE_ARM_BUILD AND EXISTS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/thumb/bits" )
- list( APPEND ANDROID_STL_INCLUDE_DIRS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/thumb" )
- else()
- list( APPEND ANDROID_STL_INCLUDE_DIRS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}" )
- endif()
- # always search static GNU STL to get the location of libsupc++.a
- if( ARMEABI_V7A AND NOT ANDROID_FORCE_ARM_BUILD AND EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/thumb/libstdc++.a" )
- set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/thumb" )
- elseif( ARMEABI_V7A AND EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/libstdc++.a" )
- set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}" )
- elseif( ARMEABI AND NOT ANDROID_FORCE_ARM_BUILD AND EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/thumb/libstdc++.a" )
- set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/thumb" )
- elseif( EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/libstdc++.a" )
- set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib" )
- endif()
- if( __libstl )
- set( __libsupcxx "${__libstl}/libsupc++.a" )
- set( __libstl "${__libstl}/libstdc++.a" )
- endif()
- if( NOT EXISTS "${__libsupcxx}" )
- message( FATAL_ERROR "The required libstdsupc++.a is missing in your standalone toolchain.
- Usually it happens because of bug in make-standalone-toolchain.sh script from NDK r7, r7b and r7c.
- You need to either upgrade to newer NDK or manually copy
- $ANDROID_NDK/sources/cxx-stl/gnu-libstdc++/libs/${ANDROID_NDK_ABI_NAME}/libsupc++.a
- to
- ${__libsupcxx}
- " )
- endif()
- if( ANDROID_STL STREQUAL "gnustl_shared" )
- if( ARMEABI_V7A AND EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/libgnustl_shared.so" )
- set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/libgnustl_shared.so" )
- elseif( ARMEABI AND NOT ANDROID_FORCE_ARM_BUILD AND EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/thumb/libgnustl_shared.so" )
- set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/thumb/libgnustl_shared.so" )
- elseif( EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/libgnustl_shared.so" )
- set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/libgnustl_shared.so" )
- endif()
- endif()
- endif()
-endif()
-
-# clang
-if( "${ANDROID_TOOLCHAIN_NAME}" STREQUAL "standalone-clang" )
- set( ANDROID_COMPILER_IS_CLANG 1 )
- execute_process( COMMAND "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/clang${TOOL_OS_SUFFIX}" --version OUTPUT_VARIABLE ANDROID_CLANG_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE )
- string( REGEX MATCH "[0-9]+[.][0-9]+" ANDROID_CLANG_VERSION "${ANDROID_CLANG_VERSION}")
-elseif( "${ANDROID_TOOLCHAIN_NAME}" MATCHES "-clang3[.][0-9]?$" )
- string( REGEX MATCH "3[.][0-9]$" ANDROID_CLANG_VERSION "${ANDROID_TOOLCHAIN_NAME}")
- string( REGEX REPLACE "-clang${ANDROID_CLANG_VERSION}$" "-4.6" ANDROID_GCC_TOOLCHAIN_NAME "${ANDROID_TOOLCHAIN_NAME}" )
- if( NOT EXISTS "${ANDROID_NDK_TOOLCHAINS_PATH}/llvm-${ANDROID_CLANG_VERSION}${ANDROID_NDK_TOOLCHAINS_SUBPATH}/bin/clang${TOOL_OS_SUFFIX}" )
- message( FATAL_ERROR "Could not find the Clang compiler driver" )
- endif()
- set( ANDROID_COMPILER_IS_CLANG 1 )
- set( ANDROID_CLANG_TOOLCHAIN_ROOT "${ANDROID_NDK_TOOLCHAINS_PATH}/llvm-${ANDROID_CLANG_VERSION}${ANDROID_NDK_TOOLCHAINS_SUBPATH}" )
-else()
- set( ANDROID_GCC_TOOLCHAIN_NAME "${ANDROID_TOOLCHAIN_NAME}" )
- unset( ANDROID_COMPILER_IS_CLANG CACHE )
-endif()
-
-string( REPLACE "." "" _clang_name "clang${ANDROID_CLANG_VERSION}" )
-if( NOT EXISTS "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/${_clang_name}${TOOL_OS_SUFFIX}" )
- set( _clang_name "clang" )
-endif()
-
-
-# setup paths and STL for NDK
-if( BUILD_WITH_ANDROID_NDK )
- set( ANDROID_TOOLCHAIN_ROOT "${ANDROID_NDK_TOOLCHAINS_PATH}/${ANDROID_GCC_TOOLCHAIN_NAME}${ANDROID_NDK_TOOLCHAINS_SUBPATH}" )
- set( ANDROID_SYSROOT "${ANDROID_NDK}/platforms/android-${ANDROID_NATIVE_API_LEVEL}/arch-${ANDROID_ARCH_NAME}" )
-
- if( ANDROID_STL STREQUAL "none" )
- # do nothing
- elseif( ANDROID_STL STREQUAL "system" )
- set( ANDROID_RTTI OFF )
- set( ANDROID_EXCEPTIONS OFF )
- set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_NDK}/sources/cxx-stl/system/include" )
- elseif( ANDROID_STL STREQUAL "system_re" )
- set( ANDROID_RTTI ON )
- set( ANDROID_EXCEPTIONS ON )
- set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_NDK}/sources/cxx-stl/system/include" )
- elseif( ANDROID_STL MATCHES "gabi" )
- if( ANDROID_NDK_RELEASE STRLESS "r7" )
- message( FATAL_ERROR "gabi++ is not awailable in your NDK. You have to upgrade to NDK r7 or newer to use gabi++.")
- endif()
- set( ANDROID_RTTI ON )
- set( ANDROID_EXCEPTIONS OFF )
- set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_NDK}/sources/cxx-stl/gabi++/include" )
- set( __libstl "${ANDROID_NDK}/sources/cxx-stl/gabi++/libs/${ANDROID_NDK_ABI_NAME}/libgabi++_static.a" )
- elseif( ANDROID_STL MATCHES "stlport" )
- if( NOT ANDROID_NDK_RELEASE STRLESS "r8d" )
- set( ANDROID_EXCEPTIONS ON )
- else()
- set( ANDROID_EXCEPTIONS OFF )
- endif()
- if( ANDROID_NDK_RELEASE STRLESS "r7" )
- set( ANDROID_RTTI OFF )
- else()
- set( ANDROID_RTTI ON )
- endif()
- set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_NDK}/sources/cxx-stl/stlport/stlport" )
- set( __libstl "${ANDROID_NDK}/sources/cxx-stl/stlport/libs/${ANDROID_NDK_ABI_NAME}/libstlport_static.a" )
- elseif( ANDROID_STL MATCHES "gnustl" )
- set( ANDROID_EXCEPTIONS ON )
- set( ANDROID_RTTI ON )
- if( EXISTS "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${ANDROID_COMPILER_VERSION}" )
- if( ARMEABI_V7A AND ANDROID_COMPILER_VERSION VERSION_EQUAL "4.7" AND ANDROID_NDK_RELEASE STREQUAL "r8d" )
- # gnustl binary for 4.7 compiler is buggy :(
- # TODO: look for right fix
- set( __libstl "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/4.6" )
- else()
- set( __libstl "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${ANDROID_COMPILER_VERSION}" )
- endif()
- else()
- set( __libstl "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++" )
- endif()
- set( ANDROID_STL_INCLUDE_DIRS "${__libstl}/include" "${__libstl}/libs/${ANDROID_NDK_ABI_NAME}/include" )
- if( EXISTS "${__libstl}/libs/${ANDROID_NDK_ABI_NAME}/libgnustl_static.a" )
- set( __libstl "${__libstl}/libs/${ANDROID_NDK_ABI_NAME}/libgnustl_static.a" )
- else()
- set( __libstl "${__libstl}/libs/${ANDROID_NDK_ABI_NAME}/libstdc++.a" )
- endif()
- else()
- message( FATAL_ERROR "Unknown runtime: ${ANDROID_STL}" )
- endif()
- # find libsupc++.a - rtti & exceptions
- if( ANDROID_STL STREQUAL "system_re" OR ANDROID_STL MATCHES "gnustl" )
- set( __libsupcxx "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${ANDROID_COMPILER_VERSION}/libs/${ANDROID_NDK_ABI_NAME}/libsupc++.a" ) # r8b or newer
- if( NOT EXISTS "${__libsupcxx}" )
- set( __libsupcxx "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/libs/${ANDROID_NDK_ABI_NAME}/libsupc++.a" ) # r7-r8
- endif()
- if( NOT EXISTS "${__libsupcxx}" ) # before r7
- if( ARMEABI_V7A )
- if( ANDROID_FORCE_ARM_BUILD )
- set( __libsupcxx "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/libsupc++.a" )
- else()
- set( __libsupcxx "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/thumb/libsupc++.a" )
- endif()
- elseif( ARMEABI AND NOT ANDROID_FORCE_ARM_BUILD )
- set( __libsupcxx "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/thumb/libsupc++.a" )
- else()
- set( __libsupcxx "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/libsupc++.a" )
- endif()
- endif()
- if( NOT EXISTS "${__libsupcxx}")
- message( ERROR "Could not find libsupc++.a for a chosen platform. Either your NDK is not supported or is broken.")
- endif()
- endif()
-endif()
-
-
-# case of shared STL linkage
-if( ANDROID_STL MATCHES "shared" AND DEFINED __libstl )
- string( REPLACE "_static.a" "_shared.so" __libstl "${__libstl}" )
- # TODO: check if .so file exists before the renaming
-endif()
-
-
-# ccache support
-__INIT_VARIABLE( _ndk_ccache NDK_CCACHE ENV_NDK_CCACHE )
-if( _ndk_ccache )
- if( DEFINED NDK_CCACHE AND NOT EXISTS NDK_CCACHE )
- unset( NDK_CCACHE CACHE )
- endif()
- find_program( NDK_CCACHE "${_ndk_ccache}" DOC "The path to ccache binary")
-else()
- unset( NDK_CCACHE CACHE )
-endif()
-unset( _ndk_ccache )
-
-
-# setup the cross-compiler
-if( NOT CMAKE_C_COMPILER )
- if( NDK_CCACHE AND NOT ANDROID_SYSROOT MATCHES "[ ;\"]" )
- set( CMAKE_C_COMPILER "${NDK_CCACHE}" CACHE PATH "ccache as C compiler" )
- set( CMAKE_CXX_COMPILER "${NDK_CCACHE}" CACHE PATH "ccache as C++ compiler" )
- if( ANDROID_COMPILER_IS_CLANG )
- set( CMAKE_C_COMPILER_ARG1 "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/${_clang_name}${TOOL_OS_SUFFIX}" CACHE PATH "C compiler")
- set( CMAKE_CXX_COMPILER_ARG1 "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/${_clang_name}++${TOOL_OS_SUFFIX}" CACHE PATH "C++ compiler")
- else()
- set( CMAKE_C_COMPILER_ARG1 "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-gcc${TOOL_OS_SUFFIX}" CACHE PATH "C compiler")
- set( CMAKE_CXX_COMPILER_ARG1 "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-g++${TOOL_OS_SUFFIX}" CACHE PATH "C++ compiler")
- endif()
- else()
- if( ANDROID_COMPILER_IS_CLANG )
- set( CMAKE_C_COMPILER "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/${_clang_name}${TOOL_OS_SUFFIX}" CACHE PATH "C compiler")
- set( CMAKE_CXX_COMPILER "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/${_clang_name}++${TOOL_OS_SUFFIX}" CACHE PATH "C++ compiler")
- else()
- set( CMAKE_C_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-gcc${TOOL_OS_SUFFIX}" CACHE PATH "C compiler" )
- set( CMAKE_CXX_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-g++${TOOL_OS_SUFFIX}" CACHE PATH "C++ compiler" )
- endif()
- endif()
- set( CMAKE_ASM_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-gcc${TOOL_OS_SUFFIX}" CACHE PATH "assembler" )
- set( CMAKE_STRIP "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-strip${TOOL_OS_SUFFIX}" CACHE PATH "strip" )
- set( CMAKE_AR "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-ar${TOOL_OS_SUFFIX}" CACHE PATH "archive" )
- set( CMAKE_LINKER "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-ld${TOOL_OS_SUFFIX}" CACHE PATH "linker" )
- set( CMAKE_NM "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-nm${TOOL_OS_SUFFIX}" CACHE PATH "nm" )
- set( CMAKE_OBJCOPY "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-objcopy${TOOL_OS_SUFFIX}" CACHE PATH "objcopy" )
- set( CMAKE_OBJDUMP "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-objdump${TOOL_OS_SUFFIX}" CACHE PATH "objdump" )
- set( CMAKE_RANLIB "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-ranlib${TOOL_OS_SUFFIX}" CACHE PATH "ranlib" )
-endif()
-
-set( _CMAKE_TOOLCHAIN_PREFIX "${ANDROID_TOOLCHAIN_MACHINE_NAME}-" )
-if( CMAKE_VERSION VERSION_LESS 2.8.5 )
- set( CMAKE_ASM_COMPILER_ARG1 "-c" )
-endif()
-if( APPLE )
- find_program( CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool )
- if( NOT CMAKE_INSTALL_NAME_TOOL )
- message( FATAL_ERROR "Could not find install_name_tool, please check your installation." )
- endif()
- mark_as_advanced( CMAKE_INSTALL_NAME_TOOL )
-endif()
-
-# Force set compilers because standard identification works badly for us
-include( CMakeForceCompiler )
-CMAKE_FORCE_C_COMPILER( "${CMAKE_C_COMPILER}" GNU )
-if( ANDROID_COMPILER_IS_CLANG )
- set( CMAKE_C_COMPILER_ID Clang)
-endif()
-set( CMAKE_C_PLATFORM_ID Linux )
-set( CMAKE_C_SIZEOF_DATA_PTR 4 )
-set( CMAKE_C_HAS_ISYSROOT 1 )
-set( CMAKE_C_COMPILER_ABI ELF )
-CMAKE_FORCE_CXX_COMPILER( "${CMAKE_CXX_COMPILER}" GNU )
-if( ANDROID_COMPILER_IS_CLANG )
- set( CMAKE_CXX_COMPILER_ID Clang)
-endif()
-set( CMAKE_CXX_PLATFORM_ID Linux )
-set( CMAKE_CXX_SIZEOF_DATA_PTR 4 )
-set( CMAKE_CXX_HAS_ISYSROOT 1 )
-set( CMAKE_CXX_COMPILER_ABI ELF )
-set( CMAKE_CXX_SOURCE_FILE_EXTENSIONS cc cp cxx cpp CPP c++ C )
-# force ASM compiler (required for CMake < 2.8.5)
-set( CMAKE_ASM_COMPILER_ID_RUN TRUE )
-set( CMAKE_ASM_COMPILER_ID GNU )
-set( CMAKE_ASM_COMPILER_WORKS TRUE )
-set( CMAKE_ASM_COMPILER_FORCED TRUE )
-set( CMAKE_COMPILER_IS_GNUASM 1)
-set( CMAKE_ASM_SOURCE_FILE_EXTENSIONS s S asm )
-
-# flags and definitions
-remove_definitions( -DANDROID )
-add_definitions( -DANDROID )
-
-if( ANDROID_SYSROOT MATCHES "[ ;\"]" )
- if( CMAKE_HOST_WIN32 )
- # try to convert path to 8.3 form
- file( WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cvt83.cmd" "@echo %~s1" )
- execute_process( COMMAND "$ENV{ComSpec}" /c "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cvt83.cmd" "${ANDROID_SYSROOT}"
- OUTPUT_VARIABLE __path OUTPUT_STRIP_TRAILING_WHITESPACE
- RESULT_VARIABLE __result ERROR_QUIET )
- if( __result EQUAL 0 )
- file( TO_CMAKE_PATH "${__path}" ANDROID_SYSROOT )
- set( ANDROID_CXX_FLAGS "--sysroot=${ANDROID_SYSROOT}" )
- else()
- set( ANDROID_CXX_FLAGS "--sysroot=\"${ANDROID_SYSROOT}\"" )
- endif()
- else()
- set( ANDROID_CXX_FLAGS "'--sysroot=${ANDROID_SYSROOT}'" )
- endif()
- if( NOT _CMAKE_IN_TRY_COMPILE )
- # quotes can break try_compile and compiler identification
- message(WARNING "Path to your Android NDK (or toolchain) has non-alphanumeric symbols.\nThe build might be broken.\n")
- endif()
-else()
- set( ANDROID_CXX_FLAGS "--sysroot=${ANDROID_SYSROOT}" )
-endif()
-
-# NDK flags
-if( ARMEABI OR ARMEABI_V7A )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fpic -funwind-tables" )
- if( NOT ANDROID_FORCE_ARM_BUILD AND NOT ARMEABI_V6 )
- set( ANDROID_CXX_FLAGS_RELEASE "-mthumb -fomit-frame-pointer -fno-strict-aliasing" )
- set( ANDROID_CXX_FLAGS_DEBUG "-marm -fno-omit-frame-pointer -fno-strict-aliasing" )
- if( NOT ANDROID_COMPILER_IS_CLANG )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -finline-limit=64" )
- endif()
- else()
- # always compile ARMEABI_V6 in arm mode; otherwise there is no difference from ARMEABI
- set( ANDROID_CXX_FLAGS_RELEASE "-marm -fomit-frame-pointer -fstrict-aliasing" )
- set( ANDROID_CXX_FLAGS_DEBUG "-marm -fno-omit-frame-pointer -fno-strict-aliasing" )
- if( NOT ANDROID_COMPILER_IS_CLANG )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -funswitch-loops -finline-limit=300" )
- endif()
- endif()
-elseif( X86 )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -funwind-tables" )
- if( NOT ANDROID_COMPILER_IS_CLANG )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -funswitch-loops -finline-limit=300" )
- else()
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fPIC" )
- endif()
- set( ANDROID_CXX_FLAGS_RELEASE "-fomit-frame-pointer -fstrict-aliasing" )
- set( ANDROID_CXX_FLAGS_DEBUG "-fno-omit-frame-pointer -fno-strict-aliasing" )
-elseif( MIPS )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fpic -fno-strict-aliasing -finline-functions -ffunction-sections -funwind-tables -fmessage-length=0" )
- set( ANDROID_CXX_FLAGS_RELEASE "-fomit-frame-pointer" )
- set( ANDROID_CXX_FLAGS_DEBUG "-fno-omit-frame-pointer" )
- if( NOT ANDROID_COMPILER_IS_CLANG )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers" )
- set( ANDROID_CXX_FLAGS_RELEASE "${ANDROID_CXX_FLAGS_RELEASE} -funswitch-loops -finline-limit=300" )
- endif()
-elseif()
- set( ANDROID_CXX_FLAGS_RELEASE "" )
- set( ANDROID_CXX_FLAGS_DEBUG "" )
-endif()
-
-set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fsigned-char" ) # good/necessary when porting desktop libraries
-
-if( NOT X86 AND NOT ANDROID_COMPILER_IS_CLANG )
- set( ANDROID_CXX_FLAGS "-Wno-psabi ${ANDROID_CXX_FLAGS}" )
-endif()
-
-if( NOT ANDROID_COMPILER_VERSION VERSION_LESS "4.6" )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -no-canonical-prefixes" ) # see https://android-review.googlesource.com/#/c/47564/
-endif()
-
-# ABI-specific flags
-if( ARMEABI_V7A )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -march=armv7-a -mfloat-abi=softfp" )
- if( NEON )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -mfpu=neon" )
- elseif( VFPV3 )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -mfpu=vfpv3" )
- else()
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -mfpu=vfpv3-d16" )
- endif()
-elseif( ARMEABI_V6 )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -march=armv6 -mfloat-abi=softfp -mfpu=vfp" ) # vfp == vfpv2
-elseif( ARMEABI )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -march=armv5te -mtune=xscale -msoft-float" )
-endif()
-
-if( ANDROID_STL MATCHES "gnustl" AND (EXISTS "${__libstl}" OR EXISTS "${__libsupcxx}") )
- set( CMAKE_CXX_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>" )
- set( CMAKE_CXX_CREATE_SHARED_MODULE "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>" )
- set( CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" )
-else()
- set( CMAKE_CXX_CREATE_SHARED_LIBRARY "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>" )
- set( CMAKE_CXX_CREATE_SHARED_MODULE "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>" )
- set( CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" )
-endif()
-
-# STL
-if( EXISTS "${__libstl}" OR EXISTS "${__libsupcxx}" )
- if( EXISTS "${__libstl}" )
- set( CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY} \"${__libstl}\"" )
- set( CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE} \"${__libstl}\"" )
- set( CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} \"${__libstl}\"" )
- endif()
- if( EXISTS "${__libsupcxx}" )
- set( CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY} \"${__libsupcxx}\"" )
- set( CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE} \"${__libsupcxx}\"" )
- set( CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} \"${__libsupcxx}\"" )
- # C objects:
- set( CMAKE_C_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_C_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>" )
- set( CMAKE_C_CREATE_SHARED_MODULE "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_C_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>" )
- set( CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" )
- set( CMAKE_C_CREATE_SHARED_LIBRARY "${CMAKE_C_CREATE_SHARED_LIBRARY} \"${__libsupcxx}\"" )
- set( CMAKE_C_CREATE_SHARED_MODULE "${CMAKE_C_CREATE_SHARED_MODULE} \"${__libsupcxx}\"" )
- set( CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE} \"${__libsupcxx}\"" )
- endif()
- if( ANDROID_STL MATCHES "gnustl" )
- if( NOT EXISTS "${ANDROID_LIBM_PATH}" )
- set( ANDROID_LIBM_PATH -lm )
- endif()
- set( CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY} ${ANDROID_LIBM_PATH}" )
- set( CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE} ${ANDROID_LIBM_PATH}" )
- set( CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} ${ANDROID_LIBM_PATH}" )
- endif()
-endif()
-
-# variables controlling optional build flags
-if (ANDROID_NDK_RELEASE STRLESS "r7")
- # libGLESv2.so in NDK's prior to r7 refers to missing external symbols.
- # So this flag option is required for all projects using OpenGL from native.
- __INIT_VARIABLE( ANDROID_SO_UNDEFINED VALUES ON )
-else()
- __INIT_VARIABLE( ANDROID_SO_UNDEFINED VALUES OFF )
-endif()
-__INIT_VARIABLE( ANDROID_NO_UNDEFINED OBSOLETE_NO_UNDEFINED VALUES ON )
-__INIT_VARIABLE( ANDROID_FUNCTION_LEVEL_LINKING VALUES ON )
-__INIT_VARIABLE( ANDROID_GOLD_LINKER VALUES ON )
-__INIT_VARIABLE( ANDROID_NOEXECSTACK VALUES ON )
-__INIT_VARIABLE( ANDROID_RELRO VALUES ON )
-
-set( ANDROID_NO_UNDEFINED ${ANDROID_NO_UNDEFINED} CACHE BOOL "Show all undefined symbols as linker errors" )
-set( ANDROID_SO_UNDEFINED ${ANDROID_SO_UNDEFINED} CACHE BOOL "Allows or disallows undefined symbols in shared libraries" )
-set( ANDROID_FUNCTION_LEVEL_LINKING ${ANDROID_FUNCTION_LEVEL_LINKING} CACHE BOOL "Allows or disallows undefined symbols in shared libraries" )
-set( ANDROID_GOLD_LINKER ${ANDROID_GOLD_LINKER} CACHE BOOL "Enables gold linker (only available for NDK r8b for ARM and x86 architectures on linux-86 and darwin-x86 hosts)" )
-set( ANDROID_NOEXECSTACK ${ANDROID_NOEXECSTACK} CACHE BOOL "Allows or disallows undefined symbols in shared libraries" )
-set( ANDROID_RELRO ${ANDROID_RELRO} CACHE BOOL "Enables RELRO - a memory corruption mitigation technique" )
-mark_as_advanced( ANDROID_NO_UNDEFINED ANDROID_SO_UNDEFINED ANDROID_FUNCTION_LEVEL_LINKING ANDROID_GOLD_LINKER ANDROID_NOEXECSTACK ANDROID_RELRO )
-
-# linker flags
-set( ANDROID_LINKER_FLAGS "" )
-
-if( ARMEABI_V7A )
- # this is *required* to use the following linker flags that routes around
- # a CPU bug in some Cortex-A8 implementations:
- set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,--fix-cortex-a8" )
-endif()
-
-if( ANDROID_NO_UNDEFINED )
- if( MIPS )
- # there is some sysroot-related problem in mips linker...
- if( NOT ANDROID_SYSROOT MATCHES "[ ;\"]" )
- set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,--no-undefined -Wl,-rpath-link,${ANDROID_SYSROOT}/usr/lib" )
- endif()
- else()
- set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,--no-undefined" )
- endif()
-endif()
-
-if( ANDROID_SO_UNDEFINED )
- set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,-allow-shlib-undefined" )
-endif()
-
-if( ANDROID_FUNCTION_LEVEL_LINKING )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fdata-sections -ffunction-sections" )
- set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,--gc-sections" )
-endif()
-
-if( ANDROID_COMPILER_VERSION VERSION_EQUAL "4.6" )
- if( ANDROID_GOLD_LINKER AND (CMAKE_HOST_UNIX OR ANDROID_NDK_RELEASE STRGREATER "r8b") AND (ARMEABI OR ARMEABI_V7A OR X86) )
- set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -fuse-ld=gold" )
- elseif( ANDROID_NDK_RELEASE STRGREATER "r8b")
- set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -fuse-ld=bfd" )
- elseif( ANDROID_NDK_RELEASE STREQUAL "r8b" AND ARMEABI AND NOT _CMAKE_IN_TRY_COMPILE )
- message( WARNING "The default bfd linker from arm GCC 4.6 toolchain can fail with 'unresolvable R_ARM_THM_CALL relocation' error message. See https://code.google.com/p/android/issues/detail?id=35342
- On Linux and OS X host platform you can workaround this problem using gold linker (default).
- Rerun cmake with -DANDROID_GOLD_LINKER=ON option in case of problems.
-" )
- endif()
-endif() # version 4.6
-
-if( ANDROID_NOEXECSTACK )
- if( ANDROID_COMPILER_IS_CLANG )
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -Xclang -mnoexecstack" )
- else()
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -Wa,--noexecstack" )
- endif()
- set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,-z,noexecstack" )
-endif()
-
-if( ANDROID_RELRO )
- set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,-z,relro -Wl,-z,now" )
-endif()
-
-if( ANDROID_COMPILER_IS_CLANG )
- set( ANDROID_CXX_FLAGS "-Qunused-arguments ${ANDROID_CXX_FLAGS}" )
- if( ARMEABI_V7A AND NOT ANDROID_FORCE_ARM_BUILD )
- set( ANDROID_CXX_FLAGS_RELEASE "-target thumbv7-none-linux-androideabi ${ANDROID_CXX_FLAGS_RELEASE}" )
- set( ANDROID_CXX_FLAGS_DEBUG "-target ${ANDROID_LLVM_TRIPLE} ${ANDROID_CXX_FLAGS_DEBUG}" )
- else()
- set( ANDROID_CXX_FLAGS "-target ${ANDROID_LLVM_TRIPLE} ${ANDROID_CXX_FLAGS}" )
- endif()
- if( BUILD_WITH_ANDROID_NDK )
- set( ANDROID_CXX_FLAGS "-gcc-toolchain ${ANDROID_TOOLCHAIN_ROOT} ${ANDROID_CXX_FLAGS}" )
- endif()
-endif()
-
-# cache flags
-set( CMAKE_CXX_FLAGS "" CACHE STRING "c++ flags" )
-set( CMAKE_C_FLAGS "" CACHE STRING "c flags" )
-set( CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "c++ Release flags" )
-set( CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "c Release flags" )
-set( CMAKE_CXX_FLAGS_DEBUG "-O0 -g -DDEBUG -D_DEBUG" CACHE STRING "c++ Debug flags" )
-set( CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG -D_DEBUG" CACHE STRING "c Debug flags" )
-set( CMAKE_SHARED_LINKER_FLAGS "" CACHE STRING "shared linker flags" )
-set( CMAKE_MODULE_LINKER_FLAGS "" CACHE STRING "module linker flags" )
-set( CMAKE_EXE_LINKER_FLAGS "-Wl,-z,nocopyreloc" CACHE STRING "executable linker flags" )
-
-# put flags to cache (for debug purpose only)
-set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS}" CACHE INTERNAL "Android specific c/c++ flags" )
-set( ANDROID_CXX_FLAGS_RELEASE "${ANDROID_CXX_FLAGS_RELEASE}" CACHE INTERNAL "Android specific c/c++ Release flags" )
-set( ANDROID_CXX_FLAGS_DEBUG "${ANDROID_CXX_FLAGS_DEBUG}" CACHE INTERNAL "Android specific c/c++ Debug flags" )
-set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS}" CACHE INTERNAL "Android specific c/c++ linker flags" )
-
-# finish flags
-set( CMAKE_CXX_FLAGS "${ANDROID_CXX_FLAGS} ${CMAKE_CXX_FLAGS}" )
-set( CMAKE_C_FLAGS "${ANDROID_CXX_FLAGS} ${CMAKE_C_FLAGS}" )
-set( CMAKE_CXX_FLAGS_RELEASE "${ANDROID_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_RELEASE}" )
-set( CMAKE_C_FLAGS_RELEASE "${ANDROID_CXX_FLAGS_RELEASE} ${CMAKE_C_FLAGS_RELEASE}" )
-set( CMAKE_CXX_FLAGS_DEBUG "${ANDROID_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_DEBUG}" )
-set( CMAKE_C_FLAGS_DEBUG "${ANDROID_CXX_FLAGS_DEBUG} ${CMAKE_C_FLAGS_DEBUG}" )
-set( CMAKE_SHARED_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}" )
-set( CMAKE_MODULE_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS}" )
-set( CMAKE_EXE_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}" )
-
-if( MIPS AND BUILD_WITH_ANDROID_NDK AND ANDROID_NDK_RELEASE STREQUAL "r8" )
- set( CMAKE_SHARED_LINKER_FLAGS "-Wl,-T,${ANDROID_NDK_TOOLCHAINS_PATH}/${ANDROID_GCC_TOOLCHAIN_NAME}/mipself.xsc ${CMAKE_SHARED_LINKER_FLAGS}" )
- set( CMAKE_MODULE_LINKER_FLAGS "-Wl,-T,${ANDROID_NDK_TOOLCHAINS_PATH}/${ANDROID_GCC_TOOLCHAIN_NAME}/mipself.xsc ${CMAKE_MODULE_LINKER_FLAGS}" )
- set( CMAKE_EXE_LINKER_FLAGS "-Wl,-T,${ANDROID_NDK_TOOLCHAINS_PATH}/${ANDROID_GCC_TOOLCHAIN_NAME}/mipself.x ${CMAKE_EXE_LINKER_FLAGS}" )
-endif()
-
-# configure rtti
-if( DEFINED ANDROID_RTTI AND ANDROID_STL_FORCE_FEATURES )
- if( ANDROID_RTTI )
- set( CMAKE_CXX_FLAGS "-frtti ${CMAKE_CXX_FLAGS}" )
- else()
- set( CMAKE_CXX_FLAGS "-fno-rtti ${CMAKE_CXX_FLAGS}" )
- endif()
-endif()
-
-# configure exceptios
-if( DEFINED ANDROID_EXCEPTIONS AND ANDROID_STL_FORCE_FEATURES )
- if( ANDROID_EXCEPTIONS )
- set( CMAKE_CXX_FLAGS "-fexceptions ${CMAKE_CXX_FLAGS}" )
- set( CMAKE_C_FLAGS "-fexceptions ${CMAKE_C_FLAGS}" )
- else()
- set( CMAKE_CXX_FLAGS "-fno-exceptions ${CMAKE_CXX_FLAGS}" )
- set( CMAKE_C_FLAGS "-fno-exceptions ${CMAKE_C_FLAGS}" )
- endif()
-endif()
-
-# global includes and link directories
-include_directories( SYSTEM "${ANDROID_SYSROOT}/usr/include" ${ANDROID_STL_INCLUDE_DIRS} )
-get_filename_component(__android_install_path "${CMAKE_INSTALL_PREFIX}/libs/${ANDROID_NDK_ABI_NAME}" ABSOLUTE) # avoid CMP0015 policy warning
-link_directories( "${__android_install_path}" )
-
-# detect if need link crtbegin_so.o explicitly
-if( NOT DEFINED ANDROID_EXPLICIT_CRT_LINK )
- set( __cmd "${CMAKE_CXX_CREATE_SHARED_LIBRARY}" )
- string( REPLACE "<CMAKE_CXX_COMPILER>" "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1}" __cmd "${__cmd}" )
- string( REPLACE "<CMAKE_C_COMPILER>" "${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}" __cmd "${__cmd}" )
- string( REPLACE "<CMAKE_SHARED_LIBRARY_CXX_FLAGS>" "${CMAKE_CXX_FLAGS}" __cmd "${__cmd}" )
- string( REPLACE "<LANGUAGE_COMPILE_FLAGS>" "" __cmd "${__cmd}" )
- string( REPLACE "<LINK_FLAGS>" "${CMAKE_SHARED_LINKER_FLAGS}" __cmd "${__cmd}" )
- string( REPLACE "<CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS>" "-shared" __cmd "${__cmd}" )
- string( REPLACE "<CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG>" "" __cmd "${__cmd}" )
- string( REPLACE "<TARGET_SONAME>" "" __cmd "${__cmd}" )
- string( REPLACE "<TARGET>" "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/toolchain_crtlink_test.so" __cmd "${__cmd}" )
- string( REPLACE "<OBJECTS>" "\"${ANDROID_SYSROOT}/usr/lib/crtbegin_so.o\"" __cmd "${__cmd}" )
- string( REPLACE "<LINK_LIBRARIES>" "" __cmd "${__cmd}" )
- separate_arguments( __cmd )
- foreach( __var ANDROID_NDK ANDROID_NDK_TOOLCHAINS_PATH ANDROID_STANDALONE_TOOLCHAIN )
- if( ${__var} )
- set( __tmp "${${__var}}" )
- separate_arguments( __tmp )
- string( REPLACE "${__tmp}" "${${__var}}" __cmd "${__cmd}")
- endif()
- endforeach()
- string( REPLACE "'" "" __cmd "${__cmd}" )
- string( REPLACE "\"" "" __cmd "${__cmd}" )
- execute_process( COMMAND ${__cmd} RESULT_VARIABLE __cmd_result OUTPUT_QUIET ERROR_QUIET )
- if( __cmd_result EQUAL 0 )
- set( ANDROID_EXPLICIT_CRT_LINK ON )
- else()
- set( ANDROID_EXPLICIT_CRT_LINK OFF )
- endif()
-endif()
-
-if( ANDROID_EXPLICIT_CRT_LINK )
- set( CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY} \"${ANDROID_SYSROOT}/usr/lib/crtbegin_so.o\"" )
- set( CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE} \"${ANDROID_SYSROOT}/usr/lib/crtbegin_so.o\"" )
-endif()
-
-# setup output directories
-set( LIBRARY_OUTPUT_PATH_ROOT ${CMAKE_BINARY_DIR} CACHE PATH "root for library output, set this to change where android libs are installed to" )
-set( CMAKE_INSTALL_PREFIX "${ANDROID_TOOLCHAIN_ROOT}/user" CACHE STRING "path for installing" )
-
-if(NOT _CMAKE_IN_TRY_COMPILE)
- if( EXISTS "${CMAKE_SOURCE_DIR}/jni/CMakeLists.txt" )
- set( EXECUTABLE_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH_ROOT}/bin/${ANDROID_NDK_ABI_NAME}" CACHE PATH "Output directory for applications" )
- else()
- set( EXECUTABLE_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH_ROOT}/bin" CACHE PATH "Output directory for applications" )
- endif()
- set( LIBRARY_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH_ROOT}/libs/${ANDROID_NDK_ABI_NAME}" CACHE PATH "path for android libs" )
-endif()
-
-# copy shaed stl library to build directory
-if( NOT _CMAKE_IN_TRY_COMPILE AND __libstl MATCHES "[.]so$" )
- get_filename_component( __libstlname "${__libstl}" NAME )
- execute_process( COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${__libstl}" "${LIBRARY_OUTPUT_PATH}/${__libstlname}" RESULT_VARIABLE __fileCopyProcess )
- if( NOT __fileCopyProcess EQUAL 0 OR NOT EXISTS "${LIBRARY_OUTPUT_PATH}/${__libstlname}")
- message( SEND_ERROR "Failed copying of ${__libstl} to the ${LIBRARY_OUTPUT_PATH}/${__libstlname}" )
- endif()
- unset( __fileCopyProcess )
- unset( __libstlname )
-endif()
-
-
-# set these global flags for cmake client scripts to change behavior
-set( ANDROID True )
-set( BUILD_ANDROID True )
-
-# where is the target environment
-set( CMAKE_FIND_ROOT_PATH "${ANDROID_TOOLCHAIN_ROOT}/bin" "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}" "${ANDROID_SYSROOT}" "${CMAKE_INSTALL_PREFIX}" "${CMAKE_INSTALL_PREFIX}/share" )
-
-# only search for libraries and includes in the ndk toolchain
-set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
-set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
-set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
-
-
-# macro to find packages on the host OS
-macro( find_host_package )
- set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
- set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER )
- set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER )
- if( CMAKE_HOST_WIN32 )
- SET( WIN32 1 )
- SET( UNIX )
- elseif( CMAKE_HOST_APPLE )
- SET( APPLE 1 )
- SET( UNIX )
- endif()
- find_package( ${ARGN} )
- SET( WIN32 )
- SET( APPLE )
- SET( UNIX 1 )
- set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
- set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
- set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
-endmacro()
-
-
-# macro to find programs on the host OS
-macro( find_host_program )
- set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
- set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER )
- set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER )
- if( CMAKE_HOST_WIN32 )
- SET( WIN32 1 )
- SET( UNIX )
- elseif( CMAKE_HOST_APPLE )
- SET( APPLE 1 )
- SET( UNIX )
- endif()
- find_program( ${ARGN} )
- SET( WIN32 )
- SET( APPLE )
- SET( UNIX 1 )
- set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
- set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
- set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
-endmacro()
-
-
-macro( ANDROID_GET_ABI_RAWNAME TOOLCHAIN_FLAG VAR )
- if( "${TOOLCHAIN_FLAG}" STREQUAL "ARMEABI" )
- set( ${VAR} "armeabi" )
- elseif( "${TOOLCHAIN_FLAG}" STREQUAL "ARMEABI_V7A" )
- set( ${VAR} "armeabi-v7a" )
- elseif( "${TOOLCHAIN_FLAG}" STREQUAL "X86" )
- set( ${VAR} "x86" )
- elseif( "${TOOLCHAIN_FLAG}" STREQUAL "MIPS" )
- set( ${VAR} "mips" )
- else()
- set( ${VAR} "unknown" )
- endif()
-endmacro()
-
-
-# export toolchain settings for the try_compile() command
-if( NOT PROJECT_NAME STREQUAL "CMAKE_TRY_COMPILE" )
- set( __toolchain_config "")
- foreach( __var NDK_CCACHE LIBRARY_OUTPUT_PATH_ROOT ANDROID_FORBID_SYGWIN ANDROID_SET_OBSOLETE_VARIABLES
- ANDROID_NDK_HOST_X64
- ANDROID_NDK
- ANDROID_NDK_LAYOUT
- ANDROID_STANDALONE_TOOLCHAIN
- ANDROID_TOOLCHAIN_NAME
- ANDROID_ABI
- ANDROID_NATIVE_API_LEVEL
- ANDROID_STL
- ANDROID_STL_FORCE_FEATURES
- ANDROID_FORCE_ARM_BUILD
- ANDROID_NO_UNDEFINED
- ANDROID_SO_UNDEFINED
- ANDROID_FUNCTION_LEVEL_LINKING
- ANDROID_GOLD_LINKER
- ANDROID_NOEXECSTACK
- ANDROID_RELRO
- ANDROID_LIBM_PATH
- ANDROID_EXPLICIT_CRT_LINK
- )
- if( DEFINED ${__var} )
- if( "${__var}" MATCHES " ")
- set( __toolchain_config "${__toolchain_config}set( ${__var} \"${${__var}}\" CACHE INTERNAL \"\" )\n" )
- else()
- set( __toolchain_config "${__toolchain_config}set( ${__var} ${${__var}} CACHE INTERNAL \"\" )\n" )
- endif()
- endif()
- endforeach()
- set( ANDROID_TOOLCHAIN_CONFIG_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/android.toolchain.config.cmake" CACHE INTERNAL "" )
- file( WRITE "${ANDROID_TOOLCHAIN_CONFIG_FILE}" "${__toolchain_config}" )
- unset( __toolchain_config )
-endif()
-
-
-# force cmake to produce / instead of \ in build commands for Ninja generator
-if( CMAKE_GENERATOR MATCHES "Ninja" AND CMAKE_HOST_WIN32 )
- # it is a bad hack after all
- # CMake generates Ninja makefiles with UNIX paths only if it thinks that we are going to build with MinGW
- set( CMAKE_COMPILER_IS_MINGW TRUE ) # tell CMake that we are MinGW
- set( CMAKE_CROSSCOMPILING TRUE ) # stop recursion
- enable_language( C )
- enable_language( CXX )
- # unset( CMAKE_COMPILER_IS_MINGW ) # can't unset because CMake does not convert back-slashes in response files without it
- unset( MINGW )
-endif()
-
-
-# set some obsolete variables for backward compatibility
-set( ANDROID_SET_OBSOLETE_VARIABLES ON CACHE BOOL "Define obsolete Andrid-specific cmake variables" )
-mark_as_advanced( ANDROID_SET_OBSOLETE_VARIABLES )
-if( ANDROID_SET_OBSOLETE_VARIABLES )
- set( ANDROID_API_LEVEL ${ANDROID_NATIVE_API_LEVEL} )
- set( ARM_TARGET "${ANDROID_ABI}" )
- set( ARMEABI_NDK_NAME "${ANDROID_NDK_ABI_NAME}" )
-endif()
-
-
-# Variables controlling behavior or set by cmake toolchain:
-# ANDROID_ABI : "armeabi-v7a" (default), "armeabi", "armeabi-v7a with NEON", "armeabi-v7a with VFPV3", "armeabi-v6 with VFP", "x86", "mips"
-# ANDROID_NATIVE_API_LEVEL : 3,4,5,8,9,14 (depends on NDK version)
-# ANDROID_STL : gnustl_static/gnustl_shared/stlport_static/stlport_shared/gabi++_static/gabi++_shared/system_re/system/none
-# ANDROID_FORBID_SYGWIN : ON/OFF
-# ANDROID_NO_UNDEFINED : ON/OFF
-# ANDROID_SO_UNDEFINED : OFF/ON (default depends on NDK version)
-# ANDROID_FUNCTION_LEVEL_LINKING : ON/OFF
-# ANDROID_GOLD_LINKER : ON/OFF
-# ANDROID_NOEXECSTACK : ON/OFF
-# ANDROID_RELRO : ON/OFF
-# ANDROID_FORCE_ARM_BUILD : ON/OFF
-# ANDROID_STL_FORCE_FEATURES : ON/OFF
-# ANDROID_SET_OBSOLETE_VARIABLES : ON/OFF
-# Can be set only at the first run:
-# ANDROID_NDK
-# ANDROID_STANDALONE_TOOLCHAIN
-# ANDROID_TOOLCHAIN_NAME : the NDK name of compiler toolchain
-# ANDROID_NDK_HOST_X64 : try to use x86_64 toolchain (default for x64 host systems)
-# ANDROID_NDK_LAYOUT : the inner NDK structure (RELEASE, LINARO, ANDROID)
-# LIBRARY_OUTPUT_PATH_ROOT : <any valid path>
-# NDK_CCACHE : <path to your ccache executable>
-# Obsolete:
-# ANDROID_API_LEVEL : superseded by ANDROID_NATIVE_API_LEVEL
-# ARM_TARGET : superseded by ANDROID_ABI
-# ARM_TARGETS : superseded by ANDROID_ABI (can be set only)
-# ANDROID_NDK_TOOLCHAIN_ROOT : superseded by ANDROID_STANDALONE_TOOLCHAIN (can be set only)
-# ANDROID_USE_STLPORT : superseded by ANDROID_STL=stlport_static
-# ANDROID_LEVEL : superseded by ANDROID_NATIVE_API_LEVEL (completely removed)
-#
-# Primary read-only variables:
-# ANDROID : always TRUE
-# ARMEABI : TRUE for arm v6 and older devices
-# ARMEABI_V6 : TRUE for arm v6
-# ARMEABI_V7A : TRUE for arm v7a
-# NEON : TRUE if NEON unit is enabled
-# VFPV3 : TRUE if VFP version 3 is enabled
-# X86 : TRUE if configured for x86
-# MIPS : TRUE if configured for mips
-# BUILD_ANDROID : always TRUE
-# BUILD_WITH_ANDROID_NDK : TRUE if NDK is used
-# BUILD_WITH_STANDALONE_TOOLCHAIN : TRUE if standalone toolchain is used
-# ANDROID_NDK_HOST_SYSTEM_NAME : "windows", "linux-x86" or "darwin-x86" depending on host platform
-# ANDROID_NDK_ABI_NAME : "armeabi", "armeabi-v7a", "x86" or "mips" depending on ANDROID_ABI
-# ANDROID_NDK_RELEASE : one of r5, r5b, r5c, r6, r6b, r7, r7b, r7c, r8, r8b, r8c, r8d, r8e, r9, r9b, r9c, r9d; set only for NDK
-# ANDROID_ARCH_NAME : "arm" or "x86" or "mips" depending on ANDROID_ABI
-# ANDROID_SYSROOT : path to the compiler sysroot
-# TOOL_OS_SUFFIX : "" or ".exe" depending on host platform
-# ANDROID_COMPILER_IS_CLANG : TRUE if clang compiler is used
-# Obsolete:
-# ARMEABI_NDK_NAME : superseded by ANDROID_NDK_ABI_NAME
-#
-# Secondary (less stable) read-only variables:
-# ANDROID_COMPILER_VERSION : GCC version used
-# ANDROID_CXX_FLAGS : C/C++ compiler flags required by Android platform
-# ANDROID_SUPPORTED_ABIS : list of currently allowed values for ANDROID_ABI
-# ANDROID_TOOLCHAIN_MACHINE_NAME : "arm-linux-androideabi", "arm-eabi" or "i686-android-linux"
-# ANDROID_TOOLCHAIN_ROOT : path to the top level of toolchain (standalone or placed inside NDK)
-# ANDROID_CLANG_TOOLCHAIN_ROOT : path to clang tools
-# ANDROID_SUPPORTED_NATIVE_API_LEVELS : list of native API levels found inside NDK
-# ANDROID_STL_INCLUDE_DIRS : stl include paths
-# ANDROID_RTTI : if rtti is enabled by the runtime
-# ANDROID_EXCEPTIONS : if exceptions are enabled by the runtime
-# ANDROID_GCC_TOOLCHAIN_NAME : read-only, differs from ANDROID_TOOLCHAIN_NAME only if clang is used
-# ANDROID_CLANG_VERSION : version of clang compiler if clang is used
-# ANDROID_LIBM_PATH : path to libm.so (set to something like $(TOP)/out/target/product/<product_name>/obj/lib/libm.so) to workaround unresolved `sincos`
-#
-# Defaults:
-# ANDROID_DEFAULT_NDK_API_LEVEL
-# ANDROID_DEFAULT_NDK_API_LEVEL_${ARCH}
-# ANDROID_NDK_SEARCH_PATHS
-# ANDROID_STANDALONE_TOOLCHAIN_SEARCH_PATH
-# ANDROID_SUPPORTED_ABIS_${ARCH}
-# ANDROID_SUPPORTED_NDK_VERSIONS
INSTALL(TARGETS dcmtk
EXPORT DCMTKTargets
COMPONENT lib
- RUNTIME DESTINATION ${DCMTK_INSTALL_BINDIR}
- LIBRARY DESTINATION ${DCMTK_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${DCMTK_INSTALL_LIBDIR})
+ RUNTIME DESTINATION "${DCMTK_INSTALL_BINDIR}"
+ LIBRARY DESTINATION "${DCMTK_INSTALL_LIBDIR}"
+ ARCHIVE DESTINATION "${DCMTK_INSTALL_LIBDIR}")
ENDIF(BUILD_SINGLE_SHARED_LIBRARY)
#
# Register all tests for the current module
#
-# DCMTK_ADD_TESTS - macro which registers all tests
+# DCMTK_ADD_TESTS - function which registers all tests for a module
# MODULE - name of the module that we are called for
#
-MACRO(DCMTK_ADD_TESTS MODULE)
- IF(CMAKE_CROSSCOMPILING)
- IF(WIN32)
- WINE_COMMAND(${MODULE}_TEST_CMD "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${MODULE}_tests")
- STRING(REPLACE "\\" "\\\\" ${MODULE}_TEST_CMD "${${MODULE}_TEST_CMD}")
- ELSEIF(ANDROID)
- SET(${MODULE}_TEST_CMD -P ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/dcmtkCTestRunAndroid.cmake)
- ELSE()
- IF(NOT DEFINED DCMTK_UNIT_TESTS_UNSUPPORTED_WARN_ONCE)
- SET(DCMTK_UNIT_TESTS_UNSUPPORTED_WARN_ONCE CACHE INTERNAL "")
- MESSAGE(WARNING "Emulation for your target platform is not available, unit tests will fail!")
+FUNCTION(DCMTK_ADD_TESTS MODULE)
+ IF(BUILD_APPS AND DCMTK_RUN_CTEST_SCRIPT)
+ SET(TEST_EXECUTABLE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${MODULE}_tests${CMAKE_EXECUTABLE_SUFFIX}")
+ IF(CMAKE_CROSSCOMPILING)
+ IF(WIN32)
+ WINE_COMMAND(TEST_COMMAND "${TEST_EXECUTABLE}")
+ STRING(REPLACE "\\" "\\\\" TEST_COMMAND "${TEST_COMMAND}")
+ ELSEIF(ANDROID)
+ SET(TEST_COMMAND "${ANDROID_TEMPORARY_FILES_LOCATION}/${MODULE}_tests")
+ ELSE()
+ # not reachable, handled by not defining DCMTK_RUN_CTEST_SCRIPT
ENDIF()
- SET(${MODULE}_TEST_CMD "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${MODULE}_tests")
- ENDIF()
- ELSE(CMAKE_CROSSCOMPILING)
- SET(${MODULE}_TEST_CMD "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${MODULE}_tests")
- ENDIF(CMAKE_CROSSCOMPILING)
- LIST(APPEND DCMTK_TEST_EXECUTABLES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${MODULE}_tests")
- LIST(REMOVE_DUPLICATES DCMTK_TEST_EXECUTABLES)
- SET(DCMTK_TEST_EXECUTABLES ${DCMTK_TEST_EXECUTABLES} CACHE INTERNAL "List of executables needed to run the unit tests")
- FILE(STRINGS tests.cc AVAIL_TESTS REGEX "OFTEST_REGISTER\\([^)]*\\)")
- FOREACH(TEST_LINE ${AVAIL_TESTS})
- # TODO: How can we parse tests.cc in a saner way?
- STRING(REGEX MATCH "OFTEST_REGISTER\\([^)]*" TEST "${TEST_LINE}")
- STRING(REPLACE "OFTEST_REGISTER(" "" TEST ${TEST})
- # This assumes that test names are globally unique
- IF(CMAKE_CROSSCOMPILING AND ANDROID)
- ADD_TEST("${TEST}" ${CMAKE_COMMAND} "-DDCMTK_CTEST_TESTCASE_COMMAND=${ANDROID_TEMPORARY_FILES_LOCATION}/${MODULE}_tests\;${TEST}" ${${MODULE}_TEST_CMD})
ELSE()
- ADD_TEST("${TEST}" ${${MODULE}_TEST_CMD} "${TEST}")
+ SET(TEST_COMMAND "${TEST_EXECUTABLE}")
ENDIF()
- SET_PROPERTY(TEST "${TEST}" PROPERTY LABELS "${MODULE}")
- ENDFOREACH(TEST_LINE)
-ENDMACRO(DCMTK_ADD_TESTS)
+ LIST(APPEND DCMTK_TEST_EXECUTABLES "${TEST_EXECUTABLE}")
+ LIST(REMOVE_DUPLICATES DCMTK_TEST_EXECUTABLES)
+ SET(DCMTK_TEST_EXECUTABLES ${DCMTK_TEST_EXECUTABLES} CACHE INTERNAL "List of executables needed to run the unit tests")
+ FILE(STRINGS tests.cc AVAIL_TESTS REGEX "OFTEST_REGISTER\\([^)]*\\)")
+ FOREACH(TEST_LINE ${AVAIL_TESTS})
+ # TODO: How can we parse tests.cc in a saner way?
+ STRING(REGEX MATCH "OFTEST_REGISTER\\([^)]*" TEST "${TEST_LINE}")
+ STRING(REPLACE "OFTEST_REGISTER(" "" TEST ${TEST})
+ # This assumes that test names are globally unique
+ ADD_TEST("${TEST}" "${CMAKE_COMMAND}" "-DDCMTK_CTEST_TESTCASE_COMMAND=${TEST_COMMAND}" "-DDCMTK_CTEST_TEST_NAME=${TEST}" "-DDCMTK_CTEST_EXTRA_ARGUMENTS=\$ENV{DCMTK_CTEST_EXTRA_ARGUMENTS}" "-P" "${DCMTK_RUN_CTEST_SCRIPT}")
+ SET_PROPERTY(TEST "${TEST}" PROPERTY LABELS "${MODULE}")
+ SET_PROPERTY(TEST "${TEST}" PROPERTY REQUIRED_FILES "${TEST_EXECUTABLE}")
+ ENDFOREACH(TEST_LINE)
+ ADD_CUSTOM_TARGET("${MODULE}-test-exhaustive"
+ COMMAND "${CMAKE_COMMAND}" "-P" "${DCMTK_SOURCE_DIR}/CMake/CTest/dcmtkCTestRunExhaustive.cmake"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+ )
+ ENDIF(BUILD_APPS AND DCMTK_RUN_CTEST_SCRIPT)
+ENDFUNCTION(DCMTK_ADD_TESTS)
#
# Setup an executable
# Declare installation files
INSTALL(TARGETS ${LIBRARY}${DCMTK_LIBRARY_SUFFIX}
EXPORT DCMTKTargets
- RUNTIME DESTINATION ${DCMTK_INSTALL_BINDIR} COMPONENT bin
- LIBRARY DESTINATION ${DCMTK_INSTALL_LIBDIR} COMPONENT shlib
- ARCHIVE DESTINATION ${DCMTK_INSTALL_LIBDIR} COMPONENT lib)
+ RUNTIME DESTINATION "${DCMTK_INSTALL_BINDIR}" COMPONENT bin
+ LIBRARY DESTINATION "${DCMTK_INSTALL_LIBDIR}" COMPONENT shlib
+ ARCHIVE DESTINATION "${DCMTK_INSTALL_LIBDIR}" COMPONENT lib)
ENDIF(NOT BUILD_SINGLE_SHARED_LIBRARY)
ENDMACRO(DCMTK_ADD_LIBRARY)
UNSET(${VAR} PARENT_SCOPE)
ENDMACRO(DCMTK_UNSET_PARENT_SCOPE)
ENDIF(CMAKE_VERSION VERSION_LESS 3.0)
-
-# C style atexit for CMake
-FUNCTION(DCMTK_ATEXIT_DISPATCHER)
- # this will be called at every scope change, but CMAKE_PARENT_LIST_FILE will only
- # be empty at exit.
- IF(NOT CMAKE_PARENT_LIST_FILE)
- FILE(WRITE ${CMAKE_BINARY_DIR}/CMakeTmp/atexit.cmake "${DCMTK_ATEXIT_HOOK}")
- DCMTK_UNSET_CACHE(DCMTK_ATEXIT_HOOK)
- INCLUDE(${CMAKE_BINARY_DIR}/CMakeTmp/atexit.cmake NO_POLICY_SCOPE)
- FILE(REMOVE ${CMAKE_BINARY_DIR}/CMakeTmp/atexit.cmake)
- ENDIF()
-ENDFUNCTION(DCMTK_ATEXIT_DISPATCHER)
-
-# Necessary since it's sometimes not correctly cleaned up
-DCMTK_UNSET_CACHE(DCMTK_ATEXIT_HOOK)
-
-MACRO(DCMTK_ATEXIT FUNCTION)
- IF(NOT DCMTK_ATEXIT_HOOK)
- VARIABLE_WATCH(CMAKE_PARENT_LIST_FILE DCMTK_ATEXIT_DISPATCHER)
- ENDIF()
- SET(DCMTK_ATEXIT_HOOK "${FUNCTION}(${ARGN})" CACHE INTERNAL "")
-ENDMACRO(DCMTK_ATEXIT)
# Minimum CMake version required
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-IF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 3.7.2)
- SET(CMAKE_BACKWARDS_COMPATIBILITY 3.7.2 CACHE STRING "Latest version of CMake when this project was released." FORCE)
-ENDIF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 3.7.2)
+IF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 3.8.2)
+ SET(CMAKE_BACKWARDS_COMPATIBILITY 3.8.2 CACHE STRING "Latest version of CMake when this project was released." FORCE)
+ENDIF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 3.8.2)
# CMAKE_BUILD_TYPE is set to value "Release" if none is specified by the
# selected build file generator. For those generators that support multiple
# a development snapshot and an even number indicates an official release.)
SET(DCMTK_MAJOR_VERSION 3)
SET(DCMTK_MINOR_VERSION 6)
-SET(DCMTK_BUILD_VERSION 1)
+SET(DCMTK_BUILD_VERSION 2)
# The ABI is not guaranteed to be stable between different snapshots/releases,
# so this particular version number is increased for each snapshot or release.
-SET(DCMTK_ABI_VERSION 11)
+SET(DCMTK_ABI_VERSION 12)
# Package "release" settings (some are currently unused and, therefore, disabled)
SET(DCMTK_PACKAGE_NAME "dcmtk")
-SET(DCMTK_PACKAGE_DATE "DEV")
+SET(DCMTK_PACKAGE_DATE "2017-07-14")
SET(DCMTK_PACKAGE_VERSION "${DCMTK_MAJOR_VERSION}.${DCMTK_MINOR_VERSION}.${DCMTK_BUILD_VERSION}")
SET(DCMTK_PACKAGE_VERSION_NUMBER ${DCMTK_MAJOR_VERSION}${DCMTK_MINOR_VERSION}${DCMTK_BUILD_VERSION})
SET(DCMTK_PACKAGE_VERSION_SUFFIX "")
OPTION(BUILD_SINGLE_SHARED_LIBRARY "Build a single DCMTK library." OFF)
MARK_AS_ADVANCED(BUILD_SINGLE_SHARED_LIBRARY)
SET(CMAKE_DEBUG_POSTFIX "" CACHE STRING "Library postfix for debug builds. Usually left blank.")
-SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/${DCMTK_CMAKE_INCLUDE}/CMake/")
+# add our CMake modules to the module path, but prefer the ones from CMake.
+LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_ROOT}/Modules" "${CMAKE_CURRENT_SOURCE_DIR}/${DCMTK_CMAKE_INCLUDE}/CMake/")
+# newer CMake versions will warn if a module exists in its and the project's module paths, which is now always
+# the case since above line adds CMake's module path to the project's one. It, therefore, doesn't matter whether
+# we set the policy to OLD or NEW, since in both cases CMake's own module will be preferred. We just set
+# the policy to silence the warning.
+IF(POLICY CMP0017)
+ CMAKE_POLICY(SET CMP0017 NEW)
+ENDIF()
IF(BUILD_SINGLE_SHARED_LIBRARY)
# When we are building a single shared lib, we are building shared libs :-)
SET(BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE)
OPTION(DCMTK_GENERATE_DOXYGEN_TAGFILE "Generate a tag file with DOXYGEN." OFF)
OPTION(DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS "Build with wide char file I/O functions." OFF)
OPTION(DCMTK_WIDE_CHAR_MAIN_FUNCTION "Build command line tools with wide char main function." OFF)
+OPTION(DCMTK_ENABLE_STL "Enable use of native STL classes and algorithms instead of DCMTK's own implementations." OFF)
+OPTION(DCMTK_ENABLE_CXX11 "Enable use of native C++11 features (eg. move semantics)." OFF)
+
+MACRO(DCMTK_INFERABLE_OPTION OPTION DESCRIPTION)
+ SET("${OPTION}" INFERRED CACHE STRING "${DESCRIPTION}")
+ SET_PROPERTY(CACHE "${OPTION}" PROPERTY STRINGS "INFERRED" "ON" "OFF")
+ # currently, all inferable options are advanced options
+ MARK_AS_ADVANCED("${OPTION}")
+ENDMACRO(DCMTK_INFERABLE_OPTION)
+
+DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_VECTOR "Enable use of STL vector.")
+DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_ALGORITHM "Enable use of STL algorithm.")
+DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_LIMITS "Enable use of STL limit.")
+DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_LIST "Enable use of STL list.")
+DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_MAP "Enable use of STL map.")
+DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_MEMORY "Enable use of STL memory.")
+DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_STACK "Enable use of STL stack.")
+DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_STRING "Enable use of STL string.")
+DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_TYPE_TRAITS "Enable use of STL type traits.")
+DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_TUPLE "Enable use of STL tuple.")
+DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_SYSTEM_ERROR "Enable use of STL system_error.")
# Built-in (compiled-in) dictionary enabled on Windows per default, otherwise
# disabled. Loading of external dictionary via run-time is, per default,
IF(CMAKE_CROSSCOMPILING)
IF(WIN32)
- INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/dcmtkUseWine.cmake)
+ INCLUDE("${DCMTK_CMAKE_INCLUDE}CMake/dcmtkUseWine.cmake")
DCMTK_SETUP_WINE()
ELSEIF(ANDROID)
- SET(DCMTK_TRY_COMPILE_REQUIRED_CMAKE_FLAGS "-DANDROID_TOOLCHAIN_CONFIG_FILE:INTERNAL=${ANDROID_TOOLCHAIN_CONFIG_FILE}")
- INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/dcmtkUseAndroidSDK.cmake)
- IF(NOT DCMTK_ANDROID_TOOLCHAIN_VERIFIED)
- # Ensure the configuration variables for the Android device emulator exist in the cache.
- DCMTK_SETUP_ANDROID_EMULATOR()
- SET(DCMTK_ANDROID_TOOLCHAIN_VERIFIED TRUE CACHE INTERNAL "Set to TRUE to prevent aborting configuration on first Android toolchain run")
- MESSAGE(FATAL_ERROR
- "Please verify your Android toolchain configuration (e.g.\"ANDROID_NATIVE_API_LEVEL\") is correct before configuring DCMTK.\n"
- "Hit \"Configure\" again to resume configuration when you are done.\n"
- "NOTE: set \"DCMTK_ANDROID_TOOLCHAIN_VERIFIED\" to \"TRUE\" to avoid this check (e.g. to allow automated builds), you may use"
- "something like\n \"cmake -DDCMTK_ANDROID_TOOLCHAIN_VERIFIED=TRUE ...\"\nto achieve that."
- )
- ENDIF()
+ INCLUDE("${DCMTK_CMAKE_INCLUDE}CMake/dcmtkUseAndroidSDK.cmake")
+ # Ensure the configuration variables for the Android device emulator exist in the cache.
+ DCMTK_SETUP_ANDROID_EMULATOR()
ENDIF()
ENDIF(CMAKE_CROSSCOMPILING)
# Generic utilities used for configuring DCMTK
#-----------------------------------------------------------------------------
-INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/dcmtkMacros.cmake)
+INCLUDE("${DCMTK_CMAKE_INCLUDE}CMake/dcmtkMacros.cmake")
#-----------------------------------------------------------------------------
# Prepare external dependencies for cross compiling
IF(ANDROID)
UNSET(DCMTK_TRY_RUN_ANDROID_RUNTIME_INSTALLED CACHE)
DCMTK_ANDROID_START_EMULATOR(DCMTK_ANDROID_EMULATOR_INSTANCE)
- DCMTK_ATEXIT(DCMTK_ANDROID_STOP_EMULATOR DCMTK_ANDROID_EMULATOR_INSTANCE)
ENDIF()
ENDIF(CMAKE_CROSSCOMPILING)
#-----------------------------------------------------------------------------
# Build directories
#-----------------------------------------------------------------------------
-SET(DCMTK_BUILD_CMKDIR ${CMAKE_BINARY_DIR})
+SET(DCMTK_BUILD_CMKDIR "${CMAKE_BINARY_DIR}")
#-----------------------------------------------------------------------------
# Start with clean DCMTKTargets.cmake, filled in GenerateCMakeExports.cmake
#-----------------------------------------------------------------------------
-FILE(WRITE ${DCMTK_BUILD_CMKDIR}/DCMTKTargets.cmake "")
+FILE(WRITE "${DCMTK_BUILD_CMKDIR}/DCMTKTargets.cmake" "")
#-----------------------------------------------------------------------------
# Platform-independent settings
ENDIF(COMMAND CMAKE_POLICY)
# pass optional build date to compiler
-ADD_DEFINITIONS(-DDCMTK_BUILD_DATE=\\\"2017-02-28\\\")
+#SET(DCMTK_BUILD_DATE "\\\"YYYY-MM-DD\\\"")
+IF(DCMTK_BUILD_DATE)
+ # Xcode needs one escaping layer more than (as far as we know) everyone else - we gotta go deeper!
+ IF(CMAKE_GENERATOR MATCHES Xcode)
+ STRING(REPLACE "\\" "\\\\" DCMTK_BUILD_DATE "${DCMTK_BUILD_DATE}")
+ ENDIF()
+ ADD_DEFINITIONS(-DDCMTK_BUILD_DATE=${DCMTK_BUILD_DATE})
+ENDIF(DCMTK_BUILD_DATE)
# make OFString(NULL) safe by default
ADD_DEFINITIONS(-DUSE_NULL_SAFE_OFSTRING)
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE")
- # FreeBSD and newer versions of OpenBSD fail with these flags
- ELSEIF(NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" AND (NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD" OR ${CMAKE_SYSTEM_VERSION} VERSION_LESS 4))
+ # Compiler flags for NetBSD
+ ELSEIF(${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_NETBSD_SOURCE -D_DEFAULT_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_NETBSD_SOURCE -D_DEFAULT_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L")
+ # Solaris, FreeBSD and newer versions of OpenBSD fail with these flags
+ ELSEIF(NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS" AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" AND (NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD" OR ${CMAKE_SYSTEM_VERSION} VERSION_LESS 4))
# Compiler flags for all other non-Windows systems
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L")
# define libraries and object files that must be linked to most Windows applications
IF(WIN32)
- SET(WIN32_STD_LIBRARIES ws2_32 netapi32 wsock32)
+ SET(WIN32_STD_LIBRARIES iphlpapi ws2_32 netapi32 wsock32)
IF(NOT DEFINED MINGW)
# additional object file needed for wildcard expansion; for wchar_t* support, use 'wsetargv'
SET(WIN32_STD_OBJECTS setargv)
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG")
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
+# determine which flags are required to enable C++11 features (if any)
+IF(NOT DEFINED DCMTK_CXX11_FLAGS)
+ IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
+ SET(DCMTK_CXX11_FLAGS "-std=c++11")
+ ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
+ IF(CMAKE_HOST_WIN32)
+ SET(DCMTK_CXX11_FLAGS "/Qstd=c++11")
+ ELSE()
+ SET(DCMTK_CXX11_FLAGS "-std=c++11")
+ ENDIF()
+ ELSE()
+ SET(DCMTK_CXX11_FLAGS "")
+ ENDIF()
+ SET(DCMTK_CXX11_FLAGS "${DCMTK_CXX11_FLAGS}" CACHE STRING "The flags to add to CMAKE_CXX_FLAGS for enabling C++11 (if any).")
+ MARK_AS_ADVANCED(DCMTK_CXX11_FLAGS)
+ENDIF(NOT DEFINED DCMTK_CXX11_FLAGS)
+
#-----------------------------------------------------------------------------
# Third party libraries
#-----------------------------------------------------------------------------
INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/3rdparty.cmake)
-#-----------------------------------------------------------------------------
-# C++11 support
-#-----------------------------------------------------------------------------
-
-MACRO(GET_CXX_VERSION VERSION)
- EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version OUTPUT_VARIABLE ${VERSION})
- STRING(REGEX REPLACE "^.*[ ]([0-9]\\.[0-9]\\.[0-9]).*$" "\\1" ${VERSION} "${${VERSION}}")
-ENDMACRO(GET_CXX_VERSION VERSION)
-
-MACRO(ALLOW_CXX11_SUPPORT FLAGS)
- IF(NOT DCMTK_CXX11_FLAGS)
- SET(DCMTK_CXX11_FLAGS ${FLAGS} CACHE STRING "Flags used to enable C++11 support.")
- ENDIF()
- IF(DCMTK_USE_CXX11_STL)
- MESSAGE(STATUS "Info: Configured DCMTK to use native C++11 features.")
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DCMTK_CXX11_FLAGS}")
- SET(DCMTK_TRY_COMPILE_REQUIRED_CMAKE_FLAGS ${DCMTK_TRY_COMPILE_REQUIRED_CMAKE_FLAGS} "-DCMAKE_CXX_FLAGS:STRING=${DCMTK_CXX11_FLAGS}")
- ELSE()
- MESSAGE(STATUS "Info: Your compiler supports C++11. You may enable C++11 features via \"DCMTK_USE_CXX11_STL\" to create a C++11 build of DCMTK.")
- SET(DCMTK_USE_CXX11_STL OFF CACHE BOOL "Enable or disable C++11 while building DCMTK.")
- ENDIF()
-ENDMACRO(ALLOW_CXX11_SUPPORT)
-
-MACRO(DENY_CXX11_SUPPORT)
- IF(DCMTK_USE_CXX11_STL)
- IF(DCMTK_CXX11_FLAGS AND NOT DCMTK_CXX11_FLAGS STREQUAL "unknown")
- MESSAGE(STATUS "Info: Enabling C++11 support with custom flags \"${DCMTK_CXX11_FLAGS}\" for a potentially unsupported compiler.")
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DCMTK_CXX11_FLAGS}")
- SET(DCMTK_TRY_COMPILE_REQUIRED_CMAKE_FLAGS ${DCMTK_TRY_COMPILE_REQUIRED_CMAKE_FLAGS} "-DCMAKE_CXX_FLAGS:STRING=${DCMTK_CXX11_FLAGS}")
- ELSE()
- MESSAGE(WARNING "DCMTK has been configured to use the C++11 STL, but the compiler does not seem to support C++11. Override this warning by setting DCMTK_CXX11_FLAGS to tell DCMTK how to enable C++11 support for your compiler.")
- SET(DCMTK_CXX11_FLAGS "unknown" CACHE STRING "Flags used to enable C++11 support.")
- ENDIF()
- ENDIF()
-ENDMACRO(DENY_CXX11_SUPPORT)
-
-IF(CMAKE_COMPILER_IS_GNUCXX)
- GET_CXX_VERSION(GXX_VERSION)
- IF(GXX_VERSION VERSION_GREATER 4.8.1 OR GXX_VERSION VERSION_EQUAL 4.8.1)
- ALLOW_CXX11_SUPPORT("-std=c++11")
- ELSE()
- DENY_CXX11_SUPPORT()
- ENDIF()
-ELSEIF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
- GET_CXX_VERSION(CLANG_VERSION)
- IF(CLANG_VERSION VERSION_GREATER 3.3 OR CLANG_VERSION VERSION_EQUAL 3.3)
- ALLOW_CXX11_SUPPORT("-std=c++11")
- ELSE()
- DENY_CXX11_SUPPORT()
- ENDIF()
-ELSE()
- DENY_CXX11_SUPPORT()
-ENDIF()
-
#-----------------------------------------------------------------------------
# DCMTK libraries
#-----------------------------------------------------------------------------
ENDIF(HAVE_LIBRT)
ENDIF(HAVE_PTHREAD_H)
ENDIF(WITH_THREADS)
+
+#-----------------------------------------------------------------------------
+# Test for socket libraries if needed (Solaris)
+#-----------------------------------------------------------------------------
+
+SET(SOCKET_LIBS)
+
+FUNCTION(DCMTK_TEST_SOCKET_LIBRARY NAME SYMBOL)
+ STRING(TOUPPER "${NAME}" VARNAME)
+ CHECK_LIBRARY_EXISTS("${NAME}" "main" "" "HAVE_LIB${VARNAME}_MAIN")
+ IF(NOT HAVE_LIB${VARNAME}_MAIN)
+ CHECK_LIBRARY_EXISTS("${NAME}" "${SYMBOL}" "" "HAVE_LIB${VARNAME}")
+ ENDIF(NOT HAVE_LIB${VARNAME}_MAIN)
+ IF(HAVE_LIB${VARNAME} OR HAVE_LIB${VARNAME}_MAIN)
+ LIST(APPEND SOCKET_LIBS "${NAME}")
+ SET(SOCKET_LIBS "${SOCKET_LIBS}" PARENT_SCOPE)
+ ENDIF(HAVE_LIB${VARNAME} OR HAVE_LIB${VARNAME}_MAIN)
+ENDFUNCTION(DCMTK_TEST_SOCKET_LIBRARY)
+
+DCMTK_TEST_SOCKET_LIBRARY(nsl "gethostbyname")
+DCMTK_TEST_SOCKET_LIBRARY(socket "socket")
+
+#-----------------------------------------------------------------------------
+# Test if SunPro compiler and add features
+#-----------------------------------------------------------------------------
+
+IF(CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -features=tmplrefstatic")
+ENDIF()
DCMTK_UNSET(DCMTK_TRY_COMPILE_CMAKE_FLAGS)
ENDIF()
TRY_COMPILE(${VAR}
- ${CMAKE_BINARY_DIR}
- ${DCMTK_TRY_COMPILE_FILE}
+ "${CMAKE_BINARY_DIR}"
+ "${DCMTK_TRY_COMPILE_FILE}"
${DCMTK_TRY_COMPILE_CMAKE_FLAGS}
OUTPUT_VARIABLE OUTPUT
${ARGN})
IF(${VAR})
MESSAGE(STATUS "Checking whether ${MESSAGE} -- yes")
SET(${VAR} 1 CACHE INTERNAL "${MESSAGE}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ FILE(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log"
"${MESSAGE} passed with the following output:\n"
"${OUTPUT}\n")
ELSE(${VAR})
MESSAGE(STATUS "Checking whether ${MESSAGE} -- no")
SET(${VAR} 0 CACHE INTERNAL "${MESSAGE}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ FILE(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
"${MESSAGE} failed with the following output:\n"
"${OUTPUT}\n")
ENDIF(${VAR})
"CMAKE_FLAGS;COMPILE_DEFINITIONS;ARGS"
${ARGN}
)
- GET_FILENAME_COMPONENT(OUTPUT_EXECUTABLE_NAME ${srcfile} NAME)
- SET(OUTPUT_EXECUTABLE_NAME ${OUTPUT_EXECUTABLE_NAME}${CMAKE_EXECUTABLE_SUFFIX})
- SET(OUTPUT_EXECUTABLE ${bindir}/${OUTPUT_EXECUTABLE_NAME})
- SET(TRY_COMPILE_ARGS ${COMPILE_RESULT_VAR} ${bindir} ${srcfile})
+ GET_FILENAME_COMPONENT(OUTPUT_EXECUTABLE_NAME "${srcfile}" NAME)
+ SET(OUTPUT_EXECUTABLE_NAME "${OUTPUT_EXECUTABLE_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
+ SET(OUTPUT_EXECUTABLE "${bindir}/${OUTPUT_EXECUTABLE_NAME}")
+ SET(TRY_COMPILE_ARGS "${COMPILE_RESULT_VAR}" "${bindir}" "${srcfile}")
IF(DCMTK_TRY_RUN_CMAKE_FLAGS)
LIST(APPEND TRY_COMPILE_ARGS CMAKE_FLAGS ${DCMTK_TRY_RUN_CMAKE_FLAGS} ${DCMTK_TRY_COMPILE_REQUIRED_CMAKE_FLAGS})
ELSEIF(DCMTK_TRY_COMPILE_REQUIRED_CMAKE_FLAGS)
IF(DCMTK_TRY_RUN_COMPILE_OUTPUT_VARIABLE)
LIST(APPEND TRY_COMPILE_ARGS OUTPUT_VARIABLE ${DCMTK_TRY_RUN_COMPILE_OUTPUT_VARIABLE})
ENDIF()
- TRY_COMPILE(${TRY_COMPILE_ARGS} COPY_FILE ${OUTPUT_EXECUTABLE})
- SET(${COMPILE_RESULT_VAR} ${${COMPILE_RESULT_VAR}} PARENT_SCOPE)
+ TRY_COMPILE(${TRY_COMPILE_ARGS} COPY_FILE "${OUTPUT_EXECUTABLE}")
+ SET("${COMPILE_RESULT_VAR}" ${${COMPILE_RESULT_VAR}} PARENT_SCOPE)
IF(DCMTK_TRY_RUN_COMPILE_OUTPUT_VARIABLE)
- SET(${DCMTK_TRY_RUN_COMPILE_OUTPUT_VARIABLE} ${${DCMTK_TRY_RUN_COMPILE_OUTPUT_VARIABLE}} PARENT_SCOPE)
+ SET("${DCMTK_TRY_RUN_COMPILE_OUTPUT_VARIABLE}" ${${DCMTK_TRY_RUN_COMPILE_OUTPUT_VARIABLE}} PARENT_SCOPE)
ENDIF()
IF(${COMPILE_RESULT_VAR})
IF(WIN32)
- WINE_COMMAND(CMD ${OUTPUT_EXECUTABLE} ${DCMTK_TRY_RUN_ARGS})
- IF(CMD)
- EXECUTE_PROCESS(
- COMMAND ${CMD}
- RESULT_VARIABLE ${RUN_RESULT_VAR}
- OUTPUT_VARIABLE ${DCMTK_TRY_RUN_RUN_OUTPUT_VARIABLE}
- ERROR_VARIABLE ${DCMTK_TRY_RUN_RUN_OUTPUT_VARIABLE}
- )
- ENDIF()
+ WINE_COMMAND(CMD "${OUTPUT_EXECUTABLE}" ${DCMTK_TRY_RUN_ARGS})
+ WINE_DETACHED("${RUN_RESULT_VAR}" "${DCMTK_TRY_RUN_RUN_OUTPUT_VARIABLE}" "${DCMTK_TRY_RUN_RUN_OUTPUT_VARIABLE}" "${WINE_WINE_PROGRAM}" ${CMD})
ELSEIF(ANDROID)
DCMTK_ANDROID_WAIT_FOR_EMULATOR(DCMTK_ANDROID_EMULATOR_INSTANCE)
IF(NOT DCMTK_TRY_RUN_ANDROID_RUNTIME_INSTALLED)
DCMTK_ANDROID_FIND_RUNTIME_LIBRARIES(ANDROID_RUNTIME_LIBRARIES)
SET(ANDROID_RUNTIME_LIBRARIES ${ANDROID_RUNTIME_LIBRARIES} CACHE INTERNAL "")
- DCMTK_ANDROID_PUSH(DCMTK_ANDROID_EMULATOR_INSTANCE ${ANDROID_RUNTIME_LIBRARIES} DESTINATION ${ANDROID_TEMPORARY_FILES_LOCATION})
+ DCMTK_ANDROID_PUSH(DCMTK_ANDROID_EMULATOR_INSTANCE ${ANDROID_RUNTIME_LIBRARIES} DESTINATION "${ANDROID_TEMPORARY_FILES_LOCATION}")
SET(DCMTK_TRY_RUN_ANDROID_RUNTIME_INSTALLED TRUE CACHE INTERNAL "")
ENDIF()
- DCMTK_ANDROID_PUSH(DCMTK_ANDROID_EMULATOR_INSTANCE ${OUTPUT_EXECUTABLE} DESTINATION ${ANDROID_TEMPORARY_FILES_LOCATION}/${OUTPUT_EXECUTABLE_NAME})
+ DCMTK_ANDROID_PUSH(DCMTK_ANDROID_EMULATOR_INSTANCE "${OUTPUT_EXECUTABLE}" DESTINATION "${ANDROID_TEMPORARY_FILES_LOCATION}/${OUTPUT_EXECUTABLE_NAME}")
DCMTK_ANDROID_SHELL(DCMTK_ANDROID_EMULATOR_INSTANCE
- COMMAND chmod 755 ${ANDROID_TEMPORARY_FILES_LOCATION}/${OUTPUT_EXECUTABLE_NAME}
+ COMMAND chmod 755 "${ANDROID_TEMPORARY_FILES_LOCATION}/${OUTPUT_EXECUTABLE_NAME}"
OUTPUT_QUIET
ERROR_QUIET
)
DCMTK_ANDROID_SHELL(DCMTK_ANDROID_EMULATOR_INSTANCE
- COMMAND "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${ANDROID_TEMPORARY_FILES_LOCATION}" ${ANDROID_TEMPORARY_FILES_LOCATION}/${OUTPUT_EXECUTABLE_NAME} ${DCMTK_TRY_RUN_ARGS}
- RESULT_VARIABLE ${RUN_RESULT_VAR}
- OUTPUT_VARIABLE ${DCMTK_TRY_RUN_RUN_OUTPUT_VARIABLE}
- ERROR_VARIABLE ${DCMTK_TRY_RUN_RUN_OUTPUT_VARIABLE}
+ COMMAND "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${ANDROID_TEMPORARY_FILES_LOCATION}" "${ANDROID_TEMPORARY_FILES_LOCATION}/${OUTPUT_EXECUTABLE_NAME}" ${DCMTK_TRY_RUN_ARGS}
+ RESULT_VARIABLE "${RUN_RESULT_VAR}"
+ OUTPUT_VARIABLE "${DCMTK_TRY_RUN_RUN_OUTPUT_VARIABLE}"
+ ERROR_VARIABLE "${DCMTK_TRY_RUN_RUN_OUTPUT_VARIABLE}"
)
ELSE()
MESSAGE(WARNING "Emulation for your target platform is not available, please fill in the required configure test results manually.")
- TRY_RUN(${RUN_RESULT_VAR} ${COMPILE_RESULT_VAR} ${bindir} ${srcfile} ${ARGN})
+ TRY_RUN("${RUN_RESULT_VAR}" "${COMPILE_RESULT_VAR}" "${bindir}" "${srcfile}" ${ARGN})
RETURN()
ENDIF()
- SET(${RUN_RESULT_VAR} ${${RUN_RESULT_VAR}} PARENT_SCOPE)
- SET(${DCMTK_TRY_RUN_RUN_OUTPUT_VARIABLE} ${${DCMTK_TRY_RUN_RUN_OUTPUT_VARIABLE}} PARENT_SCOPE)
+ SET("${RUN_RESULT_VAR}" ${${RUN_RESULT_VAR}} PARENT_SCOPE)
+ SET("${DCMTK_TRY_RUN_RUN_OUTPUT_VARIABLE}" ${${DCMTK_TRY_RUN_RUN_OUTPUT_VARIABLE}} PARENT_SCOPE)
ENDIF()
ENDFUNCTION(DCMTK_TRY_RUN_CROSS)
# All additional arguments will be ignored.
#
MACRO(DCMTK_ANDROID_DESTROY_OBJECT VAR)
- UNSET(${VAR} CACHE)
+ UNSET("${VAR}" CACHE)
ENDMACRO(DCMTK_ANDROID_DESTROY_OBJECT)
#
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
FOREACH(DIR ${ANDROID_STL_INCLUDE_DIRS})
IF(CMAKE_VERSION VERSION_LESS 2.8.11)
- GET_FILENAME_COMPONENT(DIR ${DIR} PATH)
+ GET_FILENAME_COMPONENT(DIR "${DIR}" PATH)
ELSE()
- GET_FILENAME_COMPONENT(DIR ${DIR} DIRECTORY)
+ GET_FILENAME_COMPONENT(DIR "${DIR}" DIRECTORY)
ENDIF()
- LIST(APPEND ANDROID_STL_LIBRARY_DIRS ${DIR})
+ LIST(APPEND ANDROID_STL_LIBRARY_DIRS "${DIR}")
ENDFOREACH()
FIND_LIBRARY(ANDROID_STL_SHARED_OBJECT ${ANDROID_STL} PATHS ${ANDROID_STL_LIBRARY_DIRS} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
IF(ANDROID_STL_SHARED_OBJECT)
- SET(${VAR} ${ANDROID_STL_SHARED_OBJECT} PARENT_SCOPE)
+ SET("${VAR}" ${ANDROID_STL_SHARED_OBJECT} PARENT_SCOPE)
ENDIF()
ENDFUNCTION(DCMTK_ANDROID_FIND_RUNTIME_LIBRARIES)
"or set the missing tools manually!"
)
ELSE()
- EXECUTE_PROCESS(COMMAND ${ANDROID_ANDROID_PROGRAM} list avd RESULT_VARIABLE RESULT OUTPUT_VARIABLE OUTPUT ERROR_QUIET)
+ EXECUTE_PROCESS(COMMAND "${ANDROID_ANDROID_PROGRAM}" list avd RESULT_VARIABLE RESULT OUTPUT_VARIABLE OUTPUT ERROR_QUIET)
STRING(REGEX MATCHALL "Name:[ \t]*[^\r\n]*" ANDROID_AVAILABLE_AVDS ${OUTPUT})
STRING(REGEX REPLACE "Name:[ \t]*([^\r\n;]*)" "\\1" ANDROID_AVAILABLE_AVDS "${ANDROID_AVAILABLE_AVDS}")
SET(ANDROID_EMULATOR_AVD "${ANDROID_EMULATOR_AVD}" CACHE STRING "Android emulator Android Virtual Device (AVD) configuration" FORCE)
DCMTK_SETUP_ANDROID_EMULATOR()
IF(ANDROID_ADB_PROGRAM)
EXECUTE_PROCESS(
- COMMAND ${ANDROID_ADB_PROGRAM} devices
+ COMMAND "${ANDROID_ADB_PROGRAM}" devices
RESULT_VARIABLE RESULT
OUTPUT_VARIABLE DEVICES_RAW
ERROR_QUIET
LIST(GET DS 0 EMULATOR_NAME)
LIST(GET DS 1 EMULATOR_STATE)
IF(EMULATOR_STATE MATCHES "^device$")
- LIST(APPEND ${ONLINE} ${EMULATOR_NAME})
+ LIST(APPEND "${ONLINE}" ${EMULATOR_NAME})
ELSE()
- LIST(APPEND ${OFFLINE} ${EMULATOR_NAME})
+ LIST(APPEND "${OFFLINE}" ${EMULATOR_NAME})
ENDIF()
ENDIF()
ENDFOREACH()
ENDIF()
- SET(${ONLINE} ${${ONLINE}} PARENT_SCOPE)
- SET(${OFFLINE} ${${OFFLINE}} PARENT_SCOPE)
+ SET("${ONLINE}" ${${ONLINE}} PARENT_SCOPE)
+ SET("${OFFLINE}" ${${OFFLINE}} PARENT_SCOPE)
ENDFUNCTION(DCMTK_ANDROID_LIST_EMULATORS)
#
#
FUNCTION(DCMTK_ANDROID_GET_EMULATOR_UUID EMULATOR_NAME VAR)
EXECUTE_PROCESS(
- COMMAND ${ANDROID_ADB_PROGRAM} -s ${EMULATOR_NAME} shell getprop
+ COMMAND "${ANDROID_ADB_PROGRAM}" -s "${EMULATOR_NAME}" shell getprop "ro.emu.uuid"
RESULT_VARIABLE RESULT
OUTPUT_VARIABLE OUTPUT
ERROR_QUIET
)
DCMTK_UNSET_PARENT_SCOPE(${VAR})
IF(NOT RESULT)
- STRING(REGEX REPLACE ".*\\[emu\\.uuid\\]: \\[([^]]+)\\].*" "\\1" ${VAR} "${OUTPUT}")
- IF(${VAR})
- SET(${VAR} ${${VAR}} PARENT_SCOPE)
+ STRING(STRIP "${OUTPUT}" UUID)
+ IF(UUID)
+ SET("${VAR}" ${UUID} PARENT_SCOPE)
ENDIF()
ENDIF()
ENDFUNCTION(DCMTK_ANDROID_GET_EMULATOR_UUID)
FUNCTION(DCMTK_ANDROID_GET_EMULATOR_NAME VAR EMULATOR_UUID)
DCMTK_ANDROID_LIST_EMULATORS(ONLINE_EMULATORS OFFLINE_EMULATORS)
FOREACH(EMULATOR ${ONLINE_EMULATORS})
- DCMTK_ANDROID_GET_EMULATOR_UUID(${EMULATOR} UUID)
+ DCMTK_ANDROID_GET_EMULATOR_UUID("${EMULATOR}" UUID)
IF(EMULATOR_UUID STREQUAL UUID)
- SET(${VAR} ${EMULATOR} PARENT_SCOPE)
+ SET("${VAR}" "${EMULATOR}" PARENT_SCOPE)
RETURN()
ENDIF()
ENDFOREACH()
LIST(GET OFFLINE_EMULATORS 0 EMULATOR)
LIST(REMOVE_AT OFFLINE_EMULATORS 0)
EXECUTE_PROCESS(
- COMMAND ${ANDROID_ADB_PROGRAM} -s ${EMULATOR} wait-for-device
+ COMMAND "${ANDROID_ADB_PROGRAM}" -s "${EMULATOR}" wait-for-device
TIMEOUT 1
RESULT_VARIABLE RESULT
OUTPUT_QUIET
ERROR_QUIET
)
IF(NOT RESULT)
- DCMTK_ANDROID_GET_EMULATOR_UUID(${EMULATOR} UUID)
+ DCMTK_ANDROID_GET_EMULATOR_UUID("${EMULATOR}" UUID)
IF(UUID)
IF(EMULATOR_UUID STREQUAL UUID)
- SET(${VAR} ${EMULATOR} PARENT_SCOPE)
+ SET("${VAR}" "${EMULATOR}" PARENT_SCOPE)
RETURN()
ENDIF()
ELSE()
- LIST(APPEND OFFLINE_EMULATORS ${EMULATOR})
+ LIST(APPEND OFFLINE_EMULATORS "${EMULATOR}")
ENDIF()
ELSE()
- LIST(APPEND OFFLINE_EMULATORS ${EMULATOR})
+ LIST(APPEND OFFLINE_EMULATORS "${EMULATOR}")
ENDIF()
ENDWHILE()
ENDFUNCTION()
IF(NOT ANDROID_EMULATOR_AVD)
MESSAGE(FATAL_ERROR "Please select which Android emulator Android Virtual Device (AVD) configuration to use!")
ELSE()
- DCMTK_ANDROID_GET_OBJECT_PROPERTIES(${VAR})
+ DCMTK_ANDROID_GET_OBJECT_PROPERTIES("${VAR}")
IF(NOT EMULATOR_STATE)
DCMTK_ANDROID_EMULATOR_GENERATE_UUID(EMULATOR_UUID)
ELSEIF(EMULATOR_STATE STREQUAL "RUNNING")
- DCMTK_ANDROID_GET_EMULATOR_UUID(${EMULATOR_NAME} UUID)
+ DCMTK_ANDROID_GET_EMULATOR_UUID("${EMULATOR_NAME}" UUID)
# Do nothing if the running emulator instance is ok and can be reused.
# Otherwise restart it.
IF(UUID STREQUAL EMULATOR_UUID)
ELSEIF(EMULATOR_STATE STREQUAL "STARTING")
# Is it really starting, or has somebody aborted it?
MESSAGE(STATUS "Found previously started Android device emulator, checking if it's still present...")
- DCMTK_ANDROID_GET_EMULATOR_NAME(EMULATOR_NAME ${EMULATOR_UUID})
+ DCMTK_ANDROID_GET_EMULATOR_NAME(EMULATOR_NAME "${EMULATOR_UUID}")
IF(EMULATOR_NAME)
MESSAGE(STATUS "Found previously started Android device emulator, checking if it's still present... yes")
- DCMTK_ANDROID_SET_OBJECT_PROPERTIES(${VAR} RUNNING ${EMULATOR_UUID} ${EMULATOR_NAME})
+ DCMTK_ANDROID_SET_OBJECT_PROPERTIES(${VAR} RUNNING "${EMULATOR_UUID}" "${EMULATOR_NAME}")
RETURN()
ENDIF()
MESSAGE(STATUS "Found previously started Android device emulator, checking if it's still present... no")
ENDIF()
MESSAGE(STATUS "Starting the Android device emulator...")
IF(CMAKE_HOST_SYSTEM MATCHES "Windows.*")
- SET(COMMAND sh -c "${ANDROID_EMULATOR_PROGRAM} -avd ${ANDROID_EMULATOR_AVD} -no-boot-anim -noaudio -prop emu.uuid=${EMULATOR_UUID} >/dev/null 2>&1 < /dev/null &")
+ SET(COMMAND sh -c "${ANDROID_EMULATOR_PROGRAM} -avd ${ANDROID_EMULATOR_AVD} -no-boot-anim -prop ro.emu.uuid=${EMULATOR_UUID} >${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/android-emulator.log 2>&1 < /dev/null &")
ELSE()
- SET(COMMAND sh -c "${ANDROID_EMULATOR_PROGRAM} -avd ${ANDROID_EMULATOR_AVD} -no-window -no-boot-anim -noaudio -prop emu.uuid=${EMULATOR_UUID} >/dev/null 2>&1 < /dev/null &")
+ SET(COMMAND sh -c "${ANDROID_EMULATOR_PROGRAM} -avd ${ANDROID_EMULATOR_AVD} -no-window -no-boot-anim -prop ro.emu.uuid=${EMULATOR_UUID} >${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/android-emulator.log 2>&1 < /dev/null &")
ENDIF()
EXECUTE_PROCESS(
COMMAND ${COMMAND}
ERROR_QUIET
)
IF(NOT RESULT)
- DCMTK_ANDROID_SET_OBJECT_PROPERTIES(${VAR} STARTING ${EMULATOR_UUID} "")
+ DCMTK_ANDROID_SET_OBJECT_PROPERTIES("${VAR}" STARTING "${EMULATOR_UUID}" "")
ELSE()
- DCMTK_ANDROID_DESTROY_OBJECT(${VAR})
+ DCMTK_ANDROID_DESTROY_OBJECT("${VAR}")
MESSAGE(FATAL_ERROR "Error starting Android emulator.")
ENDIF()
ENDIF()
ENDFUNCTION(DCMTK_ANDROID_START_EMULATOR)
+#
+# Restart adb/the emulated device in root mode so that we gain write access to
+# the device.
+# Newer versions of the SDK seem to require this for doing anything meaningful
+# with it.
+# EMULATOR_NAME - the name of the emulated device that shall be rooted.
+# Will ignore all additional arguments.
+#
+FUNCTION(DCMTK_ANDROID_ADB_ROOT EMULATOR_NAME)
+ EXECUTE_PROCESS(
+ COMMAND "${ANDROID_ADB_PROGRAM}" -s "${EMULATOR_NAME}" root
+ OUTPUT_QUIET
+ ERROR_QUIET
+ )
+ # the SDK was seemingly designed by a five year old, the device will
+ # become invisible while it is being rooted, therefore, wait until
+ # it is ready again
+ SET(STATUS 1)
+ WHILE(STATUS)
+ EXECUTE_PROCESS(
+ COMMAND "${ANDROID_ADB_PROGRAM}" -s "${EMULATOR_NAME}" wait-for-device
+ RESULT_VARIABLE STATUS
+ OUTPUT_QUIET
+ ERROR_QUIET
+ )
+ ENDWHILE()
+ENDFUNCTION(DCMTK_ANDROID_ADB_ROOT)
+
#
# Waits until the given emulator instance becomes online (RUNNING).
# VAR - the emulator instance handle object referring to the emulator
# Will ignore all additional arguments.
#
FUNCTION(DCMTK_ANDROID_WAIT_FOR_EMULATOR VAR)
- DCMTK_ANDROID_GET_OBJECT_PROPERTIES(${VAR})
+ DCMTK_ANDROID_GET_OBJECT_PROPERTIES("${VAR}")
IF(NOT EMULATOR_STATE)
MESSAGE(AUTHOR_WARNING "Error: ${VAR} is not a valid Android emulator instance handle.")
ELSEIF(EMULATOR_STATE STREQUAL "RUNNING")
ELSE()
MESSAGE(STATUS "Waiting until the Android device emulator is ready to receive instructions...")
WHILE(NOT EMULATOR_NAME)
- DCMTK_ANDROID_GET_EMULATOR_NAME(EMULATOR_NAME ${EMULATOR_UUID})
+ DCMTK_ANDROID_GET_EMULATOR_NAME(EMULATOR_NAME "${EMULATOR_UUID}")
ENDWHILE()
- DCMTK_ANDROID_SET_OBJECT_PROPERTIES(${VAR} RUNNING ${EMULATOR_UUID} ${EMULATOR_NAME})
+ DCMTK_ANDROID_ADB_ROOT("${EMULATOR_NAME}")
+ DCMTK_ANDROID_SET_OBJECT_PROPERTIES("${VAR}" RUNNING "${EMULATOR_UUID}" "${EMULATOR_NAME}")
ENDIF()
ENDFUNCTION(DCMTK_ANDROID_WAIT_FOR_EMULATOR)
#
MACRO(DCMTK_ANDROID_STOP_EMULATOR_COMMAND VAR EMULATOR_NAME)
IF(CMAKE_HOST_SYSTEM MATCHES "Windows.*")
- UNSET(${VAR})
+ UNSET("${VAR}")
ELSE()
- SET(${VAR} ${ANDROID_ADB_PROGRAM} -s ${EMULATOR_NAME} emu kill)
+ SET("${VAR}" "${ANDROID_ADB_PROGRAM}" -s "${EMULATOR_NAME}" emu kill)
ENDIF()
ENDMACRO(DCMTK_ANDROID_STOP_EMULATOR_COMMAND)
#
MACRO(DCMTK_ANDROID_EMULATOR_SHUTDOWN_MESSAGE VAR)
IF(CMAKE_HOST_SYSTEM MATCHES "Windows.*")
- SET(${VAR} WARNING "The Android device emulator can't be terminated automatically under Windows, please shutdown \"${EMULATOR_NAME}\" manually!")
+ SET("${VAR}" WARNING "The Android device emulator can't be terminated automatically under Windows, please shutdown \"${EMULATOR_NAME}\" manually!")
ELSE()
- SET(${VAR} STATUS "Shutting down the Android device emulator...")
+ SET("${VAR}" STATUS "Shutting down the Android device emulator...")
ENDIF()
ENDMACRO(DCMTK_ANDROID_EMULATOR_SHUTDOWN_MESSAGE)
# Will ignore all additional arguments.
#
FUNCTION(DCMTK_ANDROID_STOP_EMULATOR VAR)
- DCMTK_ANDROID_GET_OBJECT_PROPERTIES(${VAR})
+ DCMTK_ANDROID_GET_OBJECT_PROPERTIES("${VAR}")
IF(NOT EMULATOR_STATE)
MESSAGE(AUTHOR_WARNING "Error: ${VAR} is not a valid Android emulator instance handle.")
ELSEIF(EMULATOR_STATE STREQUAL "STARTING")
# Can't tell it to stop if it is not done starting
- DCMTK_ANDROID_WAIT_FOR_EMULATOR(${VAR})
+ DCMTK_ANDROID_WAIT_FOR_EMULATOR("${VAR}")
ELSEIF(EMULATOR_STATE STREQUAL "STOPPED")
# Emulator is already stopped, do nothing
RETURN()
DCMTK_ANDROID_EMULATOR_SHUTDOWN_MESSAGE(MESSAGE)
MESSAGE(${MESSAGE})
IF(NOT CMAKE_HOST_SYSTEM MATCHES "Windows.*")
- DCMTK_ANDROID_STOP_EMULATOR_COMMAND(COMMAND ${EMULATOR_NAME})
+ DCMTK_ANDROID_STOP_EMULATOR_COMMAND(COMMAND "${EMULATOR_NAME}")
EXECUTE_PROCESS(
COMMAND ${COMMAND}
RESULT_VARIABLE RESULT
ERROR_QUIET
)
IF(NOT RESULT)
- DCMTK_ANDROID_SET_OBJECT_PROPERTIES(${VAR} STOPPED ${EMULATOR_UUID} "")
+ DCMTK_ANDROID_SET_OBJECT_PROPERTIES("${VAR}" STOPPED "${EMULATOR_UUID}" "")
ELSE()
MESSAGE(WARNING "Unable to stop the android device emulator, please shutdown \"${EMULATOR_NAME}\" manually!")
ENDIF()
# CMake's FILE(COPY ...) command.
#
FUNCTION(DCMTK_ANDROID_PUSH VAR)
- DCMTK_ANDROID_GET_OBJECT_PROPERTIES(${VAR})
+ DCMTK_ANDROID_GET_OBJECT_PROPERTIES("${VAR}")
IF(NOT EMULATOR_STATE)
MESSAGE(AUTHOR_WARNING "Error: ${VAR} is not a valid Android emulator instance handle.")
ELSEIF(EMULATOR_STATE STREQUAL "RUNNING")
CMAKE_PARSE_ARGUMENTS(DCMTK_ANDROID_PUSH "" "" "DESTINATION" ${ARGN})
FOREACH(LOCAL_FILE ${DCMTK_ANDROID_PUSH_UNPARSED_ARGUMENTS})
EXECUTE_PROCESS(
- COMMAND ${ANDROID_ADB_PROGRAM} -s ${EMULATOR_NAME} push ${LOCAL_FILE} ${DCMTK_ANDROID_PUSH_DESTINATION}
+ COMMAND "${ANDROID_ADB_PROGRAM}" -s "${EMULATOR_NAME}" push "${LOCAL_FILE}" "${DCMTK_ANDROID_PUSH_DESTINATION}"
RESULT_VARIABLE RESULT
OUTPUT_QUIET
ERROR_QUIET
# CMake's FILE(COPY ...) command.
#
FUNCTION(DCMTK_ANDROID_PULL VAR)
- DCMTK_ANDROID_GET_OBJECT_PROPERTIES(${VAR})
+ DCMTK_ANDROID_GET_OBJECT_PROPERTIES("${VAR}")
IF(NOT EMULATOR_STATE)
MESSAGE(AUTHOR_WARNING "Error: ${VAR} is not a valid Android emulator instance handle.")
ELSEIF(EMULATOR_STATE STREQUAL "RUNNING")
CMAKE_PARSE_ARGUMENTS(DCMTK_ANDROID_PULL "" "" "DESTINATION" ${ARGN})
FOREACH(REMOTE_FILE ${DCMTK_ANDROID_PULL_UNPARSED_ARGUMENTS})
EXECUTE_PROCESS(
- COMMAND ${ANDROID_ADB_PROGRAM} -s ${EMULATOR_NAME} pull ${REMOTE_FILE} ${DCMTK_ANDROID_PULL_DESTINATION}
+ COMMAND "${ANDROID_ADB_PROGRAM}" -s "${EMULATOR_NAME}" pull "${REMOTE_FILE}" "${DCMTK_ANDROID_PULL_DESTINATION}"
RESULT_VARIABLE RESULT
OUTPUT_QUIET
ERROR_QUIET
# CMake's EXECUTE_PROCESS(...) command.
#
FUNCTION(DCMTK_ANDROID_SHELL VAR)
- DCMTK_ANDROID_GET_OBJECT_PROPERTIES(${VAR})
+ DCMTK_ANDROID_GET_OBJECT_PROPERTIES("${VAR}")
IF(NOT EMULATOR_STATE)
MESSAGE(AUTHOR_WARNING "Error: ${VAR} is not a valid Android emulator instance handle.")
ELSEIF(EMULATOR_STATE STREQUAL "RUNNING")
)
# Prepare commandline
- SET(COMMAND ${ANDROID_ADB_PROGRAM} -s ${EMULATOR_NAME} shell)
+ SET(COMMAND "${ANDROID_ADB_PROGRAM}" -s "${EMULATOR_NAME}" shell)
IF(DCMTK_ANDROID_SHELL_WORKING_DIRECTORY)
LIST(APPEND COMMAND "cd" "${DCMTK_ANDROID_SHELL_WORKING_DIRECTORY}" "&&")
ENDIF()
# Prepare output redirection (buffering)
IF(STREAMS_MERGED)
- LIST(APPEND COMMAND > ${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_output 2>&1)
+ LIST(APPEND COMMAND > "${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_output" 2>&1)
ELSE()
- LIST(APPEND COMMAND > ${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_output 2> ${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_error)
+ LIST(APPEND COMMAND > "${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_output" 2> "${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_error")
ENDIF()
# Prepare capturing the result
- LIST(APPEND COMMAND "\;" echo -n $? > ${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_result)
+ LIST(APPEND COMMAND "\;" echo -n $? > "${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_result")
# Run the command
EXECUTE_PROCESS(
IF(ADB_RESULT)
MESSAGE(WARNING "Error sending command to the Android emulator, adb reported the error: ${ADB_OUTPUT}")
IF(DCMTK_ANDROID_SHELL_RESULT_VARIABLE)
- SET(${DCMTK_ANDROID_SHELL_RESULT_VARIABLE} ${ADB_RESULT} PARENT_SCOPE)
+ SET("${DCMTK_ANDROID_SHELL_RESULT_VARIABLE}" ${ADB_RESULT} PARENT_SCOPE)
ENDIF()
ELSE(ADB_RESULT)
# Receive results
- DCMTK_ANDROID_PULL(${VAR} ${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_output ${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_error ${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_result
- DESTINATION ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}
+ DCMTK_ANDROID_PULL("${VAR}" "${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_output" "${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_error" "${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_result"
+ DESTINATION "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}"
)
# Cleanup temp files
EXECUTE_PROCESS(
- COMMAND ${ANDROID_ADB_PROGRAM} -s ${EMULATOR_NAME} shell rm ${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_output "\;" rm ${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_error "\;" rm ${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_result
+ COMMAND "${ANDROID_ADB_PROGRAM}" -s "${EMULATOR_NAME}" shell rm "${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_output" "\;" rm "${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_error" "\;" rm "${ANDROID_TEMPORARY_FILES_LOCATION}/${PREFIX}_result"
RESULT_VARIABLE RESULT_QUIET
OUTPUT_QUIET
ERROR_QUIET
)
# Analyze results
IF(DCMTK_ANDROID_SHELL_RESULT_VARIABLE)
- FILE(READ ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_result ${DCMTK_ANDROID_SHELL_RESULT_VARIABLE})
- SET(${DCMTK_ANDROID_SHELL_RESULT_VARIABLE} ${${DCMTK_ANDROID_SHELL_RESULT_VARIABLE}} PARENT_SCOPE)
+ FILE(READ "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_result" "${DCMTK_ANDROID_SHELL_RESULT_VARIABLE}")
+ SET("${DCMTK_ANDROID_SHELL_RESULT_VARIABLE}" ${${DCMTK_ANDROID_SHELL_RESULT_VARIABLE}} PARENT_SCOPE)
ENDIF()
IF(NOT DCMTK_ANDROID_SHELL_OUTPUT_QUIET OR (STREAMS_MERGED AND NOT DCMTK_ANDROID_SHELL_ERROR_QUIET))
- FILE(READ ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_output ${DCMTK_ANDROID_SHELL_OUTPUT_VARIABLE})
+ FILE(READ "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_output" "${DCMTK_ANDROID_SHELL_OUTPUT_VARIABLE}")
IF(PUSH_OUTPUT_VAR)
- SET(${DCMTK_ANDROID_SHELL_OUTPUT_VARIABLE} ${${DCMTK_ANDROID_SHELL_OUTPUT_VARIABLE}} PARENT_SCOPE)
+ SET("${DCMTK_ANDROID_SHELL_OUTPUT_VARIABLE}" ${${DCMTK_ANDROID_SHELL_OUTPUT_VARIABLE}} PARENT_SCOPE)
ELSE()
MESSAGE("${${DCMTK_ANDROID_SHELL_OUTPUT_VARIABLE}}")
ENDIF()
ENDIF()
IF(NOT DCMTK_ANDROID_SHELL_ERROR_QUIET AND NOT STREAMS_MERGED)
- FILE(READ ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_error ${DCMTK_ANDROID_SHELL_ERROR_VARIABLE})
+ FILE(READ "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_error" "${DCMTK_ANDROID_SHELL_ERROR_VARIABLE}")
IF(PUSH_ERROR_VAR)
- SET(${DCMTK_ANDROID_SHELL_ERROR_VARIABLE} ${${DCMTK_ANDROID_SHELL_ERROR_VARIABLE}} PARENT_SCOPE)
+ SET("${DCMTK_ANDROID_SHELL_ERROR_VARIABLE}" ${${DCMTK_ANDROID_SHELL_ERROR_VARIABLE}} PARENT_SCOPE)
ELSE()
MESSAGE("${${DCMTK_ANDROID_SHELL_ERROR_VARIABLE}}")
ENDIF()
ENDIF()
# Cleanup temp files
- FILE(REMOVE ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_result)
- FILE(REMOVE ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_output)
- FILE(REMOVE ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_error)
+ FILE(REMOVE "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_result")
+ FILE(REMOVE "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_output")
+ FILE(REMOVE "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_error")
ENDIF(ADB_RESULT)
ELSE()
MESSAGE(AUTHOR_WARNING "Error: the Android emulator \"${VAR}\" is not ready to receive commands")
"Please set WINE_WINE_PROGRAM and WINE_WINEPATH_PROGRAM appropriately."
)
ENDIF()
+ # prepare wine prefix for configure and unit tests
+ IF(NOT DCMTK_WINEPREFIX)
+ SET(DCMTK_WINEPREFIX "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/wineprefix" CACHE INTERNALE "the path of the wineprefix to use for configuration and unit tests")
+ MESSAGE(STATUS "Info: Preparing wine prefix for configuration and unit tests: ${DCMTK_WINEPREFIX}")
+ STRING(REPLACE "\\" "\\\\" WINE_CPP_RUNTIME "${WINE_CPP_RUNTIME}")
+ SET(WINE_PATH_REG "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/dcmtkWinePath.reg")
+ CONFIGURE_FILE("${DCMTK_SOURCE_DIR}/CMake/dcmtkWinePath.reg.in" "${WINE_PATH_REG}" ESCAPE_QUOTES @ONLY)
+ SET(ENV{WINEPREFIX} "${DCMTK_WINEPREFIX}")
+ EXECUTE_PROCESS(COMMAND "${WINE_WINE_PROGRAM}" "regedit" "${WINE_PATH_REG}"
+ OUTPUT_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/wineprefix.log"
+ ERROR_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/wineprefix.log"
+ OUTPUT_VARIABLE RESULT
+ )
+ IF(RESULT)
+ SET(DCMTK_WINEPREFIX CACHE INTERNAL "error, see ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/wineprefix.log")
+ MESSAGE(FATAL_ERROR "Failed to setup the wineprefix, see \"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/wineprefix.log\"")
+ ENDIF()
+ ELSE()
+ SET(ENV{WINEPREFIX} "${DCMTK_WINEPREFIX}")
+ ENDIF()
ENDFUNCTION(DCMTK_SETUP_WINE)
+#
+# Helper function to detach the output and error streams from a wine process, so
+# that CMake doesn't wait for the wineserver to quit before continuing execution.
+# VAR - the variable that will hold the exit code of the launched process.
+# OUTPUT_VAR - the variable that will hold the standard output of the launched process.
+# ERROR_VAR - the variable that will hold the error output of the launched process.
+# ARGN - the command to execute.
+#
+FUNCTION(WINE_DETACHED VAR OUTPUT_VAR ERROR_VAR)
+ # Prefix to prevent collision of output capturing files
+ IF(CMAKE_VERSION VERSION_LESS 2.8.7)
+ STRING(RANDOM LENGTH 20 ALPHABET "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" PREFIX)
+ ELSE()
+ STRING(MD5 PREFIX "${ARGN}")
+ ENDIF()
+ SET(OUTPUT_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_output")
+ IF(OUTPUT_VAR STREQUAL ERROR_VAR)
+ SET(ERROR_FILE "${OUTPUT_FILE}")
+ ELSE()
+ SET(ERROR_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PREFIX}_error")
+ ENDIF()
+ EXECUTE_PROCESS(
+ COMMAND ${ARGN}
+ OUTPUT_FILE "${OUTPUT_FILE}"
+ ERROR_FILE "${ERROR_FILE}"
+ RESULT_VARIABLE RESULT
+ )
+ FILE(READ "${OUTPUT_FILE}" OUTPUT)
+ SET("${OUTPUT_VAR}" ${OUTPUT} PARENT_SCOPE)
+ IF(OUTPUT_VAR STREQUAL ERROR_VAR)
+ FILE(REMOVE "${OUTPUT_FILE}")
+ ELSE()
+ FILE(READ "${ERROR_FILE}" ERROR)
+ SET("${ERROR_VAR}" ${ERROR} PARENT_SCOPE)
+ FILE(REMOVE "${OUTPUT_FILE}" "${ERROR_FILE}")
+ ENDIF()
+ SET("${VAR}" ${RESULT} PARENT_SCOPE)
+ENDFUNCTION(WINE_DETACHED)
+
#
# Uses 'winepath' to translate a host path or filename to the location it can be
# accessed from within the emulated Windows environment (e. g. replaces '/' by '\').
# Additional arguments will be ignored.
#
FUNCTION(UNIX_TO_WINE_PATH VAR PATH)
- EXECUTE_PROCESS(
- COMMAND ${WINE_WINEPATH_PROGRAM} -w ${PATH}
- RESULT_VARIABLE ERROR
- OUTPUT_VARIABLE RESULT
- ERROR_VARIABLE STDERR
- )
+ WINE_DETACHED(ERROR RESULT STDERR "${WINE_WINEPATH_PROGRAM}" "-w" "${PATH}")
IF(NOT ERROR)
STRING(REPLACE "\n" "" RESULT ${RESULT})
SET(${VAR} ${RESULT} PARENT_SCOPE)
FUNCTION(WINE_COMMAND VAR COMMAND)
UNIX_TO_WINE_PATH(CMD ${COMMAND})
SEPARATE_ARGUMENTS(ARGS WINDOWS_COMMAND "${ARGN}")
- SET(${VAR} ${WINE_WINE_PROGRAM} cmd /c "PATH=${WINE_CPP_RUNTIME}\;%PATH%" \\& ${CMD} ${ARGS} PARENT_SCOPE)
+ SET(${VAR} "${CMD}" ${ARGS} PARENT_SCOPE)
ENDFUNCTION()
--- /dev/null
+REGEDIT4\r
+\r
+[HKEY_CURRENT_USER\Environment]\r
+"PATH"="@WINE_CPP_RUNTIME@"\r
/* Define to 1 if you have the `getlogin' function. */
#cmakedefine HAVE_GETLOGIN @HAVE_GETLOGIN@
+/* Define to 1 if you have the `getlogin_r' function. */
+#cmakedefine HAVE_GETLOGIN_R @HAVE_GETLOGIN_R@
+
/* Define to 1 if you have the `getpid' function. */
#cmakedefine HAVE_GETPID @HAVE_GETPID@
/* Define to 1 if you have the `nsl' library (-lnsl). */
#cmakedefine HAVE_LIBNSL @HAVE_LIBNSL@
-/* Define to 1 if you have the <libpng/png.h> header file. */
-/* Comment this out so inside dipipng.cxx we can include <png.h> */
-/* instead of <libpng/png.h> KW 20060622 */
-/* #cmakedefine HAVE_LIBPNG_PNG_H @HAVE_LIBPNG_PNG_H@ */
+/* Define to 1 if the <libpng/png.h> header shall be used instead of <png.h>. */
+#cmakedefine HAVE_LIBPNG_PNG_H @HAVE_LIBPNG_PNG_H@
/* Define to 1 if you have the `socket' library (-lsocket). */
#cmakedefine HAVE_LIBSOCKET @HAVE_LIBSOCKET@
/* Define to 1 if you have the <sys/systeminfo.h> header file. */
#cmakedefine HAVE_SYS_SYSTEMINFO_H @HAVE_SYS_SYSTEMINFO_H@
+/* Define to 1 if you have readdir_r */
+#cmakedefine HAVE_READDIR_R @HAVE_READDIR_R@
+
/* Define if your system supports readdir_r with the obsolete Posix 1.c draft
6 declaration (2 arguments) instead of the Posix 1.c declaration with 3
arguments. */
/* #undef HAVE_OLD_READDIR_R */
+/* Define if your system has a prototype for feenableexcept in fenv.h */
+#cmakedefine HAVE_PROTOTYPE_FEENABLEEXCEPT @HAVE_PROTOTYPE_FEENABLEEXCEPT@
+
/* Define if your system has a prototype for accept in sys/types.h
sys/socket.h */
#cmakedefine HAVE_PROTOTYPE_ACCEPT @HAVE_PROTOTYPE_ACCEPT@
stdlib.h netdb.h */
#cmakedefine HAVE_PROTOTYPE_GETHOSTBYNAME_R @HAVE_PROTOTYPE_GETHOSTBYNAME_R@
+/* Define if your system has a prototype for gethostbyaddr_r in libc.h unistd.h
+ stdlib.h netdb.h */
+#cmakedefine HAVE_PROTOTYPE_GETHOSTBYADDR_R @HAVE_PROTOTYPE_GETHOSTBYADDR_R@
+
/* Define if your system has a prototype for gethostid in libc.h unistd.h
stdlib.h netdb.h */
#cmakedefine HAVE_PROTOTYPE_GETHOSTID @HAVE_PROTOTYPE_GETHOSTID@
/* Define to 1 if you have the `nanosleep' function. */
#cmakedefine HAVE_NANOSLEEP @HAVE_NANOSLEEP@
+/* Define if libc.h should be treated as a C++ header */
+#cmakedefine INCLUDE_LIBC_H_AS_CXX @INCLUDE_LIBC_H_AS_CXX@
+
/* Define if <math.h> fails if included extern "C" */
-#define INCLUDE_MATH_H_AS_CXX 1
+#cmakedefine INCLUDE_MATH_H_AS_CXX @INCLUDE_MATH_H_AS_CXX@
/* Define to 1 if you have variable length arrays. */
#cmakedefine HAVE_VLA @HAVE_VLA@
/* Define if signal handlers need ellipse (...) parameters */
/* #undef SIGNAL_HANDLER_WITH_ELLIPSE */
-/* Define to enable LFS64 (explicit large file support) if available*/
-#cmakedefine _LARGEFILE64_SOURCE @_LARGEFILE64_SOURCE@
+/* LFS mode constants. */
+#define DCMTK_LFS 1
+#define DCMTK_LFS64 2
-/* Explicitly request large file support, assuming it exists if fseeko() exists */
-#if defined(HAVE_FSEEKO) && !defined(_LARGEFILE_SOURCE)
-#define _LARGEFILE_SOURCE 1
-#endif
-#if defined(_LARGEFILE_SOURCE) && !defined(_FILE_OFFSET_BITS)
-#define _FILE_OFFSET_BITS 64
-#endif
+/* Select LFS mode (defined above) that shall be used or don't define it */
+#cmakedefine DCMTK_ENABLE_LFS @DCMTK_LFS_MODE@
/* The size of a `char', as computed by sizeof. */
#cmakedefine SIZEOF_CHAR @SIZEOF_CHAR@
/* The size of a `void *', as computed by sizeof. */
#cmakedefine SIZEOF_VOID_P @SIZEOF_VOID_P@
+/* The size of a `fpos_t', as computed by sizeof. */
+#cmakedefine SIZEOF_FPOS_T @SIZEOF_FPOS_T@
+
+/* The size of a `off_t', as computed by sizeof. */
+#cmakedefine SIZEOF_OFF_T @SIZEOF_OFF_T@
+
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
#cmakedefine HAVE_LONGLONG
#cmakedefine HAVE_ULONGLONG
+#cmakedefine HAVE_INT64_T @HAVE_INT64_T@
+#cmakedefine HAVE_UINT64_T @HAVE_UINT64_T@
+
/* Additional settings for Borland C++ Builder */
#ifdef __BORLANDC__
#define _stricmp stricmp /* _stricmp in MSVC is stricmp in Borland C++ */
#endif
#define HAVE_PROTOTYPE_MKTEMP 1
#undef HAVE_SYS_UTIME_H
-#define NO_IOS_BASE_ASSIGN 1
#define _MSC_VER 1200 /* Treat Borland C++ 5.5 as MSVC6. */
#endif /* __BORLANDC__ */
/* Define if your system defines ios::nocreate in iostream.h */
#cmakedefine HAVE_IOS_NOCREATE @HAVE_IOS_NOCREATE@
-#ifdef USE_STD_CXX_INCLUDES
-
/* Define if ANSI standard C++ includes use std namespace */
-#define HAVE_STD_NAMESPACE 1
-
-/* Define if it is not possible to assign stream objects */
-#define NO_IOS_BASE_ASSIGN 1
+#cmakedefine HAVE_STD_NAMESPACE @HAVE_STD_NAMESPACE@
/* Define if the compiler supports std::nothrow */
-#define HAVE_STD__NOTHROW 1
-
-/* Define if the compiler supports operator delete (std::nothrow).
- * Microsoft Visual C++ 6.0 does NOT have it, newer versions do.
- * For other compilers, by default assume that it exists.
- */
-#if defined(_MSC_VER) && (_MSC_VER <= 1200)
-/* #undef HAVE_NOTHROW_DELETE */
-#else
-#define HAVE_NOTHROW_DELETE 1
-#endif
-
-/* Define if your system has a prototype for std::vfprintf in stdarg.h */
-/* #undef HAVE_PROTOTYPE_STD__VFPRINTF */
-
-#else
-
-/* Define if ANSI standard C++ includes use std namespace */
-/* #undef HAVE_STD_NAMESPACE */
-
-/* Define if it is not possible to assign stream objects */
-/* #undef NO_IOS_BASE_ASSIGN */
-
-/* Define if the compiler supports std::nothrow */
-/* #undef HAVE_STD__NOTHROW */
+#cmakedefine HAVE_STD__NOTHROW @HAVE_STD__NOTHROW@
/* Define if the compiler supports operator delete (std::nothrow) */
-/* #undef HAVE_NOTHROW_DELETE */
+#cmakedefine HAVE_NOTHROW_DELETE @HAVE_NOTHROW_DELETE@
/* Define if your system has a prototype for std::vfprintf in stdarg.h */
#cmakedefine HAVE_PROTOTYPE_STD__VFPRINTF @HAVE_PROTOTYPE_STD__VFPRINTF@
-#endif /* USE_STD_CXX_INCLUDES */
-
/* Define if your system has off64_t */
#cmakedefine HAVE_OFF64_T @HAVE_OFF64_T@
/* Always define STDIO_NAMESPACE to ::, because MSVC6 gets mad if you don't. */
#define STDIO_NAMESPACE ::
-/* Enable or disable C++11 while building DCMTK */
-#cmakedefine DCMTK_USE_CXX11_STL @DCMTK_USE_CXX11_STL@
+/* Define if we can use C++11 */
+#cmakedefine HAVE_CXX11 @HAVE_CXX11@
-#if defined(DCMTK_USE_CXX11_STL) && defined(__cplusplus) && __cplusplus < 201103L
+#if defined(HAVE_CXX11) && defined(__cplusplus) && __cplusplus < 201103L
#error\
- DCMTK was configured to use the C++11 STL, but your compiler is not configured\
- for building with C++11 features.
+DCMTK was configured to use C++11 features, but your compiler does not or was not configured to provide them.
#endif
/* Define if the compiler supports __alignof__ */
/* Define if __attribute__((aligned)) supports templates */
#cmakedefine ATTRIBUTE_ALIGNED_SUPPORTS_TEMPLATES @ATTRIBUTE_ALIGNED_SUPPORTS_TEMPLATES@
-/* Define if alignas supports typedefs */
-#cmakedefine ALIGNAS_SUPPORTS_TYPEDEFS @ALIGNAS_SUPPORTS_TYPEDEFS@
-
/* Define if the compiler supports __declspec(align) */
#cmakedefine HAVE_DECLSPEC_ALIGN @HAVE_DECLSPEC_ALIGN@
/* The path on the Android device that should be used for temporary files */
#cmakedefine ANDROID_TEMPORARY_FILES_LOCATION "@ANDROID_TEMPORARY_FILES_LOCATION@"
+/* Define if we are supposed to use STL's vector */
+#cmakedefine HAVE_STL_VECTOR @HAVE_STL_VECTOR@
+
+/* Define if we are supposed to use STL's algorithms */
+#cmakedefine HAVE_STL_ALGORITHM @HAVE_STL_ALGORITHM@
+
+/* Define if we are supposed to use STL's limit */
+#cmakedefine HAVE_STL_LIMITS @HAVE_STL_LIMITS@
+
+/* Define if we are supposed to use STL's list */
+#cmakedefine HAVE_STL_LIST @HAVE_STL_LIST@
+
+/* Define if we are supposed to use STL's list */
+#cmakedefine HAVE_STL_MAP @HAVE_STL_MAP@
+
+/* Define if we are supposed to use STL's memory */
+#cmakedefine HAVE_STL_MEMORY @HAVE_STL_MEMORY@
+
+/* Define if we are supposed to use STL's stack */
+#cmakedefine HAVE_STL_STACK @HAVE_STL_STACK@
+
+/* Define if we are supposed to use STL's string */
+#cmakedefine HAVE_STL_STRING @HAVE_STL_STRING@
+
+/* Define if we are supposed to use STL's type_traits */
+#cmakedefine HAVE_STL_TYPE_TRAITS @HAVE_STL_TYPE_TRAITS@
+
+/* Define if we are supposed to use STL's tuple */
+#cmakedefine HAVE_STL_TUPLE @HAVE_STL_TUPLE@
+
+/* Define if we are supposed to use STL's system_error */
+#cmakedefine HAVE_STL_SYSTEM_ERROR @HAVE_STL_SYSTEM_ERROR@
+
#endif /* !OSCONFIG_H*/
PROJECT(DCMTK)
# Minimum CMake version required
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6.2)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3)
+
+# Disables a warning emitted by CMake 3.7.2. The same setting is performed
+# again in CMake/dcmtkPrepare.cmake (included below), but the warning is still
+# emitted if it is not set here (it only goes away if the policy is set in
+# both files).
+# We do not entirely understand this behavior, perhaps it is a bug in CMake?
+IF(POLICY CMP0017)
+ CMAKE_POLICY(SET CMP0017 NEW)
+ENDIF()
# Check the build system
INCLUDE(CMake/dcmtkPrepare.cmake NO_POLICY_SCOPE)
# Include directories
#-----------------------------------------------------------------------------
-SET(DCMTK_INCLUDE_DIR ${DCMTK_BINARY_DIR}/config/include)
+SET(DCMTK_INCLUDE_DIR "${DCMTK_BINARY_DIR}/config/include")
FOREACH(inc ${DCMTK_MODULES})
- LIST(APPEND DCMTK_INCLUDE_DIR ${DCMTK_SOURCE_DIR}/${inc}/include)
+ LIST(APPEND DCMTK_INCLUDE_DIR "${DCMTK_SOURCE_DIR}/${inc}/include")
ENDFOREACH(inc)
INCLUDE_DIRECTORIES(${DCMTK_INCLUDE_DIR})
#-----------------------------------------------------------------------------
# add the osconfig.h.in file
-CONFIGURE_FILE(${DCMTK_SOURCE_DIR}/CMake/osconfig.h.in
- ${DCMTK_BINARY_DIR}/config/include/dcmtk/config/osconfig.h)
+CONFIGURE_FILE("${DCMTK_SOURCE_DIR}/CMake/osconfig.h.in"
+ "${DCMTK_BINARY_DIR}/config/include/dcmtk/config/osconfig.h")
#-----------------------------------------------------------------------------
# Prepare arith.h
INSPECT_FUNDAMENTAL_ARITHMETIC_TYPES()
+# ----------------------------------------------------------------------------
+# Unit test related configuration/setup
+# ----------------------------------------------------------------------------
+
+IF(CMAKE_CROSSCOMPILING)
+ IF(WIN32)
+ SET(DCMTK_RUN_CTEST_SCRIPT "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/dcmtkCTestRunWine.cmake" CACHE INTERNAL "path to the CMake script for launching a unit test as a detached Wine process in the prepared wineprefix")
+ ELSEIF(ANDROID)
+ SET(DCMTK_RUN_CTEST_SCRIPT "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/dcmtkCTestRunAndroid.cmake" CACHE INTERNAL "path to the CMake script for launching a unit test via the android emulator")
+ ELSE()
+ MESSAGE(WARNING "Emulation for your target platform is not available, CTest will not be able to execute the unit tests!")
+ ENDIF()
+ELSE(CMAKE_CROSSCOMPILING)
+ SET(DCMTK_RUN_CTEST_SCRIPT "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/dcmtkCTestRun.cmake" CACHE INTERNAL "path to the CMake script for launching a unit test")
+ENDIF(CMAKE_CROSSCOMPILING)
+# Add a target to run the unit tests in exhaustive mode
+ADD_CUSTOM_TARGET("test-exhaustive"
+ COMMAND "${CMAKE_COMMAND}" "-P"
+ "${DCMTK_SOURCE_DIR}/CMake/CTest/dcmtkCTestRunExhaustive.cmake"
+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
+)
+
#-----------------------------------------------------------------------------
# Start actual compilation tasks
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Install global headers
-INSTALL(FILES ${DCMTK_BINARY_DIR}/config/include/dcmtk/config/osconfig.h
- ${DCMTK_BINARY_DIR}/config/include/dcmtk/config/arith.h
- DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk/config
+INSTALL(FILES "${DCMTK_BINARY_DIR}/config/include/dcmtk/config/osconfig.h"
+ "${DCMTK_BINARY_DIR}/config/include/dcmtk/config/arith.h"
+ DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk/config"
COMPONENT include)
# Install DCMTK's general documentation files
INSTALL(FILES ANNOUNCE CHANGES COPYRIGHT CREDITS FAQ HISTORY VERSION
- DESTINATION ${DCMTK_INSTALL_DOCDIR}
+ DESTINATION "${DCMTK_INSTALL_DOCDIR}"
COMPONENT doc)
-INSTALL(DIRECTORY docs/ DESTINATION ${DCMTK_INSTALL_DOCDIR}
+INSTALL(DIRECTORY docs/ DESTINATION "${DCMTK_INSTALL_DOCDIR}"
COMPONENT doc FILES_MATCHING PATTERN "CHANGES.???")
#-----------------------------------------------------------------------------
# defined within CMake/GenerateCMakeExports.cmake.
# Install DCMTKTargets.cmake to install tree
INSTALL(EXPORT DCMTKTargets FILE DCMTKTargets.cmake
- DESTINATION ${DCMTK_INSTALL_CMKDIR} COMPONENT cmake)
+ DESTINATION "${DCMTK_INSTALL_CMKDIR}" COMPONENT cmake)
# Install DCMTKConfig.cmake and DCMTKConfigVersion.cmake
- INSTALL(FILES ${DCMTK_INSTALL_CONFIG} ${DCMTK_CONFIG_VERSION}
- DESTINATION ${DCMTK_INSTALL_CMKDIR} COMPONENT cmake)
+ INSTALL(FILES "${DCMTK_INSTALL_CONFIG}" "${DCMTK_CONFIG_VERSION}"
+ DESTINATION "${DCMTK_INSTALL_CMKDIR}" COMPONENT cmake)
ELSE(HAVE_CONFIGURE_PACKAGE_CONFIG_FILE AND HAVE_WRITE_BASIC_PACKAGE_VERSION_FILE)
MESSAGE(STATUS "Warning: Using old CONFIGURE_FILE() mechanism to produce DCMTKConfig.cmake")
# Actually configure file
- CONFIGURE_FILE(${DCMTK_SOURCE_DIR}/CMake/DCMTKConfig.cmake26.in
- ${DCMTK_BINARY_DIR}/DCMTKConfig.cmake @ONLY)
+ CONFIGURE_FILE("${DCMTK_SOURCE_DIR}/CMake/DCMTKConfig.old_cmake.in"
+ "${DCMTK_BINARY_DIR}/DCMTKConfig.cmake" @ONLY)
# Install DCMTKConfig.cmake and DCMTKConfigVersion.cmake
- INSTALL(FILES ${DCMTK_BINARY_DIR}/DCMTKConfig.cmake ${DCMTK_BINARY_DIR}/DCMTKConfigVersion.cmake
- DESTINATION ${DCMTK_INSTALL_CMKDIR}
+ INSTALL(FILES "${DCMTK_BINARY_DIR}/DCMTKConfig.cmake" "${DCMTK_BINARY_DIR}/DCMTKConfigVersion.cmake"
+ DESTINATION "${DCMTK_INSTALL_CMKDIR}"
COMPONENT cmake)
ENDIF(HAVE_CONFIGURE_PACKAGE_CONFIG_FILE AND HAVE_WRITE_BASIC_PACKAGE_VERSION_FILE)
#-----------------------------------------------------------------------------
-# Configure files needed for cross compiling (if any)
+# Configure files needed for running the unit tests and cleanup
#-----------------------------------------------------------------------------
IF(CMAKE_CROSSCOMPILING)
- IF(ANDROID)
- # setup the CTestCustom.cmake file as appropriate for android
- FILE(COPY ${DCMTK_SOURCE_DIR}/CMake/CTest/CTestCustom.cmake
- DESTINATION ${CMAKE_BINARY_DIR}
+ IF(WIN32)
+ STRING(REPLACE ";" "${ENVIRONMENT_PATH_SEPARATOR}" DCMDICTPATH "${DCMTK_DICOM_DICTIONARIES}")
+ CONFIGURE_FILE("${DCMTK_SOURCE_DIR}/CMake/CTest/CTestCustomWine.cmake.in"
+ "${DCMTK_BINARY_DIR}/CTestCustom.cmake" ESCAPE_QUOTES @ONLY
+ )
+ CONFIGURE_FILE("${DCMTK_SOURCE_DIR}/CMake/CTest/dcmtkCTestRunWine.cmake.in"
+ "${DCMTK_RUN_CTEST_SCRIPT}" ESCAPE_QUOTES @ONLY
+ )
+ ELSEIF(ANDROID)
+ DCMTK_ANDROID_STOP_EMULATOR(DCMTK_ANDROID_EMULATOR_INSTANCE)
+ # Prepare setting environment variable DCMDICTPATH
+ SET(DICTIONARIES ${DCMTK_DICOM_DICTIONARIES})
+ LIST(GET DICTIONARIES 0 DCMDICTPATH)
+ LIST(REMOVE_AT DICTIONARIES 0)
+ GET_FILENAME_COMPONENT(DCMDICTPATH "${DCMDICTPATH}" NAME)
+ SET(DCMDICTPATH "${ANDROID_TEMPORARY_FILES_LOCATION}/${DCMDICTPATH}")
+ FOREACH(DICTIONARY ${DICTIONARIES})
+ GET_FILENAME_COMPONENT(FILE "${DICTIONARY}" NAME)
+ SET(DCMDICTPATH "${DCMDICTPATH}:${ANDROID_TEMPORARY_FILES_LOCATION}/${FILE}")
+ ENDFOREACH()
+ CONFIGURE_FILE("${DCMTK_SOURCE_DIR}/CMake/CTest/CTestCustomAndroid.cmake.in"
+ "${DCMTK_BINARY_DIR}/CTestCustom.cmake" ESCAPE_QUOTES @ONLY
)
- # prepare the configuration for unit testing
- CONFIGURE_FILE(${DCMTK_SOURCE_DIR}/CMake/CTest/dcmtkCTestConfig.cmake.in
- ${CMAKE_BINARY_DIR}/dcmtkCTestConfig.cmake @ONLY
+ CONFIGURE_FILE("${DCMTK_SOURCE_DIR}/CMake/CTest/dcmtkCTestRunAndroid.cmake.in"
+ "${DCMTK_RUN_CTEST_SCRIPT}" ESCAPE_QUOTES @ONLY
)
+ ELSE()
+ # nothing to do
ENDIF()
+ELSE(CMAKE_CROSSCOMPILING)
+ STRING(REPLACE ";" "${ENVIRONMENT_PATH_SEPARATOR}" DCMDICTPATH "${DCMTK_DICOM_DICTIONARIES}")
+ CONFIGURE_FILE("${DCMTK_SOURCE_DIR}/CMake/CTest/dcmtkCTestRun.cmake.in"
+ "${DCMTK_RUN_CTEST_SCRIPT}" ESCAPE_QUOTES @ONLY
+ )
ENDIF(CMAKE_CROSSCOMPILING)
copyright:
/*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved.
*
* This software and supporting documentation were developed by
---------------------------------------------------------------------------
Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
-Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany
+Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
All rights reserved.
Redistribution and use in source and binary forms, with or without
---------------------------------------------------------------------------
-Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+Copyright (C) 2015-2017, J. Riesmeier, Oldenburg, Germany
All rights reserved.
Redistribution and use in source and binary forms, with or without
---------------------------------------------------------------------------
-The Android toolchain configuration file for CMake
-(CMake/android.toolchain.cmake) is borrowed from the OpenCV project and is
-covered by the following copyright:
-
----------------------------------------------------------------------------
-
-# Copyright (c) 2010-2011, Ethan Rublee
-# Copyright (c) 2011-2014, Andrey Kamaev
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its
-# contributors may be used to endorse or promote products derived from this
-# software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
----------------------------------------------------------------------------
-
The cielabutil source code (class IODCLabUtil) is adapted from Pascal Getreuer's
package for converting color representations
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---------------------------------------------------------------------------
+
+Finally, DCMTK can be configured and compiled to make use of a number of
+optional external libraries that, when available, provide added functionality
+such as compression, encryption, or support for certain image formats.
+For binary libraries and executables statically linked against these
+external libraries, the following additional copyright notices /
+licenses apply:
+
+When compiled with libiconv support:
+
+---------------------------------------------------------------------------
+
+GNU LESSER GENERAL PUBLIC LICENSE
+
+License text available at: https://www.gnu.org/licenses/lgpl.html
+
+---------------------------------------------------------------------------
+
+When compiled with libicu support:
+
+---------------------------------------------------------------------------
+
+Copyright (C) 1991-2017 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+---------------------------------------------------------------------------
+
+When compiled with libpng support:
+
+---------------------------------------------------------------------------
+
+This copy of the libpng notices is provided for your convenience. In case of
+any discrepancy between this copy and the notices in the file png.h that is
+included in the libpng distribution, the latter shall prevail.
+
+COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
+
+If you modify libpng you may insert additional notices immediately following
+this sentence.
+
+This code is released under the libpng license.
+
+libpng versions 1.0.7, July 1, 2000 through 1.6.29, March 16, 2017 are
+Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are
+derived from libpng-1.0.6, and are distributed according to the same
+disclaimer and license as libpng-1.0.6 with the following individuals
+added to the list of Contributing Authors:
+
+ Simon-Pierre Cadieux
+ Eric S. Raymond
+ Mans Rullgard
+ Cosmin Truta
+ Gilles Vollant
+ James Yu
+ Mandar Sahastrabuddhe
+ Google Inc.
+ Vadim Barkov
+
+and with the following additions to the disclaimer:
+
+ There is no warranty against interference with your enjoyment of the
+ library or against infringement. There is no warranty that our
+ efforts or the library will fulfill any of your particular purposes
+ or needs. This library is provided with all faults, and the entire
+ risk of satisfactory quality, performance, accuracy, and effort is with
+ the user.
+
+Some files in the "contrib" directory and some configure-generated
+files that are distributed with libpng have other copyright owners and
+are released under other open source licenses.
+
+libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
+Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
+libpng-0.96, and are distributed according to the same disclaimer and
+license as libpng-0.96, with the following individuals added to the list
+of Contributing Authors:
+
+ Tom Lane
+ Glenn Randers-Pehrson
+ Willem van Schaik
+
+libpng versions 0.89, June 1996, through 0.96, May 1997, are
+Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
+and are distributed according to the same disclaimer and license as
+libpng-0.88, with the following individuals added to the list of
+Contributing Authors:
+
+ John Bowler
+ Kevin Bracey
+ Sam Bushell
+ Magnus Holmgren
+ Greg Roelofs
+ Tom Tanner
+
+Some files in the "scripts" directory have other copyright owners
+but are released under this license.
+
+libpng versions 0.5, May 1995, through 0.88, January 1996, are
+Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
+
+For the purposes of this copyright and license, "Contributing Authors"
+is defined as the following set of individuals:
+
+ Andreas Dilger
+ Dave Martindale
+ Guy Eric Schalnat
+ Paul Schmidt
+ Tim Wegner
+
+The PNG Reference Library is supplied "AS IS". The Contributing Authors
+and Group 42, Inc. disclaim all warranties, expressed or implied,
+including, without limitation, the warranties of merchantability and of
+fitness for any purpose. The Contributing Authors and Group 42, Inc.
+assume no liability for direct, indirect, incidental, special, exemplary,
+or consequential damages, which may result from the use of the PNG
+Reference Library, even if advised of the possibility of such damage.
+
+Permission is hereby granted to use, copy, modify, and distribute this
+source code, or portions hereof, for any purpose, without fee, subject
+to the following restrictions:
+
+ 1. The origin of this source code must not be misrepresented.
+
+ 2. Altered versions must be plainly marked as such and must not
+ be misrepresented as being the original source.
+
+ 3. This Copyright notice may not be removed or altered from any
+ source or altered source distribution.
+
+The Contributing Authors and Group 42, Inc. specifically permit, without
+fee, and encourage the use of this source code as a component to
+supporting the PNG file format in commercial products. If you use this
+source code in a product, acknowledgment is not required but would be
+appreciated.
+
+END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE.
+
+TRADEMARK:
+
+The name "libpng" has not been registered by the Copyright owner
+as a trademark in any jurisdiction. However, because libpng has
+been distributed and maintained world-wide, continually since 1995,
+the Copyright owner claims "common-law trademark protection" in any
+jurisdiction where common-law trademark is recognized.
+
+OSI CERTIFICATION:
+
+Libpng is OSI Certified Open Source Software. OSI Certified Open Source is
+a certification mark of the Open Source Initiative. OSI has not addressed
+the additional disclaimers inserted at version 1.0.7.
+
+EXPORT CONTROL:
+
+The Copyright owner believes that the Export Control Classification
+Number (ECCN) for libpng is EAR99, which means not subject to export
+controls or International Traffic in Arms Regulations (ITAR) because
+it is open source, publicly available software, that does not contain
+any encryption software. See the EAR, paragraphs 734.3(b)(3) and
+734.7(b).
+
+Glenn Randers-Pehrson
+glennrp at users.sourceforge.net
+March 16, 2017
+
+---------------------------------------------------------------------------
+
+When compiled with libsndfile support:
+
+---------------------------------------------------------------------------
+
+GNU LESSER GENERAL PUBLIC LICENSE
+
+License text available at: https://www.gnu.org/licenses/lgpl.html
+
+---------------------------------------------------------------------------
+
+When compiled with libtiff support:
+
+---------------------------------------------------------------------------
+
+Copyright (c) 1988-1997 Sam Leffler
+Copyright (c) 1991-1997 Silicon Graphics, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and
+its documentation for any purpose is hereby granted without fee, provided
+that (i) the above copyright notices and this permission notice appear in
+all copies of the software and related documentation, and (ii) the names of
+Sam Leffler and Silicon Graphics may not be used in any advertising or
+publicity relating to the software without the specific, prior written
+permission of Sam Leffler and Silicon Graphics.
+
+THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
+EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
+ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
+OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
+LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+OF THIS SOFTWARE.
+
+---------------------------------------------------------------------------
+
+When compiled with libwrap support:
+
+---------------------------------------------------------------------------
+
+/************************************************************************
+* Copyright 1995 by Wietse Venema. All rights reserved. Some individual
+* files may be covered by other copyrights.
+*
+* This material was originally written and compiled by Wietse Venema at
+* Eindhoven University of Technology, The Netherlands, in 1990, 1991,
+* 1992, 1993, 1994 and 1995.
+*
+* Redistribution and use in source and binary forms are permitted
+* provided that this entire copyright notice is duplicated in all such
+* copies.
+*
+* This software is provided "as is" and without any expressed or implied
+* warranties, including, without limitation, the implied warranties of
+* merchantibility and fitness for any particular purpose.
+************************************************************************/
+
+---------------------------------------------------------------------------
+
+When compiled with libxml support:
+
+---------------------------------------------------------------------------
+
+The MIT License
+
+License text available at:
+https://opensource.org/licenses/mit-license.html
+
+---------------------------------------------------------------------------
+
+When compiled with openssl support:
+
+---------------------------------------------------------------------------
+
+ The OpenSSL toolkit stays under a double license, i.e. both the conditions of
+ the OpenSSL License and the original SSLeay license apply to the toolkit.
+ See below for the actual license texts.
+
+ OpenSSL License
+ ---------------
+
+/* ====================================================================
+ * Copyright (c) 1998-2017 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * openssl-core@openssl.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+ Original SSLeay License
+ -----------------------
+
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ *
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to. The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ *
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * "This product includes cryptographic software written by
+ * Eric Young (eay@cryptsoft.com)"
+ * The word 'cryptographic' can be left out if the rouines from the library
+ * being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from
+ * the apps directory (application code) you must include an acknowledgement:
+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed. i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+
+---------------------------------------------------------------------------
+
+When compiled with zlib support:
+
+---------------------------------------------------------------------------
+
+ (C) 1995-2017 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+
+If you use the zlib library in a product, we would appreciate *not* receiving
+lengthy legal documents to sign. The sources are provided for free but without
+warranty of any kind. The library has been entirely written by Jean-loup
+Gailly and Mark Adler; it does not include third-party code.
+
+If you redistribute modified sources, we would appreciate that you include in
+the file ChangeLog history information documenting your changes. Please read
+the FAQ for more information on the distribution of modified source versions.
+
+---------------------------------------------------------------------------
(in alphabetical order) for supporting the development and maintenance of the
Open Source DICOM Toolkit DCMTK:
+Carl Zeiss Meditec: The preparation and publication of the DCMTK 3.6.2 release
+ as well as several extensions in wlmscpfs and dcmqrscp were supported by
+ funding from Carl Zeiss Meditec AG (Muenchen, Germany).
DKFZ: The work on the DCMTK module "dcmrt" was supported in part by funding
from the Deutsches Krebsforschungszentrum (Heidelberg, Germany).
Please note that this list does not claim to be exhaustive. Just send us an
email if you think that you or your company/organization should also be listed.
-DCMTK Team, 2017-01-31
+DCMTK Team, 2017-04-20
-
==================================
DICOM TOOLKIT (DCMTK) INSTALLATION
==================================
--------------------------------------------------------------------------------
- IMPORTANT NOTE FOR SNAPSHOT AND CURRENT DEVELOPMENT VERSION 3.6.1_DEV
--------------------------------------------------------------------------------
- Please note that most sections of this document refer to the official release
- DCMTK 3.6.0, i.e. they are not yet updated for the changes of the latest
- development version 3.6.1. This will be done for the next release, which will
- probably be called version 3.6.2.
-
- The toolkit should compile on Linux systems with gcc 4.7.2 to 4.9.2 since
- this is our main development platform. Also on Windows systems, it usually
- works with VisualStudio 2008 to 2013. However, there is no guarantee that
- the software also compiles on your system.
--------------------------------------------------------------------------------
-
PRE-REQUISITES
==============
The DICOM toolkit (DCMTK) needs to be compiled with a C++ compiler. We
-recommend using the GNU C++ compiler in versions higher than 2.95 (most of the
-development was done using GNU C++ 4.1.2 on Linux 2.6). The software is also
-known to compile using the SUNPro C++ compiler, the Intel C++ compiler and the
-Microsoft Visual C++ compiler.
+recommend using the GNU C++ compiler in versions higher than 4.2.1 (most of the
+development was done using GNU C++ 4.9.2 on Linux 3.16). The software is also
+known to compile using the SUNPro C++ compiler, Clang and Microsoft Visual
+Studio.
Compatibility with other C++ compilers is unknown, however, we have tried to
-keep language demands to a minimum (newer C++ features such as ANSI C++ Library,
-Exceptions and RTTI have been avoided).
+keep language demands to a minimum (newer C++ features such as Exceptions and
+RTTI have been avoided and fall back implementations for all used STL classes
+are provided).
You will need several hundred Mbytes of disk space to compile all the software.
-----------------
The DCMTK software can be compiled under a native Microsoft Windows environment
-(see section "BUILDING (Windows)" below for more information).
+(see section "Microsoft Windows with CMake" below for more information).
-The current release successfully compiles on the following systems:
+The current release successfully compiles on the following operating system /
+hardware / compiler combinations:
- Windows XP / Intel x86 / Microsoft Visual C++ 6.0 (Service Pack 6)
- Windows XP / Intel x86 / Microsoft Visual C++ 2005 Standard (VS 8)
- Windows XP / Intel x86 / Microsoft Visual C++ 2008 Express (VS 9)
- Windows XP / Intel x86 / Microsoft Visual C++ 2010 Express (VS 10)
- Windows Vista / Intel x86 / Microsoft Visual C++ 2008 Professional (VS 9)
+ Windows 7 / Intel x86 / Microsoft Visual C++ 2005 Express (VS 8)
+ Windows 7 / Intel x86 / Microsoft Visual C++ 2008 Express (VS 9)
Windows 7 / Intel x86 / Microsoft Visual C++ 2010 Express (VS 10)
+ Windows 7 / Intel x86 / Microsoft Visual C++ 2012 Express (VS 11)
+ Windows 7 / Intel x86 / Microsoft Visual C++ 2013 Express (VS 12)
+ Windows 7 / Intel x86 / Microsoft Visual C++ 2015 Community (VS 14)
+ Windows 7 / Intel x86 / Microsoft Visual C++ 2017 Community (VS 15)
+ Windows 7 / Intel x86 / MinGW gcc 4.9.1 (i686-w64-mingw32)
Windows 7 / amd64|x86_64 / Microsoft Visual C++ 2010 Express (VS 10)
- Windows 7 / amd64|x86_64 / Microsoft Visual C++ 2010 Ultimate (VS 10)
-
-The dcmqrscp tool has been ported to Windows, but does not yet support
-multi-processing (i.e. multiple clients concurrently) under Windows. The
-worklist WWW scripts require an HTTP server and a Perl interpreter and have
-not been tested under Windows (file locking interaction with the wlmscpfs
-server may or may not work).
+ Windows 7 / amd64|x86_64 / Microsoft Visual C++ 2012 Express (VS 11)
+ Windows 7 / amd64|x86_64 / Microsoft Visual C++ 2013 Express (VS 12)
+ Windows 7 / amd64|x86_64 / Microsoft Visual C++ 2015 Community (VS 14)
+ Windows 7 / amd64|x86_64 / Microsoft Visual C++ 2017 Community (VS 15)
+ Windows 7 / amd64|x86_64 / MinGW gcc 4.9.1 (x86_64-w64-mingw32)
+ Windows 8.1 / Intel x86 / Microsoft Visual C++ 2008 Express (VS 9)
+ Windows 8.1 / Intel x86 / Microsoft Visual C++ 2010 Express (VS 10)
+ Windows 8.1 / Intel x86 / Microsoft Visual C++ 2012 Express (VS 11)
+ Windows 8.1 / Intel x86 / Microsoft Visual C++ 2015 Express (VS 14)
+ Windows 8.1 / Intel x86 / Microsoft Visual C++ 2017 Community (VS 15)
+ Windows 8.1 / amd64|x86_64 / Microsoft Visual C++ 2010 Express (VS 10)
+ Windows 8.1 / amd64|x86_64 / Microsoft Visual C++ 2012 Express (VS 11)
+ Windows 8.1 / amd64|x86_64 / Microsoft Visual C++ 2015 Express (VS 14)
+ Windows 8.1 / amd64|x86_64 / Microsoft Visual C++ 2017 Community (VS 15)
+ Windows 10 / amd64|x86_64 / Microsoft Visual C++ 2015 Community (VS 14)
Unix (or lookalikes)
--------------------
operating system / hardware / compiler combinations using the instructions
given below:
- FreeBSD 6.4 / Intel x86 / GNU gcc 3.4.6
- FreeBSD 7.3 / Intel x86 / GNU gcc 4.2.1
- FreeBSD 8.1 / Intel x86 / GNU gcc 4.2.1
- FreeBSD 8.1 / amd64|x86_64 / GNU gcc 4.2.1
- HP-UX 10.20 / HP PA-RISC / GNU gcc 2.95.3 (see note *1,*2)
- IRIX 6.3 / SGI O2 / GNU gcc 2.95.3 (see note *1)
- Linux 2.4.20 / Intel x86 / GNU gcc 2.95.3 (RedHat 7.3)
- Linux 2.4.21 / Intel x86 / GNU gcc 3.4.6 (CentOS 3.9)
- Linux 2.6.18 / Intel x86 / GNU gcc 4.1.2 (Debian 4.0)
- Linux 2.6.18 / amd64|x86_64 / Intel Compiler 11.1 (Scientific Linux 5.5)
- Linux 2.6.18 / amd64|x86_64 / GNU gcc 4.1.2 (Debian 4.0)
- Linux 2.6.18 / amd64|x86_64 / GNU gcc 4.5.2 (CentOS 5.5)
- Linux 2.6.26 / amd64|x86_64 / GNU gcc 4.3.2 (Debian 5.0)
- Linux 2.6.32 / amd64|x86_64 / GNU gcc 4.4.4 (RHEL 6.0)
- Linux 2.6.34 / amd64|x86_64 / Intel Compiler 11.1 (SuSE 11.3, see note *3)
- Linux 2.6.35 / amd64|x86_64 / GNU gcc 4.4.5 (Ubuntu 10.10)
- MacOS X 10.4.10 / amd64|x86_64 / Apple gcc 4.0.1 (see note *10)
- MacOS X 10.6.5 / amd64|x86_64 / Apple gcc 4.2.1 (see note *10)
- OpenBSD 4.4 / Intel x86 / GNU gcc 3.3.5 propolice
- Solaris 9 / Sun Sparc / SunPro CC 5.8 (Sun Studio 11)
- Solaris 10 / Sun Sparc / SunPro CC 5.9 (Sun Studio 12u2)
- Solaris 10 / Sun Sparc / GNU gcc 3.4.3
- Windows XP / Intel x86 / CygWin 1.7.7-1 (gcc 3.4.4 and 4.3.4)
- Windows XP / Intel x86 / MinGW/MSys 1.0.11 (gcc 4.5.0)
-
-Earlier releases are known to also compile on the following platforms which
-are not available to us for testing purposes any more:
-
- FreeBSD 4.11 / Intel x86 / GNU gcc 2.95.4
- FreeBSD 6.0 / Intel x86 / GNU gcc 3.4.4
- HP-UX 9.05 / HP PA 1.1 / GNU gcc 2.7.2.1
- IBM AIX 3.2 / RS 6000 / IBM AIX XL C++ Compiler/6000 V1.0
- IRIX 5.3 / SGI Indy / GNU gcc 2.95.2 (see note *1)
- IRIX 6.5 / SGI Onyx / GNU gcc 2.95.2 (see note *4)
- IRIX 6.5 / SGI Onyx / MIPSpro 7.3.1.1m (see note *4)
- Linux 2.0.33 / Intel x86 / GNU gcc 2.7.2.1
- Linux 2.2.16 / IBM S/390 / GNU gcc 2.95.2
- Linux 2.2.16 / Intel x86 / GNU gcc 2.95.2
- Linux 2.4.20 / Intel x86 / GNU gcc 2.95.4, 3.2.3, 3.3.6, 3.4.5 and 4.0.3 (Debian)
- Linux 2.6.1 / amd64|x86_64 / GNU gcc 4.0 (Fedora Core 4)
- MacOS X 10.1.5 / Power Mac G4 / Apple gcc-934.3 (gcc 2.95.2, see note *5)
- MacOS X 10.3.3 / Power Mac G4 / Apple gcc-1640 (gcc 3.3)
- MacOS X 10.4.3 / Power Mac G4 / Apple gcc 4.0.1
- NetBSD 1.6.2 / Intel x86 / GNU gcc 2.95.3
- NetBSD 2.1 / Intel x86 / GNU gcc 3.3.3
- NeXTStep 3.3 / Intel x86 / NeXT/GNU gcc 2.5.8 (see note *6)
- OpenBSD 3.8 / Intel x86 / GNU gcc 3.3.5 propolice
- OSF/1 4.0 / DEC Alpha / Compaq C++ V6.3-002 (see note *7)
- OSF/1 4.0 / DEC Alpha / GNU gcc 2.95.3
- QNX 6.2.1 / Intel x86 / GNU gcc 2.95.3 (see note *8)
- Solaris 2.5.1 / Sun Sparc / GNU egcs 1.1.2 (egcs-2.91.66)
- Solaris 2.5.1 / Sun Sparc / Sun SC 2.0.1 (SunPro C++ 3.0.1)
- Solaris 2.5.1 / Sun Sparc / SunPro CC 4.2
- Solaris 7 / Sun Sparc / GNU gcc 2.95.3
- Solaris 7 / Sun Sparc / SunPro CC 4.2
- Solaris 8 / Sun Sparc / GNU gcc 3.2.3, 3.4
- Solaris 8 / Sun Sparc / SunPro CC 5.2 (Sun WorkShop 6 update 1)
- Solaris 9 / Sun Sparc / SunPro CC 5.2 (Sun WorkShop 6 update 1)
- Solaris 10 / Intel x86 / SunPro CC 5.8 (Sun Studio 11)
- SunOS 4.1.3 / Sun Sparc / GNU gcc 2.7.2
- Ultrix 4.4 / DEC MIPS / GNU gcc 2.95.2 (see notes *1,*9)
- Windows 9x / Intel x86 / Microsoft Visual C++ 5.0
- Windows NT 4.0 / Intel x86 / Microsoft Visual C++ 6.0 (Service Pack 6)
- Windows XP / Intel x86 / Microsoft Visual C++ .NET 2003 (VS 7.1)
- Windows XP / Intel x86 / CygWin 1.5.18 (gcc 3.4.4)
- Windows XP / Intel x86 / MinGW/MSys 1.0.10 (gcc 3.4.2)
+ FreeBSD 10.1 / amd64|x86_64 / Clang 3.4.1
+ Linux 4.11.9 / amd64|x86_64 / Clang 4.0.1 (Arch Linux)
+ Linux 4.11.9 / amd64|x86_64 / GNU gcc 7.1.1 (Arch Linux)
+ Linux 3.10.0 / amd64|x86_64 / Clang 3.4.2 (CentOS 7.3)
+ Linux 3.10.0 / amd64|x86_64 / GNU gcc 4.8.5 (CentOS 7.3)
+ Linux 3.16.0 / amd64|x86_64 / Clang 3.5.0 (Debian 8.8)
+ Linux 3.2.0 / amd64|x86_64 / GNU gcc 4.4.7 (Debian 7.11)
+ Linux 3.2.0 / amd64|x86_64 / GNU gcc 4.7.2 (Debian 7.11)
+ Linux 3.2.0 / amd64|x86_64 / GNU gcc 4.8.4 (Debian 7.11)
+ Linux 3.19.0 / amd64|x86_64 / Clang 3.9.1 (Linux Mint 17.3)
+ Linux 3.19.0 / amd64|x86_64 / GNU gcc 4.8.5 (Linux Mint 17.3)
+ Linux 3.19.0 / amd64|x86_64 / GNU gcc 5.4.1 (Linux Mint 17.3)
+ Linux 3.19.0 / amd64|x86_64 / GNU gcc 6.3.0 (Linux Mint 17.3)
+ Linux 4.9.0 / Intel x86 / Clang 3.8.1 (Debian 9.0)
+ Linux 4.9.0 / Intel x86 / GNU gcc 6.3.0 (Debian 9.0)
+ Linux 4.10.0 / amd64|x86_64 / GNU gcc 6.3.0 (Ubuntu 17.04)
+ Linux 4.10.0 / amd64|x86_64 / Clang 4.0.0 (Ubuntu 17.04)
+ MacOS X 14.4.0 / amd64|x86_64 / Apple Clang 6.0
+ NetBSD 7.0 / amd64|x86_64 / Clang 4.0.0
+ NetBSD 7.0 / amd64|x86_64 / GNU gcc 4.8.5
+ OpenBSD 6.0 / amd64|x86_64 / Clang 3.8.0
+ OpenBSD 6.0 / amd64|x86_64 / GNU gcc 4.2.1
+ OpenIndiana / Intel x86 / Clang 4.0.0 (OpenIndiana 2017.04)
+ OpenIndiana / Intel x86 / GNU gcc 4.9.4 (OpenIndiana 2017.04)
+ QNX 6.5 / Intel x86 / GNU gcc 4.4.2 (see note *1)
+ Solaris 11.3 / Intel x86 / GNU gcc 4.8.2
+ Solaris 11.3 / Intel x86 / SunPro CC 5.14 (Oracle Developer Studio 12.5)
+ Solaris 11.3 / Intel x86 / SunPro CC 5.15 (Oracle Developer Studio 12.6)
+ Windows 7 / amd64|x86_64 / CygWin 2.8.0 (gcc 6.3.0)
+
+Other Platforms
+---------------
+
+Earlier releases of the DCMTK are known to also compile on further platforms
+which are not available to us for testing purposes any more, e.g. AIX, HP-UX,
+IRIX, NeXTStep, OSF/1, Solaris/SunOS, Ultrix. Also the Intel C++ Compiler and
+other compilers might still work but we haven't tested them this time.
+
+Cross Compiling
+---------------
+
+The current DCMTK release can be cross-compiled targeting the following
+platforms:
+
+ Android / arm64 / GNU gcc 4.9.2 (API 24, ABI arm64-v8a)
+ Windows 7 / Intel x86 / MinGW gcc 4.9.1
+ Windows 7 / amd64|x86_64 / MinGW gcc 4.9.1
+
+Cross compiling support with running configuration and unit tests is currently
+only provided using CMake and requires the use of the Android emulator or Wine
+when targeting Android or Windows respectively. Other versions of Android will
+most likely also work, but the above mentioned one is currently the only one
+that is being regularly tested.
+
+Of course, GNU Autoconf also provides cross compiling support and using it for
+various platforms might also work but probably not out of the box, i.e. some
+customization is needed and you have to find a way to provide the information
+from the configuration tests that need to be run on the target hardware
+yourself.
Platform Notes
--------------
-(*1) The dcmimage/dcmimgle module makes intensive use of inlined templates.
- Depending on the compiler and the available virtual memory, compilation
- might fail if this module is compiled with optimization. Compilation
- succeeds if the optimizer and any automatic inlining of code are switched
- off. For example GNU gcc might require that the -O option is removed and
- -fno-default-inline is added to the CXXFLAGS setting in the file
- "config/Makefile.def", which is created by configure (see below).
-(*2) HP-UX 10.2 requires DCMTK to be configured with --disable-lfs, i.e.
- without large file support.
-(*3) Building with Intel Compiler Suite 11.1 requires GNU C++ Standard Library
- version 4.3.
-(*4) IRIX 6 users are recommended to consult SGI's Notes on building Open
- Source software on IRIX, available from: http://freeware.sgi.com/howto.html
- In short, after running configure, the following modifications are
- required in "config/Makefile.def" before DCMTK can be compiled:
- - remove "-lsocket -lnsl" from LIBS
- On IRIX, DCMTK should be built using GNU make (gmake), not with the IRIX
- specific pmake/smake/make commands.
-(*5) MacOS X 10.1 requires DCMTK to be configured with --disable-threads
- because certain re-entrant Posix functions such as localtime_r are not
- available.
-(*6) The NeXT gcc 2.5.8 compiler provides only very limited support for C++
- templates and, therefore, might fail to compile the dcmimage/dcmimgle
- module ("internal compiler error"). The gcc compiler also does not
- properly support the "protected" derivation of classes which is used in
- the dcmsr module. However, modules and applications that were present in
- earlier releases of DCMTK still compile.
-(*7) Might require -O0 in order to compile "dcmsr/libsrc/dsrdoctr.cc".
-(*8) The libz.so included in QNX 6.2.1 is missing the zlibVersion()
- function. This will cause the DCMTK compile to fail if configured with
- --with-zlib. It has already been corrected in QNX's internal cvs
- repository. Earlier QNX versions (6.2.0) and future versions (6.3.x)
- should work fine. As a temporary measure it is possible to link against
- /usr/lib/libz.so.1 which does include that function, or to disable zlib
- support in DCMTK by calling configure --without-zlib.
-(*9) Requires -fpermissive when compiled with GNU gcc due to the X11R5 header
- files which are not ANSI compliant.
-(*10) For MacOS X 10.4 and 10.6 the OFSemaphore class is not available since it
- is compiling but not working on MacOS X. The reason is that semaphores
- must be named in MacOS X and thus the current implementation fails to
- construct semaphores in the OFSemaphore constructor. However, the toolkit
- so far does not make any use of this class.
-
-Please note: Due to resource limitations it is not practical for us to ensure
-that the newest release of DCMTK is problem free under all the above
-combinations. Currently, our main development environment is Linux 2.6 using
-GNU C++ 4.1.2 and DCMTK should always compile on this platform.
+(*1) QNX 6.5 requires to remove or disable the define "HAVE_IEEEFP_H" in
+ "config/include/dcmtk/config/osconfig.h" after running the configure
+ process but before starting the compilation.
OPENSSL SUPPORT
transport connection. DCMTK relies on the OpenSSL toolkit (www.openssl.org)
for the underlying cryptographic routines and the TLS protocol implementation.
This release of DCMTK is known to compile with the OpenSSL releases 0.9.8 to
-1.0.0, although other releases may work as well.
+1.1.0f, although other releases may work as well.
-When using autoconf, if support for security enhancements is desired, a compiled
+When using Autoconf, if support for security enhancements is desired, a compiled
version of the OpenSSL libraries and include files must be available during
compilation of DCMTK. By default, DCMTK checks whether OpenSSL is installed
in the standard path and enables support automatically if present.
Starting with release 3.5.2, DCMTK supports the "Deflated Explicit VR Little
Endian" Transfer Syntax, i.e. ZIP-compressed network transmission and media
storage. DCMTK relies on the zlib toolkit (www.zlib.org) for the underlying
-compression routines. This release of DCMTK is known to compile with the
-zlib releases 1.2.3 to 1.2.5, although other releases may work as well.
+compression routines. This release of DCMTK is known to compile with the zlib
+releases 1.2.3 to 1.2.11, although other releases may work as well.
-When using autoconf, if support for zlib compression is desired, a compiled
+When using Autoconf, if support for zlib compression is desired, a compiled
version of the zlib library and include files must be available during
-compilation of DCMTK. By default, DCMTK checks whether zlib is installed
-in the standard path and enables support automatically if present.
+compilation of DCMTK. By default, DCMTK checks whether zlib is installed in
+the standard path and enables support automatically if present.
-When using CMake, a compiled version of the zlib libraries and include
-files must be available during compilation of DCMTK. See discussion on CMake
-below.
+When using CMake, a compiled version of the zlib libraries and include files
+must be available during compilation of DCMTK. See discussion on CMake below.
LIBTIFF SUPPORT
===============
-Starting with release 3.5.1, DCMTK supports the conversion of DICOM images
-to TIFF. DCMTK relies on the libtiff toolkit (www.libtiff.org) for this
-purpose. This release of DCMTK is known to compile with the libtiff releases
-3.7.4 to 3.9.4, although other releases may work as well. However, libtiff
-releases prior to version 3.7.0 will not work since the TIFFCleanup() function
-was not yet available. On Windows, libtiff 3.7.4 or higher is required due to
+Starting with release 3.5.1, DCMTK supports the conversion of DICOM images to
+TIFF. DCMTK relies on the libtiff toolkit (www.libtiff.org) for this purpose.
+This release of DCMTK is known to compile with the libtiff releases 3.7.4 to
+4.0.8, although other releases may work as well. However, libtiff releases
+prior to version 3.7.0 will not work since the TIFFCleanup() function was not
+yet available. On Windows, libtiff 3.7.4 or higher is required due to
incompatible API changes in libtiff.
-When using autoconf, if support for TIFF export is desired, a compiled version
+When using Autoconf, if support for TIFF export is desired, a compiled version
of the libtiff libraries and include files must be available during compilation
of DCMTK, and the libtiff support must be switched on explicitly. By default,
DCMTK checks whether libtiff is installed in the standard path and enables
support automatically if present.
-When using CMake, a compiled version of the libtiff libraries and include
-files must be available during compilation of DCMTK. See discussion on CMake
-below.
+When using CMake, a compiled version of the libtiff libraries and include files
+must be available during compilation of DCMTK. See discussion on CMake below.
LIBPNG SUPPORT
Starting with release 3.5.3, DCMTK supports the conversion of DICOM images to
PNG. DCMTK relies on the libpng toolkit (www.libpng.org) for this purpose.
This release of DCMTK is known to compile with the current libpng releases
-1.2.8 to 1.4.3, although other releases may work as well.
+1.2.8 to 1.6.30, although other releases may work as well.
-When using autoconf, if support for PNG export is desired, a compiled version of
+When using Autoconf, if support for PNG export is desired, a compiled version of
the libpng libraries and include files must be available during compilation of
-DCMTK, and the libpng support must be switched on explicitly. By default,
-DCMTK checks whether libpng is installed in the standard path and enables
-support automatically if present. It should be noted that libpng requires
-zlib.
+DCMTK, and the libpng support must be switched on explicitly. By default, DCMTK
+checks whether libpng is installed in the standard path and enables support
+automatically if present. It should be noted that libpng requires zlib.
When using CMake, a compiled version of the libpng libraries and include
files must be available during compilation of DCMTK. See discussion on CMake
Starting with release 3.5.3, DCMTK supports the conversion of XML documents to
DICOM files. DCMTK relies on the libxml2 toolkit (www.libxml.org) for this
purpose. This release of DCMTK is known to compile with the libxml2 releases
-2.6.26 to 2.7.7, although other releases may work as well.
+2.6.26 to 2.9.4, although other releases may work as well.
-When using autoconf, if support for XML import is desired, a compiled version of
+When using Autoconf, if support for XML import is desired, a compiled version of
the libxml2 (and possibly iconv) libraries and include files must be available
during compilation of DCMTK. By default, DCMTK checks whether libxml2 is
installed in the standard path and enables support automatically if present.
-When using CMake, if support for XML import is desired, a compiled version
-of the libxml2 (and possibly iconv) libraries and include files must be
-available during compilation of DCMTK. See discussion on CMake below.
+When using CMake, if support for XML import is desired, a compiled version of
+the libxml2 (and possibly iconv) libraries and include files must be available
+during compilation of DCMTK. See discussion on CMake below.
TCP WRAPPER (LIBWRAP) SUPPORT
"/etc/hosts.allow" configuration files. See hosts_access(5) man page for
details.
-When using autoconf, if support for TCP wrappers is desired, a compiled version
+When using Autoconf, if support for TCP wrappers is desired, a compiled version
of the libwrap library and include file <tcpd.h> must be available during
compilation of DCMTK. By default, DCMTK checks whether libwrap is installed
in the standard path and enables support automatically if present.
+When using CMake, if support for TCP wrappers is desired, a compiled version of
+the libwrap library and include file <tcpd.h> must be available during
+compilation of DCMTK. See discussion on CMake below.
+
Since DCMTK uses the TCP wrappers from C++ code, an ANSI C compatible header
file <tcpd.h> is required. The official release 7.6 of the TCP wrappers
library is not ANSI C compatible and does not work with DCMTK (i.e. will not be
recognized by DCMTK's configure script). However, many current Linux and BSD
distributions ship with an ANSI C compatible header file.
-When using CMake, TCP wrappers are currently not supported.
+Character Set Conversion Support
+================================
+
+Starting with release 3.6.2, DCMTK supports the conversion between different
+character encodings, e.g. UTF-8 and ISO Latin 1. For this purpose, DCMTK relies
+on one of the following alternatives to be available for being used as the
+underlying implementation: libiconv, the ICU library or the iconv functionality
+included in the C standard library.
+
+DCMTK detects the availability of these implementations and (in case multiple
+ones are available) chooses one of them automatically as follows: the libiconv
+implementation is currently preferred since its integration is most mature. If
+it is not available, the ICU implementation is the next best choice. Otherwise
+the iconv implementation from the C standard library will be selected (if the
+used C standard library provides it). This choice can be overridden via the
+"--enable-charconv" argument (Autoconf) or "DCMTK_ENABLE_CHARSET_CONVERSION"
+(CMake). Selecting an implementation that is not available will be ignored,
+i.e. the user choice will be overridden.
LIBICONV SUPPORT
-================
+----------------
-Starting with release 3.6.2, DCMTK supports the conversion between different
-character encodings. For this purpose, DCMTK relies on the libiconv toolkit
-(www.gnu.org/s/libiconv/). This release of DCMTK is known to compile with the
-libiconv release 1.14, although other releases may work as well.
+The libiconv toolkit (www.gnu.org/s/libiconv/) may be used as DCMTK's underlying
+character set conversion implementation. This release of DCMTK is known to
+compile with the libiconv releases 1.14 to 1.15, although other releases may
+work as well.
-When using autoconf, if support for libiconv conversion is desired, a compiled
+When using Autoconf, if support for libiconv conversion is desired, a compiled
version of the libiconv library and include files must be available during
compilation of DCMTK. Please note that DCMTK also needs the bundled copy of
libcharset. By default, DCMTK checks whether libiconv and libcharset are
and include files must be available during compilation of DCMTK. See discussion
on CMake below.
+ICU SUPPORT
+-----------
+
+DCMTK supports the International Components for Unicode (ICU) library as an
+alternative to the above mentioned libiconv. This release of DCMTK is known to
+compile with the ICU releases 58.2 to 59.1, although other releases may work as
+well.
+
+The ICU may be easier to integrate on some more modern Linux distributions
+(e.g. Arch Linux) and Windows than the libiconv but (due to the way it is
+currently integrated) lacks support for converting the following character sets:
+
+ ISO 2022 IR 87
+ ISO 2022 IR 159
+
+Furthermore, the ICU-based implementation currently does not support
+transliteration.
+
+When using Autoconf, if support for character set conversion using ICU is
+desired, a compiled version of the ICU libraries and include files must be
+available during compilation of DCMTK. By default, DCMTK checks whether ICU is
+installed in the standard path and enables support automatically if present.
+
+When using CMake, if support for character set conversion using ICU is desired,
+a compiled version of the ICU libraries and include files must be available
+during compilation of DCMTK. See discussion on CMake below.
+
+Support for iconv provided in the C standard library
+----------------------------------------------------
+
+DCMTK allows using the iconv implementation provided as part of the C standard
+library on some platforms. Building DCMTK with this implementation may be
+easier and reduce additional runtime dependencies, but this option should be
+used with caution: the iconv implementations from different C standard libraries
+may vary with regards to the supported character sets and functionalities.
+
+If possible, the libiconv implementation should be preferred. Most importantly
+the iconv implementation provided by the C standard library on OpenIndiana does
+not support conversion to whatever character set the terminal is currently
+using, which we consider essential and, therefore, strongly suggest not to use
+this implementation on OpenIndiana.
+
+Known Issues
+------------
+
+If both the iconv implementation from the C standard library and the libiconv
+are available in the default search paths, the wrong <iconv.h> might be included
+independently from the user choice (--enable-charconv resp.
+DCMTK_ENABLE_CHARSET_CONVERSION).
+
+DCMTK currently has no mechanism to force including a certain <iconv.h> instead,
+so this has to be achieved by manually modifying the include paths and/or
+DCMTK's code. Some platforms (e.g. Arch Linux) even rename the <iconv.h>
+provided as part of libiconv to <libiconv.h> or the like to avoid name
+collisions. In this case, the user has to modify DCMTK's source code to include
+the correct file, since we currently don't provide a configuration test for it.
+
+
+Using the native STL
+====================
+
+DCMTK can be configured to use the STL (Standard Template Library) features
+provided by the compiler / runtime environment instead of its own fallback
+implementations that are used by default.
+
+This can be achieved with the "--enable-stl" argument (Autoconf) or by setting
+"DCMTK_ENABLE_STL" to "ON" (CMake). This will, however, not forcibly enable
+using the native STL features but instead trigger running several configuration
+tests for detecting whether the individual features work as expected/required
+by DCMTK. It is for example known that the implementations of std::list and
+std::vector provided by some versions of Visual Studio 2005 have a serious bug
+that might lead to segmentation fault and std::error_code is currently not
+implemented correctly on any version of Visual Studio we know about.
+
+It is furthermore possible to enable or disable individual STL features
+independently of the setting provided by "--enable-stl" or "DCMTK_ENABLE_STL"
+respectively: use "--enable-stl-<feature>", "--disable-stl-<feature>" and/or
+"DCMTK_ENABLE_STL_<FEATURE> (ON/OFF)" as appropriate, e.g.
+"--disable-stl-vector" or "-DDCMTK_ENABLE_STL_STRING=ON".
+
C++11 SUPPORT
=============
-DCMTK can be enabled to use the C++11 STL. This is controlled by the macro
-"DCMTK_USE_CXX11_STL", described in "config/docs/macros.txt" (or
-"/usr/local/share/doc/dcmtk/macros.txt").
+DCMTK can be configured to use several C++11 features (e.g. move semantics,
+variadic templates and the like) instead of its own workarounds and fallback
+implementations. This can be achieved with the "--enable-cxx11" argument
+(Autoconf) or by setting "DCMTK_ENABLE_CXX11" to "ON" (CMake).
+
+Enabling C++11 will change some parts of DCMTK's API, so a C++11 build of DCMTK
+is potentially incompatible with a classic build of DCMTK. This setting is,
+therefore, stored in "config/include/dcmtk/config/osconfig.h" and verified when
+compiling DCMTK itself or any program that includes it.
+
+Enabling C++11 support will not forcibly enable using the C++11 features but
+instead trigger running some configuration tests and only truly enable it if
+all of them pass.
+
+Please note that this setting does not depend on enabling the STL features but
+not all combinations (e.g. enabling C++11 but disabling std::string) may work.
-BUILDING (Unix with autoconf)
+
+BUILDING (Unix with Autoconf)
=============================
-GNU autoconf is used to configure the software for the hardware / operating
-system you are using. You do not need to obtain GNU autoconf to compile and
+GNU Autoconf is used to configure the software for the hardware / operating
+system you are using. You do not need to obtain GNU Autoconf to compile and
install this software. All the necessary configure scripts are included in
this distribution. The configure scripts examine your system capabilities and
automatically generate include files and Makefiles.
-Perform the following steps from the top-level (dcmtk-3.6.0) directory to
+Perform the following steps from the top-level (dcmtk-3.6.2) directory to
compile and install the software:
Step 1:
used as --prefix when compiling and installing OpenSSL.
For example, if you wish to enable the security enhancements, and OpenSSL is
-installed in "/usr/local/apps/openssl-1.0.0", then you should start configure
+installed in "/usr/local/apps/openssl-1.1.0f", then you should start configure
as:
- ./configure --with-opensslinc=/usr/local/apps/openssl-1.0.0
+ ./configure --with-opensslinc=/usr/local/apps/openssl-1.1.0f
Configure will assume that the OpenSSL include files are installed in
-"/usr/local/apps/openssl-1.0.0/include" and will expect the library in
-"/usr/local/apps/openssl-1.0.0/lib". Appropriate options will be passed to
+"/usr/local/apps/openssl-1.1.0f/include" and will expect the library in
+"/usr/local/apps/openssl-1.1.0f/lib". Appropriate options will be passed to
the compiler and the linker.
Support for zlib, libtiff, libpng, libxml2, libwrap and libiconv can be enabled
in a similar way (in case these libraries are not installed in the standard
path):
- ./configure --with-libzlibinc=/usr/local/apps/zlib-1.2.5
- --with-libtiffinc=/usr/local/apps/libtiff-3.9.4
- --with-libpnginc=/usr/local/apps/libpng-1.4.3
- --with-libxmlinc=/usr/local/apps/libxml-2.7.7
+ ./configure --with-libzlibinc=/usr/local/apps/zlib-1.2.11
+ --with-libtiffinc=/usr/local/apps/libtiff-4.0.8
+ --with-libpnginc=/usr/local/apps/libpng-1.6.30
+ --with-libxmlinc=/usr/local/apps/libxml2-2.9.4
--with-libwrapinc=/usr/local/apps/tcp_wrappers-7.6
- --with-libiconvinc=/usr/local/apps/libiconv-1.14
+ --with-libiconvinc=/usr/local/apps/libiconv-1.15
+ <or>
+ --with-libicuinc=/usr/local/apps/icu-59.1
Different configure options can be combined in any order. configure --help
will print a list of all existing configure options. configure --help=short
--disable-lfs compile without LFS support
--enable-std-includes use C++ ANSI standard includes
--disable-std-includes use old C++ includes
+ --enable-private-tags enable private tag dictionary
+ --disable-private-tags don't enable private tag dictionary (default)
+ --enable-external-dict enable loading of external dictionary (default)
+ --disable-external-dict don't load external dictionary
+ --enable-builtin-dict enable loading of built-in dictionary
+ --disable-builtin-dict don't load built-in dictionary (default)
+ --disable-rpath do not hardcode runtime library paths
+ --enable-charconv=TYPE enable character set conversion support
+ (libiconv/libicu/stdlibc/auto=default)
+ --disable-charconv disable character set conversion support
+ --enable-cxx11 use C++11
+ --disable-cxx11 do not use C++11 (default)
+ --enable-stl use C++ STL
+ --disable-stl do not use C++ STL (default)
Step 2:
make all
This generates a new Makefile and configure script in the top-level toolkit
directory.
-Solving configuration and compilation problems:
+Solving configuration and compilation problems
+----------------------------------------------
The configure script might not be able to guess the correct compiler and
compiler flags to use. For example, we have noticed that use of the -pedantic
-flag to the GNU C++ compiler causes compilation errors on some systems (e.g.
-SunOS 4.1.3) due to system include files with incorrect ANSI function
-prototypes.
+flag to the GNU C++ compiler causes compilation errors on some systems due to
+system include files with incorrect ANSI function prototypes.
You can set environment variables to initialize configure before it is called
(before Step 1 above):
CMake which will generate suitable build files for all of DCMTK's projects from
these files.
+DCMTK 3.6.2 requires CMake version 2.8.3 or later. We recommend using the
+latest stable release of CMake (currently version 3.8.2) since newer versions
+of CMake often provide better output in case of errors and are generally easier
+to use (for example by providing better support for detecting the availability
+of third party libraries). If possible, use the CMake version your operating
+system provides with its package manager.
+
More info about building the DCMTK with CMake can be found in DCMTK's wiki:
http://support.dcmtk.org/wiki/dcmtk/howto/cmakeconfiguration
+CMake and shared libraries
+--------------------------
+
+The CMake build system allows for building shared libraries instead of static
+libraries. On Windows systems, these are dynamic link libraries (.dll).
+On Unix systems, these are shared objects (.so). To enable this, set the
+"BUILD_SHARED_LIB" option to "ON".
+
+Additionally, it is possible to produce a single shared library for the whole
+toolkit. This mode is controlled by the "BUILD_SINGLE_SHARED_LIBRARY" option.
+If you don't want the whole toolkit in a single shared library, the
+"DCMTK_MODULES" cache variable can be modified to select a subset of the
+available modules. Please note that this option is marked as advanced and thus
+is hidden by default. Also, when building a single shared library, applications
+and tests cannot be built.
+
+Default value for CMAKE_BUILD_TYPE
+----------------------------------
+
+CMAKE_BUILD_TYPE is set to value "Release" if none is specified by the
+selected build file generator. For those generators that support multiple
+configuration types (e.g. Debug, Release), CMAKE_CONFIGURATION_TYPES holds
+possible values. For other generators, this value is empty, and for those
+generators the build type is fixated by CMake and cannot be changed otherwise.
+Please note that Visual Studio (seemingly) ignores CMAKE_BUILD_TYPE and always
+starts off using "Debug", so you should best change it to "Release" manually
+before starting the build process.
+
+To disable the CMAKE_BUILD_TYPE default value, set CMAKE_BUILD_TYPE to value
+"None" during CMake configuration, e.g. use "-DCMAKE_BUILD_TYPE:STRING=None"
+on the command line. This may be useful if the compiler flags should be
+controlled manually (e.g. as defined in environment variables like CXXFLAGS)
+and no CMake defaults related to the selected configuration type kick in.
+
+DCMTKConfig.cmake AND DCMTKTargets.cmake
+----------------------------------------
+
+CMake permits to write files that describe the DCMTK build configuration
+(DCMTConfig.cmake) as well as all targets (executables and libraries) that have
+been produced (DCMTKTargets.cmake). Those files can be utilized by external
+projects by using CMake's find_package() mechanism in "CONFIG" mode in order to
+adapt their own build configuration, and directly make use of all available
+target libraries and executables.
+
+On systems using CMake versions equal or greater than 2.8.8, these files are
+written during installation to the installation directory's subfolder "/cmake"
+on Windows systems, and "/lib/cmake/dcmtk" on Unix-like systems. Additionally,
+these files are written to the main directory of CMake's build tree during the
+build, with all content (e.g. the include paths within DCMTConfig.cmake)
+pointing to the correct values for the build tree. Thus even a DCMTK build tree
+can be used by external projects that process these two files.
+
+On systems using CMake versions lower than 2.8.8, only a simplified
+DCMTKConfig.cmake is created, which is only available in the install tree.
+DCMTKTargets.cmake is not created at all.
Microsoft Windows with CMake
----------------------------
-Starting with DCMTK 3.5.4, no project files for Visual Studio are provided
-anymore. Project files for all supported compilers can be generated with
-CMake.
-
-In order to be able to use CMake for configuration purposes in DCMTK, perform
-the following steps to install CMake on your machine:
+Using CMake is the only supported way to compile DCMTK for Windows. For being
+able to do so, perform the following steps to install CMake on your machine:
1. Go to http://www.cmake.org/ to download the latest release version of CMake
for Windows.
Follow all install instructions appropriately.
In order to manually configure the support for the above mentioned external
-libraries (OpenSSL, zlib, libtiff, libpng, libxml2 and libiconv) through CMake,
-perform the following steps:
+libraries (OpenSSL, zlib, libtiff, libpng, libxml2 and libiconv or ICU) through
+CMake, perform the following steps:
1. Go Start -> Programs -> CMake -> "CMake" or "CMake (cmake-gui)" to start the
CMake utility through which the configuration can be done.
2. In the entry field "Where is the source code:" enter the directory in which
- the DCMTK source code resides, e.g. "C:\dcmtk-3.6.0".
+ the DCMTK source code resides, e.g. "C:\dcmtk-3.6.2".
3. In the entry field "Where to build the binaries:" enter the directory in
- which the libraries and binaries are to be built, e.g. "C:\dcmtk-bin".
+ which the libraries and binaries are to be built, e.g. "C:\dcmtk-msvc15".
4. In the combobox "Build for:" or "Specify the generator for this project:"
select the corresponding development environment which shall be used to
- compile DCMTK.
+ compile DCMTK (e.g. "Visual Studio 15 2017 Win64").
5. Go "Configure". (CMake will look for a corresponding compiler, read in all
of DCMTK's "CMakeLists.txt" files and perform some tests. The variables in
the tabular area will be displayed in red. These variables can now be set
example, in order to turn on libxml2 support, set the value of variable
"DCMTK_WITH_XML" to "ON" and set the value of variable "WITH_LIBXMLINC"
to the path where the include files and libraries of libxml2 can be found,
- e.g. "C:\libxml2-2.7.7". The support of all other external libraries can
+ e.g. "C:\libxml2-2.9.4". The support of all other external libraries can
be turned on in a similar way:
libpng support:
set "DCMTK_WITH_PNG" to "ON" and
- set "WITH_LIBPNGINC" e.g. to "C:\libpng-1.4.2"
+ set "WITH_LIBPNGINC" e.g. to "C:\libpng-1.6.30"
libtiff support:
set "DCMTK_WITH_TIFF" to "ON" and
- set "WITH_LIBTIFFINC" e.g. to "C:\tiff-3.9.2"
+ set "WITH_LIBTIFFINC" e.g. to "C:\libtiff-4.0.8"
OpenSSL support:
set "DCMTK_WITH_OPENSSL" to "ON" and
- set "WITH_OPENSSLINC" e.g. to "C:\openssl-1.0.0"
+ set "WITH_OPENSSLINC" e.g. to "C:\openssl-1.1.0f"
zlib support:
set "DCMTK_WITH_ZLIB" to "ON" and
- set "WITH_ZLIBINC" e.g. to "C:\zlib-1.2.5"
+ set "WITH_ZLIBINC" e.g. to "C:\zlib-1.2.11"
libiconv support:
set "DCMTK_WITH_ICONV" to "ON" and
- set "WITH_LIBICONVINC" e.g. to "C:\libiconv-1.14"
+ set "WITH_LIBICONVINC" e.g. to "C:\libiconv-1.15"
In order to turn the support of a certain external library off, set the
value of the corresponding variable ("DCMTK_WITH_XML", "DCMTK_WITH_PNG",
specified in "WITH_LIBXMLINC", "WITH_LIBPNGINC", "WITH_LIBTIFFINC",
"WITH_OPENSSLINC", "WITH_ZLIBINC" or "WITH_LIBICONVINC".)
- (Please note also that the library files of all external libraries are
- always expected in directory named "lib" below the directory which is
- specified in "WITH_LIBXMLINC", "WITH_LIBPNGINC", "WITH_LIBTIFFINC",
- "WITH_OPENSSLINC", "WITH_ZLIBINC" or "WITH_LIBICONV". Moreover, note that
- the following filenames must be used for the corresponding lib files:
+ (Please note also that the library files of all external libraries are always
+ expected in directory named "lib" below the directory which is specified in
+ "WITH_LIBXMLINC", "WITH_LIBPNGINC", "WITH_LIBTIFFINC", "WITH_OPENSSLINC",
+ "WITH_ZLIBINC" or "WITH_LIBICONV". Moreover, note that the following
+ filenames must be used for the corresponding lib files:
libxml2:
- "iconv_d.lib" - debug version
- "iconv_o.lib" - release version (optimized)
- "libxml2_d.lib" - debug version
- "libxml2_o.lib" - release version (optimized)
+ "iconv_d.lib" - debug version
+ "iconv_o.lib" - release version (optimized)
+ "libxml2_d.lib" - debug version
+ "libxml2_o.lib" - release version (optimized)
libpng:
- "libpng_d.lib" - debug version
- "libpng_o.lib" - release version (optimized)
+ "libpng_d.lib" - debug version
+ "libpng_o.lib" - release version (optimized)
libtiff:
- "libtiff_d.lib" - debug version
- "libtiff_o.lib" - release version (optimized)
+ "libtiff_d.lib" - debug version
+ "libtiff_o.lib" - release version (optimized)
openssl:
- "libeay32_d.lib" - debug version
- "libeay32_o.lib" - release version (optimized)
- "ssleay32_d.lib" - debug version
- "ssleay32_o.lib" - release version (optimized)
+ "dcmtkcrypto_d.lib" - debug version
+ "dcmtkcrypto_o.lib" - release version (optimized)
+ "dcmtkssl_d.lib" - debug version
+ "dcmtkssl_o.lib" - release version (optimized)
zlib:
- "zlib_d.lib" - debug version
- "zlib_o.lib" - release version (optimized)
+ "zlib_d.lib" - debug version
+ "zlib_o.lib" - release version (optimized)
libiconv:
- "libiconv_d.lib" - debug version
- "libiconv_o.lib" - release version (optimized)
- "libchset_d.lib" - debug version
- "libchset_o.lib" - release version (optimized)
+ "libiconv_d.lib" - debug version
+ "libiconv_o.lib" - release version (optimized)
+ "libchset_d.lib" - debug version
+ "libchset_o.lib" - release version (optimized)
+
+ The ICU is integrated using CMake's "find_package()" mechanism, which is
+ somewhat different to the handmade scripts employed for the other libraries.
+ If you want to use the ICU instead of libiconv, you have to include it by
+ setting the appropriate variables for the "FindICU" module, see
+ https://cmake.org/cmake/help/latest/module/FindICU.html .
The debug versions of all libraries must be compiled for the multithread
debug version of the runtime (/MTd), the release version must be compiled
for the non-debug multithread runtime (/MT). Precompiled versions of all
libraries can be downloaded from http://dicom.offis.de/dcmtk#lib-win.)
+
7. Go "Configure" a second time. (CMake will adjust the configuration
according to the displayed specifications.)
8. Go "OK" or "Generate". (CMake will generate new project files in the
1. The dcmqrscp tool cannot spark multiple processes. Every association must
be handled completely before a new association is possible.
-2. On Windows 95, dcmqrscp always uses exclusive file locking (the LockFileEx
- API call is available on Windows NT only). This is no problem if only a
- single process exists.
-3. Most applications will only work if the computer has configured TCP/IP, a
- network name and a TCP/IP address. If SLIP or PPP is used the applications
- can only work if a connection to a provider exists (since the IP addresses
- and hostnames are given dynamically).
-4. Visual C++ contains two different implementations of I/O streams which
+2. Visual C++ contains two different implementations of I/O streams which
should never be mixed within one application because this may cause
application errors that are hard to find. The old, now deprecated
implementation uses the traditional cfront header files <iostream.h> etc.
DCMTK can be configured to use either of the two interfaces. This behavior
can be changed in "config/include/dcmtk/config/osconfig.h" in the build
directory where the symbol USE_STD_CXX_INCLUDES is declared.
-
- NOTE: Previous releases of DCMTK (3.5.1 and older) used the old interface
- when compiled with Visual C++ 6.0. When updating software that uses
- DCMTK as a library, make sure that the use of the iostream library is
- consistent throughout the complete application!
-
-5. DCMTK does not compile when UNICODE or _UNICODE is defined because the
+3. DCMTK does not compile when UNICODE or _UNICODE is defined because the
VisualStudio compiler then uses the Unicode version instead of the ANSI
version for all Windows API functions (i.e. type wchar_t instead of char
for all character string parameters and return values).
Unix with CMake
---------------
-Starting with DCMTK 3.6.0, CMake can also be used for non-Windows systems.
-
-NOTE: This is not (yet) the recommended way since this mechanism is not as
- mature and stable as the above described approach using GNU autoconf.
- Please feel free to test it and report any issue. Due to this, it is only
- sparsely documented. See the previous section on building the DCMTK with
- CMake on Windows platforms, but note that details may differ.
-
-
-CMake and shared libraries
---------------------------
-
-The CMake build system allows building shared libraries instead of static
-libraries. On Windows systems, these are dynamic link libraries (.dll).
-On Unix systems, these are shared objects (.so). To enable this, set the
-"BUILD_SHARED_LIB" option to "ON".
-
-Additionally, it is possible to produce a single shared library for the whole
-toolkit. This mode is controlled by the "BUILD_SINGLE_SHARED_LIBRARY" option.
-If you don't want the whole toolkit in a single shared library, the
-"DCMTK_MODULES" cache variable can be modified to select a subset of the
-available modules. Please note that this option is marked as advanced and thus
-is hidden by default. Also, when building a single shared library, applications
-and tests cannot be built.
-
-Please note that support for shared libraries is still pretty new in DCMTK and
-thus not that mature.
-
-
-Default value for CMAKE_BUILD_TYPE
-----------------------------------
-
-CMAKE_BUILD_TYPE is set to value "Release" if none is specified by the
-selected build file generator. For those generators that support multiple
-configuration types (e.g. Debug, Release), CMAKE_CONFIGURATION_TYPES holds
-possible values. For other generators this value is empty, and for those
-generators the build type is controlled at CMake time by CMAKE_BUILD_TYPE.
-
-To disable the CMAKE_BUILD_TYPE default value, set CMAKE_BUILD_TYPE to value
-"None" during CMake configuration, e.g. use "-DCMAKE_BUILD_TYPE:STRING=None"
-on the command line. This may be useful if the compiler flags should be
-controlled manually (e.g. as defined in environment variables like CXXFLAGS)
-and no CMake defaults related to the selected configuration type kick in.
-
-
-DCMTKConfig.cmake AND DCMTKTargets.cmake
-----------------------------------------
-
-CMake permits to write files that describe the DCMTK build configuration
-(DCMTConfig.cmake) as well as all targets (executables and libraries) that have
-been produced (DCMTKTargets.cmake). Those files can be utilized by external
-projects by using CMake' find_package() mechanism in "CONFIG" mode in order to
-adapt their own build configuration, and directly make use of all available
-target libraries and executables.
-
-On systems using CMake versions equal or greater than 2.8.8, these files are
-written during installation to the installation directory's subfolder
-/cmake on Windows systems, and /lib/cmake/dcmtk on Unix-like systems.
-Additionally, these files are already written to the main directory of CMake's
-build tree during the build, with all content (e.g. the include paths within
-DCMTConfig.cmake) pointing to the correct values for the build tree. Thus even
-a DCMTK build tree can be used by external projects that process these two
-files.
-
-On systems using CMake versions lower than 2.8.8, only a simplified
-DCMTKConfig.cmake is created, which is only available in the install tree.
-DCMTKTargets.cmake is not created at all.
+We have polished our CMake configuration for DCMTK release 3.6.2 and consider
+it a full replacement for Autoconf that should be compatible or provide even
+better support on some platforms (e.g. Android).
+
+One key difference when using CMake for building on Unix like systems is that we
+use the "find_package()" mechanism for all external libraries and not just the
+ICU. Most Unix like systems provide a package manager or even if not at least
+have a consistent approach for where the libraries and include files are
+installed such that the CMake "find_package()" mechanism typically finds them
+out of the box.
+
+If that does not work or you want to use a different version of a library than
+the one in the default search paths, you should look at the documentation of the
+respective "find_package()" module to find out which variables need to be
+modified, e.g. "FindZLIB" to control which version of the zlib will be used:
+https://cmake.org/cmake/help/latest/module/FindZLIB.html .
+
+The typical way to build DCMTK on Unix like systems with CMake is as follows
+(if not using the GUI, in that case look at the description for Windows above):
+
+ mkdir dcmtk-gcc-`g++ -dumpversion`
+ cd dcmtk-gcc-<TAB>
+ cmake ../dcmtk-3.6.2
+ make -j8
+ make DESTDIR=../dcmtk-3.6.2-install install
+
+The above commands assume that the DCMTK source code was extracted to the
+current working directory into a folder named dcmtk-3.6.2 and that the GNU gcc
+compiler will be used (note that clang++ -dumpversion will give wrong results).
+DCMTK will be configured using CMake with the default options, detecting and
+including all available support libraries and then compiled using eight CPU
+cores (adjust as needed). The result will be installed to the directory
+"dcmtk-3.6.2-install" next to the source code directory.
HTML DOCUMENTATION AND MAN PAGES
Most DCMTK modules have been documented with Doxygen (www.doxygen.org), a free
source code documentation system similar to Javadoc. Unix users who have
Doxygen installed can create a hypertext documentation with "make html" in the
-"dcmtk-3.6.0" or "doxygen" directory; Windows and other CMake users should
+"dcmtk-3.6.2" or "doxygen" directory; Windows and other CMake users should
build the "DOXYGEN" subproject. A project file for Microsoft's HTML Help
Workshop can also be generated allowing to create a single CHM file (compressed
HTML) from the documentation. Other output formats (e.g. LaTeX) can be enabled
by changing the configuration file in the "doxygen" directory.
-At the current time, dcmimage, dcmimgle, dcmjpeg, dcmpstat, dcmrt, dcmsign,
-dcmsr, dcmtls, dcmwlm and ofstd are completely documented, dcmdata, dcmjpls,
-dcmnet and oflog are almost completely documented. See FAQ entry: "Where is
-rest of the documentation?"
+At the current time, dcmfg, dcmiod, dcmimage, dcmimgle, dcmjpeg, dcmpmap,
+dcmpstat, dcmrt, dcmseg, dcmsign, dcmsr, dcmtls, dcmtract, dcmwlm and ofstd are
+completely documented; dcmdata, dcmjpls, dcmnet and oflog are almost completely
+documented. See FAQ entry: "Where is rest of the documentation?"
On Unix platforms, man pages for all command line tools are installed during
the "make install" step. In order to use them, just add the directory (e.g.
======================
DCMTK comes with a test suite that verifies that the toolkit works as expected.
-The tests are contained in a module's "tests" subdirectory.
+The tests are contained in a module's "tests" subdirectory. Some tests are
+marked as exhaustive and are only run if explicitly enabled, see below.
When using configure for building DCMTK, all tests can be run via "make check".
If a test fails, make will stop and the failure reason of the test which failed
-should be visible.
+should be visible. Additionally, you may run the exhaustive unit tests by
+typing "make check-exhaustive".
You can also run the test suite with CMake. However, the steps needed for
running the test suite depend on the generator used. The Visual Studio
generators will create a "RUN_TESTS" subproject. Building this project will
call CTest and run all tests. When using the Makefile generator, "make test"
-runs the test suite. Other generators should use a similar approach.
+runs the test suite. Additionally, you may run the exhaustive unit tests by
+typing "make test-exhaustive". Other generators should use a similar approach.
For closer inspection, individual tests can be run directly. The Makefiles
will build the test runner for each module as "<module>/tests/tests". CMake
Have fun.
-M. Eichelberg, J. Riesmeier, M. Onken, U. Schlachter, J. Schlamelcher
+M. Eichelberg, J. Riesmeier, M. Onken, J. Schlamelcher
DCMTK Development Team, Oldenburg, Germany.
-Last revised: 2015-09-18 (Riesmeier)
+Last revised: 2017-07-14 (Schlamelcher)
#
# We want the old behavior of OFString(NULL) for now, no crashes.
-GLOBALDEFS = @DEFS@ -DDCMTK_BUILD_DATE=\"2017-02-28\" -DUSE_NULL_SAFE_OFSTRING -DDCMTK_BUILD_IN_PROGRESS
+GLOBALDEFS = @DEFS@ -DUSE_NULL_SAFE_OFSTRING -DDCMTK_BUILD_IN_PROGRESS
+# -DDCMTK_BUILD_DATE=\"YYYY-MM-DD\"
#
# ARCH defines special machine architecture compiler settings
include/dcmtk/config/arith.h: arith
./arith $@
-arith: arith.cc
- $(CXX) $(CXXFLAGS) -Iinclude -I../ofstd/include -I../ofstd/libsrc -o$@ $@.cc
+arith: tests/arith.cc
+ $(CXX) $(CXXFLAGS) -Iinclude -I../ofstd/include -I../ofstd/libsrc -o$@ tests/$@.cc
dependencies: include/dcmtk/config/arith.h
dnl AC_INCLUDE_MATH_H_AS_CXX checks if <math.h> must be included as a C++
dnl include file (i.e. without extern "C"). Some sytems (Win32, HP/UX 10)
-dnl use C++ language features in <math.h>
+dnl use C++ language features in <math.h>.
dnl AC_INCLUDE_MATH_H_AS_CXX(HEADER-FILE..., ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
AC_DEFUN(AC_INCLUDE_MATH_H_AS_CXX,
dnl AC_CXX_LIBC_H_EXTERN_C checks if <libc.h> and <math.h> cause a problem if
-dnl libc.h is included extern "C" and math.h is not. This is the case on QNX 6.2.x
+dnl libc.h is included extern "C" and math.h is not. This is the case on QNX
+dnl 6.2.x and 6.5.x.
AC_DEFUN([AC_CXX_LIBC_H_EXTERN_C],
[AH_TEMPLATE([INCLUDE_LIBC_H_AS_CXX], [Define if libc.h should be treated as a C++ header])
ac_cv_cxx_libc_h_is_cxx,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([#include <math.h>
-extern "C" {
+ AC_TRY_COMPILE([extern "C" {
#include <libc.h>
-}],[int i = 0],
+}
+#include <math.h>],[int i = 0],
ac_cv_cxx_libc_h_is_cxx=no, ac_cv_cxx_libc_h_is_cxx=yes)
AC_LANG_RESTORE
])
# when _LARGEFILE64_SOURCE is defined
#
AC_DEFUN([AC_LFS64],
-[ AH_TEMPLATE([HAVE_LFS_SUPPORT], [Define if LFS (large file support) is available])
+[ AH_TEMPLATE([DCMTK_ENABLE_LFS], [Select LFS mode (defined above) that shall be used or don't define it])
AH_TEMPLATE([_LARGEFILE64_SOURCE], [Define to enable LFS64 (explicit large file support) if available])
AC_MSG_CHECKING([for explicit large file support])
ac_cv_lfs64_support=no
if test "$ac_cv_lfs64_support" = yes; then
AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_LFS_SUPPORT,, [Define if LFS (large file support) is available])
+ AC_DEFINE(DCMTK_ENABLE_LFS, DCMTK_LFS64, [Select LFS mode (defined above) that shall be used or don't define it])
AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Define to enable LFS64 (explicit large file support) if available])
else
AC_MSG_RESULT([no])
fi
ac_cv_lfs64_support=no
- AH_TEMPLATE([HAVE_LFS_SUPPORT], [Define if LFS (large file support) is available])
+ AH_TEMPLATE([DCMTK_ENABLE_LFS], [Select LFS mode (defined above) that shall be used or don't define it])
MY_AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64,
ac_cv_sys_file_offset_bits,
[Number of bits in a file offset, on hosts where this is settable.],
[MY_AC_SYS_LARGEFILE_TEST_INCLUDES])
if test "$ac_cv_lfs_support" = yes; then
- AC_DEFINE(HAVE_LFS_SUPPORT,, [Define if LFS (large file support) is available])
+ AC_DEFINE(DCMTK_ENABLE_LFS, DCMTK_LFS, [Select LFS mode (defined above) that shall be used or don't define it])
fi
])# MY_AC_SYS_LARGEFILE
fi
])
-AC_DEFUN([AC_CHECK_ALIGNAS_SUPPORTS_TYPEDEFS],
-[
- AC_MSG_CHECKING([whether alignas supports typedefs])
- AC_LINK_IFELSE(
- [
- AC_LANG_SOURCE(
- [
- int main()
- {
- typedef char type[[16]] alignas(4);
- return 0;
- }
- ])
- ],
- [dcmtk_alignas_supports_typedefs=[yes]],
- [dcmtk_alignas_supports_typedefs=[no]]
- )
- if test "$dcmtk_alignas_supports_typedefs" = yes; then
- AC_MSG_RESULT([yes])
- AC_DEFINE($1,[1],[Define if alignas supports typedefs])
- else
- AC_MSG_RESULT([no])
- fi
-])
-
AC_DEFUN([AC_CHECK_DEFAULT_CONSTRUCTOR_DETECTION_VIA_SFINAE],
[
AC_MSG_CHECKING([whether the compiler supports default constructor detection via SFINAE])
+++ /dev/null
-/*
- *
- * Copyright (C) 2014, OFFIS e.V.
- * All rights reserved. See COPYRIGHT file for details.
- *
- * This software and supporting documentation were developed by
- *
- * OFFIS e.V.
- * R&D Division Health
- * Escherweg 2
- * D-26121 Oldenburg, Germany
- *
- *
- * Module: config
- *
- * Author: Jan Schlamelcher
- *
- * Purpose: Query properties of fundamental arithmetic types
- * for being used within oflimits.h.
- */
-
-// Note: This depends on some files of ofstd and osconfig.h,
-// although it is part of configure testing itself.
-// Therefore, ensure osconfig.h has already been generated
-// before this program is used.
-#define INCLUDE_CLIMITS
-#define INCLUDE_CMATH
-#define INCLUDE_CSETJMP
-#define INCLUDE_CSIGNAL
-#include "math.cc"
-
-#ifdef HAVE_FENV_H
-// For controlling floating point exceptions on Unix like systems.
-#include <fenv.h>
-#endif
-
-#ifdef __APPLE__
-// For controlling floating point exceptions on OS X.
-#include <xmmintrin.h>
-#endif
-
-// hackish definition of cout, as we can't depend on
-// OFConsole.
-#define COUT STD_NAMESPACE cout
-
-// define sigjmp_buf if it isn't already
-#ifndef HAVE_SIGJMP_BUF
-typedef jmp_buf sigjmp_buf;
-#endif
-
-// longjmp env (jump destination), ugly global var we
-// need to recover from traps.
-sigjmp_buf jbuf;
-
-// signal handler that "jumps back in time" to before
-// the error occurred and fixes what has gone wrong
-// in 1985.
-static void capture( int sig )
-{
-#ifndef _WIN32
- // Unix like systems support this natively
- siglongjmp( jbuf, sig );
-#else
- // On Windows, we need to employ a workaround that
- // only works for floating point exceptions!
- _fpreset();
- longjmp( jbuf, sig );
-#endif
-}
-
-static void register_signals()
-{
- signal(SIGABRT, &capture);
- signal(SIGFPE, &capture);
- signal(SIGILL, &capture);
- signal(SIGINT, &capture);
- signal(SIGSEGV, &capture);
- signal(SIGTERM, &capture);
-}
-
-// print to "arith.h"
-static void print_define( STD_NAMESPACE ostream& out,
- const char* fname, const char* name )
-{
- out << "#define DCMTK_";
- // convert type name to uppercase and replace ' ' by underscore.
- for( const char* pch = name; *pch; ++pch )
- out.put( *pch <= 'z' && *pch >= 'a' ? *pch - 'a' + 'A' : *pch == ' ' ? '_' : *pch );
- out << '_' << fname;
-}
-
-// handles output to configure log and to "arith.h"
-static int print_flag( STD_NAMESPACE ostream& out, int flag,
- const char* fname, const char* name,
- int width )
-{
- COUT << STD_NAMESPACE setw(width) << STD_NAMESPACE internal << ( flag ? "yes" : "no" );
- print_define( out, fname, name );
- out << " OF" << ( flag ? "True" : "False" ) << '\n';
- return flag;
-}
-
-static const char all_one[8] = { '\377', '\377', '\377', '\377', '\377', '\377', '\377', '\377' };
-
-template<typename T>
-static int test_modulo()
-{
- // test if signed, otherwise it is modulo anyway
- if( *OFreinterpret_cast( const T*, all_one ) > 0 )
- return 1;
- const T max = *OFreinterpret_cast( const T*, all_one ) & ~(T(1) << (sizeof(T) * 8 - 1));
- const T min = T( max + 1 );
- return min < max && min < 0 && max > 0;
-}
-
-template<typename FN>
-static int test_trap( const FN& fn )
-{
-#ifndef _WIN32
- // On Unix like systems, we use the
- // longjmp-module specifically designed for
- // signals.
- if( sigsetjmp( jbuf, 1 ) )
-#else
- // On Windows, we use the normal longjmp
- // that destroys everything and try to fix
- // what is left.
- if( setjmp( jbuf ) )
-#endif
- {
- // if a jump occurred, this means fn()
- // caused a trap.
- return 1;
- }
-#ifdef _MSC_VER
- // On Visual Studio, we use their built-in
- // SEH things, they consider to be C++.
- __try
-#else
- // The rest of the world hopefully only
- // has normal exceptions.
- try
-#endif
- {
- // Call the function. Did it trap?
- fn();
- }
-#ifdef _MSC_VER
- // On Windows, we return 3 if any SEH exception
- // occurred. Shall we consider this a trap,
- // although it was really an exception?
- // I don't know, for now it's yes.
- __except(1){return 3;}
-#else
- // The rest of the world returns 2, which
- // means "normal exception".
- catch(...){return 2;}
-#endif
- // Nothing happened, so we return 0, for
- // "nothing happened". Note: since MinGW's
- // crazy SEH things are crazy, MinGW will always
- // execute what is written in the brackets following
- // __except1, and NEVER see this return statement.
- return 0;
-}
-
-template<typename T>
-static void divide_by_zero()
-{
- // Note: we can't just do 1 / 0, since
- // some compilers might optimize that
- // away or emit compile-time errors.
- volatile T t0 = 1;
- volatile T t1 = 0;
- t0 /= t1;
-}
-
-// gathers and prints information for integer types
-template<typename T>
-static void inspect( STD_NAMESPACE ostream& out, const char* name )
-{
- COUT << "-- " << STD_NAMESPACE left << STD_NAMESPACE setw(14) << name;
- print_flag( out, test_trap( ÷_by_zero<T> ), "TRAPS", name, 7 );
- print_flag( out, test_modulo<T>(), "MODULO", name, 7 );
- COUT << OFendl;
-}
-
-// print a constant's binary representation as a string, so it can be loaded
-// instead of being calculated when needed
-template<typename T>
-static void print_binary( STD_NAMESPACE ostream& out, const char* pname, const char* name, const T& t )
-{
- print_define( out, pname, name );
- out << " *OFreinterpret_cast( const " << name << "*, \"";
- for( unsigned ui = 0; ui < sizeof(T); ++ui )
- out << '\\' << STD_NAMESPACE oct << STD_NAMESPACE setw(3) << STD_NAMESPACE right << STD_NAMESPACE setfill( '0' )
- << unsigned(((unsigned char*)&t)[ui]) << STD_NAMESPACE dec;
- out << "\" )\n";
-}
-
-// try to create an infinite value and use whatever means
-// to detect if it really is infinite
-template<typename T>
-static int test_inf( STD_NAMESPACE ostream& out, const char* name )
-{
- const T t( HUGE_VAL );
- const int has_inf = print_flag
- (
- out,
- dcmtk_config_math::isinf(t),
- "HAS_INFINITY",
- name,
- 7
- );
- print_binary( out, "INFINITY", name, t );
- return has_inf;
-}
-
-template<typename T>
-static T guess_qnan()
-{
-#ifdef NAN
- // use NAN if available
- return T( NAN );
-#else
- // else do a barrel roll
- T t( 0.0 );
- return t / t;
-#endif
-}
-
-template<typename T>
-static int test_qnan( STD_NAMESPACE ostream& out, const char* name )
-{
- const T t = guess_qnan<T>();
- const int has_qnan = print_flag
- (
- out,
- dcmtk_config_math::isnan( t ),
- "HAS_QUIET_NAN",
- name,
- 7
- );
- print_binary( out, "QUIET_NAN", name, t );
- return has_qnan;
-}
-
-template<typename T>
-struct guess;
-
-template<>
-struct guess<float>
-{
- // There is no way to create a signaling NaN employing only arithmetic
- // operations. So we assume we have IEC-559 floating point types
- // and convert the quiet NaNs we created to signaling NaNs by flipping
- // the bits that would need to be flipped if it really were IEC-559 floats.
- static const float& snan()
- {
- static float f = guess_qnan<float>();
- ((unsigned char*)&f)[2] &= 0xbf;
- ((unsigned char*)&f)[0] |= 0x01;
- return f;
- }
-
- static float denorm_min()
- {
- return float( ldexp( 1.0f, FLT_MIN_EXP - FLT_MANT_DIG ) );
- }
-
- static float denorm_max()
- {
- return FLT_MIN / 2;
- }
-
- static float epsilon()
- {
- return FLT_EPSILON;
- }
-};
-
-template<>
-struct guess<double>
-{
- // There is no way to create a signaling NaN employing only arithmetic
- // operations. So we assume we have IEC-559 floating point types
- // and convert the quiet NaNs we created to signaling NaNs by flipping
- // the bits that would need to be flipped if it really were IEC-559 floats.
- static const double& snan()
- {
- static double d = guess_qnan<double>();
- ((unsigned char*)&d)[6] &= 0xf7;
- ((unsigned char*)&d)[0] |= 0x01;
- return d;
- }
-
- static double denorm_min()
- {
- return double( ldexp( 1.0, DBL_MIN_EXP - DBL_MANT_DIG ) );
- }
-
- static double denorm_max()
- {
- return DBL_MIN / 2;
- }
-
- static double epsilon()
- {
- return DBL_EPSILON;
- }
-};
-
-template<typename T>
-static void provoke_snan()
-{
- // Enable floating point exceptions, Windows and Unix version.
-#ifdef HAVE_WINDOWS_H
- _clearfp();
- _controlfp( _controlfp(0,0) & ~_EM_INVALID, _MCW_EM );
-#elif defined(__APPLE__)
- _MM_SET_EXCEPTION_MASK( _MM_GET_EXCEPTION_MASK() & ~_MM_MASK_INVALID );
-#elif defined(HAVE_FENV_H)
- feenableexcept( FE_INVALID );
-#endif
- // Visual Studio will emit an exception the moment
- // we assign a signaling NaN to another float variable
- // and convert it to a quiet NaN.
- volatile T t = guess<T>::snan();
- // Other compilers will trigger only if we use
- // arithmetics.
- ++t;
-}
-
-template<typename T>
-static int test_snan( STD_NAMESPACE ostream& out, const char* name )
-{
- // Create signaling NaNs and test if they really are signaling NaNs
- const T& t = guess<T>::snan();
- int flag = dcmtk_config_math::isnan( t ) && test_trap( &provoke_snan<T> );
- // Disable floating point exceptions that have been enabled for the test,
- // Windows and Unix version.
-#ifdef HAVE_WINDOWS_H
- _clearfp();
- _controlfp( _controlfp(0,0) | _EM_INVALID, _MCW_EM );
-#elif defined(HAVE_FENV_H)
- feclearexcept( FE_INVALID );
-#ifdef __APPLE__
- _MM_SET_EXCEPTION_MASK( _MM_GET_EXCEPTION_MASK() | _MM_MASK_INVALID );
-#else
- fedisableexcept( FE_INVALID );
-#endif
-#endif
- // Print and return the result
- print_flag
- (
- out,
- flag,
- "HAS_SIGNALING_NAN",
- name,
- 7
- );
- print_binary( out, "SIGNALING_NAN", name, t );
- return flag;
-}
-
-template<typename T>
-static void test_iec559( STD_NAMESPACE ostream& out, const char* name, int reqs )
-{
- // Assume we have IEC-559 floats if the appropriate macro was defined,
- // or if infinity and both kinds of NaNs are supported and the characteristics
- // of double are what we expect them to be.
- print_flag
- (
- out,
-#if defined(__STDC_IEC_559__) || (DBL_DIG == 15 && DBL_MANT_DIG == 53 && DBL_MAX_10_EXP == 308 && DBL_MAX_EXP == 1024 && DBL_MIN_10_EXP == -307 && DBL_MIN_EXP == -1021)
- reqs,
-#else
- 0,
-#endif
- "IS_IEC559",
- name,
- 7
- );
-}
-
-#ifndef _WIN32
-template<typename T>
-static int is_subnormal( T t )
-{
- return !STD_NAMESPACE isnormal( t );
-}
-#else
-static int is_subnormal( float f )
-{
-// Wine does not implement _fpclassf, so don't use it when cross compiling for Windows
-// (Wine would emit an exception at runtime, so it's hard to test for _fpclassf availability)
-#if defined(HAVE_PROTOTYPE__FPCLASSF) && !( defined(DCMTK_CROSS_COMPILING) && defined(_WIN32) )
- return ( _fpclassf( f ) & ( _FPCLASS_ND | _FPCLASS_PD ) ) != 0;
-#else
- return (((unsigned char*)&f)[(FLT_MANT_DIG - 1) / 8] & (1u << ((FLT_MANT_DIG - 1) % 8))) == 0;
-#endif
-}
-
-static int is_subnormal( double d )
-{
- return ( _fpclass( d ) & ( _FPCLASS_ND | _FPCLASS_PD ) ) != 0;
-}
-#endif
-
-template<typename T>
-static void test_subnormal( STD_NAMESPACE ostream& out, const char* name )
-{
-#ifdef HAVE_WINDOWS_H
- _clearfp();
- _controlfp( _EM_DENORMAL | _EM_UNDERFLOW | _EM_INEXACT, _MCW_EM );
-#endif
- const T denorm = guess<T>::denorm_min();
- const int flag = is_subnormal( denorm );
- COUT << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << ( flag ? "yes" : "no" );
- print_define( out, "HAS_DENORM", name );
- out << " OFdenorm_" << ( flag ? "pre" : "ab" ) << "sent\n";
- print_binary( out, "DENORM_MIN", name, denorm );
-}
-
-template<typename T>
-static void test_tinyness_before( STD_NAMESPACE ostream& out, const char* name )
-{
- volatile const T denorm_max = guess<T>::denorm_max();
- volatile const T mult = T( 1.0 ) + guess<T>::epsilon();
-
-#ifdef HAVE_WINDOWS_H
- _clearfp();
-#elif defined(HAVE_FENV_H)
- feclearexcept( FE_ALL_EXCEPT );
-#endif
-
- volatile T result = denorm_max * mult;
- (void)result;
-
- print_flag
- (
- out,
-#ifdef HAVE_WINDOWS_H
- _statusfp() & _EM_UNDERFLOW,
-#elif defined(HAVE_FENV_H)
- fetestexcept( FE_UNDERFLOW ),
-#else
- 0,
-#endif
- "TINYNESS_BEFORE",
- name,
- 7
- );
-}
-
-template<typename T>
-static void test_denorm_loss( STD_NAMESPACE ostream& out, const char* name )
-{
- volatile T t = guess<T>::denorm_min() * 3;
-
-#ifdef HAVE_WINDOWS_H
- _clearfp();
-#elif defined(HAVE_FENV_H)
- feclearexcept( FE_ALL_EXCEPT );
-#endif
-
- t /= 2;
-
- print_flag
- (
- out,
-#ifdef HAVE_WINDOWS_H
- _statusfp() & _EM_UNDERFLOW,
-#elif defined(HAVE_FENV_H)
- fetestexcept( FE_UNDERFLOW ),
-#else
- 0,
-#endif
- "HAS_DENORM_LOSS",
- name,
- 7
- );
-}
-
-#ifdef HAVE_WINDOWS_H
-// MinGW's crazy SEH stuff doesn't work on all MinGW "distributions"
-// This is an even more ugly fallback implementation that seems to
-// work for now
-LONG WINAPI consume_seh_problems( struct _EXCEPTION_POINTERS* )
-{
- _fpreset();
- _clearfp();
- longjmp( jbuf, 0 );
- return EXCEPTION_CONTINUE_SEARCH;
-}
-#endif
-
-int main( int argc, char** argv )
-{
-#ifdef HAVE_WINDOWS_H
- // Activate the fallback workaround, it will only be used
- // if the SEH exceptions can't be caught "the right way"
- SetErrorMode( SEM_FAILCRITICALERRORS );
- SetUnhandledExceptionFilter( consume_seh_problems );
-#endif
-
- COUT << "Inspecting fundamental arithmetic types... " << OFendl;
- if( argc != 2 )
- {
- STD_NAMESPACE cerr << "-- " << "Error: missing destination file "
- << "to store collected information." << OFendl;
- return 1;
- }
-
- STD_NAMESPACE ofstream out( argv[1] );
-
- out << "#ifndef CONFIG_ARITH_H" << '\n';
- out << "#define CONFIG_ARITH_H" << '\n';
- out << '\n';
-
- // workaround to let digits10 be a compile time constant
- out << "#define DCMTK_SIGNED_CHAR_DIGITS10 " << OFstatic_cast( int, ( CHAR_BIT - 1 ) * .30102999566398119521373889472449 ) << OFendl;
- out << "#define DCMTK_UNSIGNED_CHAR_DIGITS10 " << OFstatic_cast( int, CHAR_BIT * .30102999566398119521373889472449 ) << OFendl;
- out << "#define DCMTK_SIGNED_SHORT_DIGITS10 " << OFstatic_cast( int, ( CHAR_BIT * sizeof( signed short ) - 1 ) * .30102999566398119521373889472449 ) << OFendl;
- out << "#define DCMTK_UNSIGNED_SHORT_DIGITS10 " << OFstatic_cast( int, CHAR_BIT * sizeof( unsigned short ) * .30102999566398119521373889472449 ) << OFendl;
- out << "#define DCMTK_SIGNED_INT_DIGITS10 " << OFstatic_cast( int, ( CHAR_BIT * sizeof( signed int ) - 1 ) * .30102999566398119521373889472449 ) << OFendl;
- out << "#define DCMTK_UNSIGNED_INT_DIGITS10 " << OFstatic_cast( int, CHAR_BIT * sizeof( unsigned int ) * .30102999566398119521373889472449 ) << OFendl;
- out << "#define DCMTK_SIGNED_LONG_DIGITS10 " << OFstatic_cast( int, ( CHAR_BIT * sizeof( signed long ) - 1 ) * .30102999566398119521373889472449 ) << OFendl;
- out << "#define DCMTK_UNSIGNED_LONG_DIGITS10 " << OFstatic_cast( int, CHAR_BIT * sizeof( unsigned long ) * .30102999566398119521373889472449 ) << OFendl;
- out << "#define DCMTK_FLOAT_MAX_DIGITS10 " << OFstatic_cast( int, FLT_MANT_DIG * .30102999566398119521373889472449 + 2 ) << OFendl;
- out << "#define DCMTK_DOUBLE_MAX_DIGITS10 " << OFstatic_cast( int, DBL_MANT_DIG * .30102999566398119521373889472449 + 2 ) << OFendl;
-
- COUT << "--" << OFendl;
-
- COUT << "-- " << STD_NAMESPACE setfill( ' ' ) << STD_NAMESPACE setw(17) << ' '
- << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << "TRAPS"
- << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << "MODULO" << OFendl;
-
- register_signals();
- inspect<char>( out, "char" );
- inspect<signed char>( out, "signed char" );
- inspect<unsigned char>( out, "unsigned char" );
- inspect<signed short>( out, "signed short" );
- inspect<unsigned short>( out, "unsigned short" );
- inspect<signed int>( out, "signed int" );
- inspect<unsigned int>( out, "unsigned int" );
- inspect<signed long>( out, "signed long" );
- inspect<unsigned long>( out, "unsigned long" );
-
- COUT << "--" << OFendl;
-
- COUT << "-- " << STD_NAMESPACE setfill( ' ' ) << STD_NAMESPACE setw(18) << ' '
- << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << "float"
- << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << "double" << OFendl;
-
- COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- TRAPS";
- print_flag( out, test_trap( ÷_by_zero<float> ), "TRAPS", "float", 7 );
- print_flag( out, test_trap( ÷_by_zero<double> ), "TRAPS", "double", 7 );
- COUT << OFendl;
-
- COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- HAS INFINITY";
- const int finf = test_inf<float>( out, "float" );
- const int dinf = test_inf<double>( out, "double" );
- COUT << OFendl;
-
- COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- QUIET NAN";
- const int fqnan = test_qnan<float>( out, "float" );
- const int dqnan = test_qnan<double>( out, "double" );
- COUT << OFendl;
-
- COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- SIGNALING NAN";
- const int fsnan = test_snan<float>( out, "float" );
- const int dsnan = test_snan<double>( out, "double" );
- COUT << OFendl;
-
- COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- IEC-559";
- test_iec559<float>( out, "float", finf && fqnan && fsnan );
- test_iec559<double>( out, "double", dinf && dqnan && dsnan );
- COUT << OFendl;
-
- COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- HAS DENORM";
- test_subnormal<float>( out, "float" );
- test_subnormal<double>( out, "double" );
- COUT << OFendl;
-
- COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- TINYNESS BEFORE";
- test_tinyness_before<float>( out, "float" );
- test_tinyness_before<double>( out, "double" );
- COUT << OFendl;
-
- COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- DENORM LOSS";
- test_denorm_loss<float>( out, "float" );
- test_denorm_loss<double>( out, "double" );
- COUT << OFendl;
-
- COUT << "--";
-
- out << "#define DCMTK_ROUND_STYLE " << FLT_ROUNDS << '\n';
- out << '\n';
- out << "#endif // CONFIG_ARITH_H" << '\n';
-
- return 0;
-}
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for dcmtk 3.6.1.
+# Generated by GNU Autoconf 2.69 for dcmtk 3.6.2.
#
# Report bugs to <bugs@dcmtk.org>.
#
# Identity of this package.
PACKAGE_NAME='dcmtk'
-PACKAGE_TARNAME='dcmtk-3.6.1'
-PACKAGE_VERSION='3.6.1'
-PACKAGE_STRING='dcmtk 3.6.1'
+PACKAGE_TARNAME='dcmtk-3.6.2'
+PACKAGE_VERSION='3.6.2'
+PACKAGE_STRING='dcmtk 3.6.2'
PACKAGE_BUGREPORT='bugs@dcmtk.org'
PACKAGE_URL='http://www.dcmtk.org/'
PNGLIBS
TIFFLIBS
OPENSSLLIBS
+HAVE_CXX11
CHARCONVLIBS
CHARCONVINCLUDES
ICU_CONFIG
with_libicuinc
with_libicu
enable_charconv
-with_cxx11_stl
+enable_cxx11
+enable_stl
+enable_stl_vector
+enable_stl_algorithm
+enable_stl_limits
+enable_stl_list
+enable_stl_map
+enable_stl_memory
+enable_stl_stack
+enable_stl_string
+enable_stl_type_traits
+enable_stl_tuple
+enable_stl_system_error
'
ac_precious_vars='build_alias
host_alias
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures dcmtk 3.6.1 to adapt to many kinds of systems.
+\`configure' configures dcmtk 3.6.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of dcmtk 3.6.1:";;
+ short | recursive ) echo "Configuration of dcmtk 3.6.2:";;
esac
cat <<\_ACEOF
--enable-charconv=TYPE enable character set conversion support
(libiconv/libicu/stdlibc/auto=default)
--disable-charconv disable character set conversion support
+ --enable-cxx11 use C++11
+ --disable-cxx11 do not use C++11 (default)
+ --enable-stl use C++ STL
+ --disable-stl do not use C++ STL (default)
+ --enable-stl-vector use C++ STL vector
+ --disable-stl-vector do not use C++ STL vector
+ --enable-stl-algorithm use C++ STL algorithm
+ --disable-stl-algorithm do not use C++ STL algorithm
+ --enable-stl-limits use C++ STL limits
+ --disable-stl-limits do not use C++ STL limits
+ --enable-stl-list use C++ STL list
+ --disable-stl-list do not use C++ STL list
+ --enable-stl-map use C++ STL map
+ --disable-stl-map do not use C++ STL map
+ --enable-stl-memory use C++ STL memory
+ --disable-stl-memory do not use C++ STL memory
+ --enable-stl-stack use C++ STL stack
+ --disable-stl-stack do not use C++ STL stack
+ --enable-stl-string use C++ STL string
+ --disable-stl-string do not use C++ STL string
+ --enable-stl-type-traits
+ use C++ STL type-traits
+ --disable-stl-type-traits
+ do not use C++ STL type-traits
+ --enable-stl-tuple use C++ STL tuple
+ --disable-stl-tuple do not use C++ STL tuple
+ --enable-stl-system-error
+ use C++ STL system_error
+ --disable-stl-system_error
+ do not use C++ STL system_error
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--with-libicuinc=DIR location of libicu includes and libraries
--with-libicu include libicu support (default: auto)
--without-libicu don't include libicu support
- --with-cxx11-stl enable C++11 STL
- --without-cxx11-stl disable C++11 STL (default)
Some influential environment variables:
CC C compiler command
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-dcmtk configure 3.6.1
+dcmtk configure 3.6.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by dcmtk $as_me 3.6.1, which was
+It was created by dcmtk $as_me 3.6.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
ac_config_headers="$ac_config_headers include/dcmtk/config/osconfig.h"
+
+
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
+#
+# DESCRIPTION
+#
+# Check for baseline language coverage in the compiler for the specified
+# version of the C++ standard. If necessary, add switches to CXX and
+# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard)
+# or '14' (for the C++14 standard).
+#
+# The second argument, if specified, indicates whether you insist on an
+# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
+# -std=c++11). If neither is specified, you get whatever works, with
+# preference for an extended mode.
+#
+# The third argument, if specified 'mandatory' or if left unspecified,
+# indicates that baseline support for the specified C++ standard is
+# required and that the macro should error out if no mode with that
+# support is found. If specified 'optional', then configuration proceeds
+# regardless, after defining HAVE_CXX${VERSION} if and only if a
+# supporting mode is found.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
+# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
+# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
+# Copyright (c) 2015 Paul Norman <penorman@mac.com>
+# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
+# Copyright (c) 2016 Krzesimir Nowak <qdlacz@gmail.com>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-PACKAGE_VERSION_NUMBER=361
+
+
+
+PACKAGE_VERSION_NUMBER=362
PACKAGE_VERSION_SUFFIX=""
-PACKAGE_DATE="DEV"
+PACKAGE_DATE="2017-07-14"
cat >>confdefs.h <<_ACEOF
fi
done
-for ac_func in uname cuserid getlogin
+for ac_func in uname cuserid getlogin getlogin_r
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
fi
done
+for ac_func in readdir_r
+do :
+ ac_fn_c_check_func "$LINENO" "readdir_r" "ac_cv_func_readdir_r"
+if test "x$ac_cv_func_readdir_r" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_READDIR_R 1
+_ACEOF
+
+fi
+done
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
$as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
if ${ac_cv_sys_largefile_source+:} false; then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <math.h>
extern "C" {
#include <libc.h>
}
+#include <math.h>
int
main ()
{
;;
*-*-netbsdelf2*)
;;
+ *-*-netbsd*)
+ CXXFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_NETBSD_SOURCE -D_BSD_COMPAT $CXXFLAGS"
+ CFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_NETBSD_SOURCE -D_BSD_COMPAT $CFLAGS"
+ ;;
*-*-darwin*)
CXXFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE $CXXFLAGS"
CFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE $CXXFLAGS"
;;
*-*-netbsdelf2*)
;;
+ *-*-netbsd*)
+ CXXFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_NETBSD_SOURCE -D_BSD_COMPAT $CXXFLAGS"
+ CFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_NETBSD_SOURCE -D_BSD_COMPAT $CFLAGS"
+ ;;
*-*-darwin*)
CXXFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE $CXXFLAGS"
CFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE $CXXFLAGS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_LFS_SUPPORT /**/" >>confdefs.h
+$as_echo "#define DCMTK_ENABLE_LFS DCMTK_LFS64" >>confdefs.h
$as_echo "#define _LARGEFILE64_SOURCE 1" >>confdefs.h
if test "$ac_cv_lfs_support" = yes; then
-$as_echo "#define HAVE_LFS_SUPPORT /**/" >>confdefs.h
+$as_echo "#define DCMTK_ENABLE_LFS DCMTK_LFS" >>confdefs.h
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for feenableexcept (in fenv.h)" >&5
+$as_echo_n "checking prototype for feenableexcept (in fenv.h)... " >&6; }
+
+:
+
+ac_includes=""
+for ac_header in fenv.h
+do
+ ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then
+ ac_includes="$ac_includes
+#include<$ac_header>"
+ fi
+done
+tmp_save_1=`echo feenableexcept | tr ' :' '__'`
+if eval \${ac_cv_prototype_$tmp_save_1+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __cplusplus
+extern "C" {
+#endif
+$ac_includes
+#ifdef __cplusplus
+}
+#endif
+typedef union { int member; } dummyStruct;
+#ifdef __cplusplus
+extern "C"
+#endif
+dummyStruct feenableexcept(dummyStruct);
+
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ eval "ac_cv_prototype_$tmp_save_1=no"
+else
+ eval "ac_cv_prototype_$tmp_save_1=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ ac_tr_prototype=HAVE_PROTOTYPE_`echo $tmp_save_1 | tr '[a-z]' '[A-Z]'`
+ cat >>confdefs.h <<_ACEOF
+#define $ac_tr_prototype 1
+_ACEOF
+
+ :
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for _stricmp (in string.h)" >&5
$as_echo_n "checking prototype for _stricmp (in string.h)... " >&6; }
dummyStruct gethostbyname_r(dummyStruct);
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ eval "ac_cv_prototype_$tmp_save_1=no"
+else
+ eval "ac_cv_prototype_$tmp_save_1=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ ac_tr_prototype=HAVE_PROTOTYPE_`echo $tmp_save_1 | tr '[a-z]' '[A-Z]'`
+ cat >>confdefs.h <<_ACEOF
+#define $ac_tr_prototype 1
+_ACEOF
+
+ :
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for gethostbyaddr_r (in libc.h unistd.h stdlib.h netdb.h)" >&5
+$as_echo_n "checking prototype for gethostbyaddr_r (in libc.h unistd.h stdlib.h netdb.h)... " >&6; }
+
+:
+
+ac_includes=""
+for ac_header in libc.h unistd.h stdlib.h netdb.h
+do
+ ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then
+ ac_includes="$ac_includes
+#include<$ac_header>"
+ fi
+done
+tmp_save_1=`echo gethostbyaddr_r | tr ' :' '__'`
+if eval \${ac_cv_prototype_$tmp_save_1+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __cplusplus
+extern "C" {
+#endif
+$ac_includes
+#ifdef __cplusplus
+}
+#endif
+typedef union { int member; } dummyStruct;
+#ifdef __cplusplus
+extern "C"
+#endif
+dummyStruct gethostbyaddr_r(dummyStruct);
+
+
int
main ()
{
fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use C++ standard includes" >&5
$as_echo_n "checking whether to use C++ standard includes... " >&6; }
ac_use_std_includes="auto"
else
ac_link_o='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.o $LIBS 1>&5'
cat > conftest.$ac_ext <<EOF
-#line 12659 "configure"
+#line 12914 "configure"
#include "confdefs.h"
#include <iostream>
else
ac_link_o='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.o $LIBS 1>&5'
cat > conftest.$ac_ext <<EOF
-#line 13131 "configure"
+#line 13386 "configure"
#include "confdefs.h"
template <class T>
else
ac_link_o='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.o $LIBS 1>&5'
cat > conftest.$ac_ext <<EOF
-#line 13203 "configure"
+#line 13458 "configure"
#include "confdefs.h"
void additive(int & i)
else
ac_link_o='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.o $LIBS 1>&5'
cat > conftest.$ac_ext <<EOF
-#line 13275 "configure"
+#line 13530 "configure"
#include "confdefs.h"
template <class T>
CXXFLAGS="$LIBXMLCFLAGS $CXXFLAGS"
CFLAGS="$LIBXMLCFLAGS $CFLAGS"
fi
+LIBXMLLIBS=`xml2-config --libs 2>/dev/null`
XMLLIBS=""
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libxml support" >&5
$as_echo "#define WITH_LIBXML /**/" >>confdefs.h
- XMLLIBS="-lxml2"
+ XMLLIBS=$LIBXMLLIBS
;;
*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
esac
else
SAVELIBS="$LIBS"
- LIBS="$LIBS -lxml2 $ZLIBLIBS"
+ LIBS="$LIBS $LIBXMLLIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <libxml/parser.h>
$as_echo "#define WITH_LIBXML /**/" >>confdefs.h
- XMLLIBS="-lxml2"
+ XMLLIBS=$LIBXMLLIBS
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
int
main ()
{
-iconv_t cd = iconv_open("", ""); iconv(cd, NULL, NULL, NULL, NULL); iconv_close(cd);
+iconv_t cd = iconv_open("", ""); iconv(cd, 0, 0, 0, 0); iconv_close(cd);
;
return 0;
}
int
main ()
{
-iconv_t cd = iconv_open("", ""); const char *in = 0; iconv(cd, &in, NULL, NULL, NULL); iconv_close(cd);
+iconv_t cd = iconv_open("", ""); const char *in = 0; iconv(cd, &in, 0, 0, 0); iconv_close(cd);
;
return 0;
}
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C++11 STL should be used" >&5
-$as_echo_n "checking if the C++11 STL should be used... " >&6; }
-# Check whether --with-cxx11-stl was given.
-if test "${with_cxx11_stl+set}" = set; then :
- withval=$with_cxx11_stl; case "$withval" in
+ac_enable_cxx11="no"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable C++11 support" >&5
+$as_echo_n "checking whether to enable C++11 support... " >&6; }
+# Check whether --enable-cxx11 was given.
+if test "${enable_cxx11+set}" = set; then :
+ enableval=$enable_cxx11; case "$enableval" in
yes)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
+$as_echo "" >&6; }
+ ax_cxx_compile_alternatives="11 0x" ax_cxx_compile_cxx11_required=false
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ ac_success=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
+$as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; }
+if ${ax_cv_cxx_compile_cxx11+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-$as_echo "#define DCMTK_USE_CXX11_STL /**/" >>confdefs.h
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+// If the compiler admits that it is not ready for C++11, why torture it?
+// Hopefully, this will speed up the test.
-fi
+#ifndef __cplusplus
+#error "This is not a C++ compiler"
+#elif __cplusplus < 201103L
+#error "This is not a C++11 compiler"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __sync_add_and_fetch" >&5
-$as_echo_n "checking for __sync_add_and_fetch... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+#else
+namespace cxx11
+{
- int main(){return __sync_add_and_fetch((int *)0, 0);}
+ namespace test_static_assert
+ {
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
- dcmtk_have_sync_fn=yes
-else
- dcmtk_have_sync_fn=no
+ }
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$dcmtk_have_sync_fn" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ namespace test_final_override
+ {
-$as_echo "#define HAVE_SYNC_ADD_AND_FETCH 1" >>confdefs.h
+ struct Base
+ {
+ virtual void f() {}
+ };
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
+ struct Derived : public Base
+ {
+ virtual void f() override {}
+ };
+ }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __sync_sub_and_fetch" >&5
-$as_echo_n "checking for __sync_sub_and_fetch... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+ namespace test_double_right_angle_brackets
+ {
+ template < typename T >
+ struct check {};
- int main(){return __sync_sub_and_fetch((int *)0, 0);}
+ typedef check<void> single_type;
+ typedef check<check<void>> double_type;
+ typedef check<check<check<void>>> triple_type;
+ typedef check<check<check<check<void>>>> quadruple_type;
+ }
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
- dcmtk_have_sync_fn=yes
-else
- dcmtk_have_sync_fn=no
+ namespace test_decltype
+ {
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$dcmtk_have_sync_fn" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ int
+ f()
+ {
+ int a = 1;
+ decltype(a) b = 2;
+ return a + b;
+ }
-$as_echo "#define HAVE_SYNC_SUB_AND_FETCH 1" >>confdefs.h
+ }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
+ namespace test_type_deduction
+ {
+ template < typename T1, typename T2 >
+ struct is_same
+ {
+ static const bool value = false;
+ };
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __alignof__" >&5
-$as_echo_n "checking for __alignof__... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+ template < typename T >
+ struct is_same<T, T>
+ {
+ static const bool value = true;
+ };
+ template < typename T1, typename T2 >
+ auto
+ add(T1 a1, T2 a2) -> decltype(a1 + a2)
+ {
+ return a1 + a2;
+ }
- int main(){char c[__alignof__(int)];return 0;}
+ int
+ test(const int c, volatile int v)
+ {
+ static_assert(is_same<int, decltype(0)>::value == true, "");
+ static_assert(is_same<int, decltype(c)>::value == false, "");
+ static_assert(is_same<int, decltype(v)>::value == false, "");
+ auto ac = c;
+ auto av = v;
+ auto sumi = ac + av + 'x';
+ auto sumf = ac + av + 1.0;
+ static_assert(is_same<int, decltype(ac)>::value == true, "");
+ static_assert(is_same<int, decltype(av)>::value == true, "");
+ static_assert(is_same<int, decltype(sumi)>::value == true, "");
+ static_assert(is_same<int, decltype(sumf)>::value == false, "");
+ static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
+ return (sumf > 0.0) ? sumi : add(c, v);
+ }
+
+ }
+
+ namespace test_noexcept
+ {
+
+ int f() { return 0; }
+ int g() noexcept { return 0; }
+
+ static_assert(noexcept(f()) == false, "");
+ static_assert(noexcept(g()) == true, "");
+
+ }
+
+ namespace test_constexpr
+ {
+
+ template < typename CharT >
+ unsigned long constexpr
+ strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
+ {
+ return *s ? strlen_c_r(s + 1, acc + 1) : acc;
+ }
+
+ template < typename CharT >
+ unsigned long constexpr
+ strlen_c(const CharT *const s) noexcept
+ {
+ return strlen_c_r(s, 0UL);
+ }
+
+ static_assert(strlen_c("") == 0UL, "");
+ static_assert(strlen_c("1") == 1UL, "");
+ static_assert(strlen_c("example") == 7UL, "");
+ static_assert(strlen_c("another\0example") == 7UL, "");
+
+ }
+
+ namespace test_rvalue_references
+ {
+
+ template < int N >
+ struct answer
+ {
+ static constexpr int value = N;
+ };
+
+ answer<1> f(int&) { return answer<1>(); }
+ answer<2> f(const int&) { return answer<2>(); }
+ answer<3> f(int&&) { return answer<3>(); }
+
+ void
+ test()
+ {
+ int i = 0;
+ const int c = 0;
+ static_assert(decltype(f(i))::value == 1, "");
+ static_assert(decltype(f(c))::value == 2, "");
+ static_assert(decltype(f(0))::value == 3, "");
+ }
+
+ }
+
+ namespace test_uniform_initialization
+ {
+
+ struct test
+ {
+ static const int zero {};
+ static const int one {1};
+ };
+
+ static_assert(test::zero == 0, "");
+ static_assert(test::one == 1, "");
+
+ }
+
+ namespace test_lambdas
+ {
+
+ void
+ test1()
+ {
+ auto lambda1 = [](){};
+ auto lambda2 = lambda1;
+ lambda1();
+ lambda2();
+ }
+
+ int
+ test2()
+ {
+ auto a = [](int i, int j){ return i + j; }(1, 2);
+ auto b = []() -> int { return '0'; }();
+ auto c = [=](){ return a + b; }();
+ auto d = [&](){ return c; }();
+ auto e = [a, &b](int x) mutable {
+ const auto identity = [](int y){ return y; };
+ for (auto i = 0; i < a; ++i)
+ a += b--;
+ return x + identity(a + b);
+ }(0);
+ return a + b + c + d + e;
+ }
+
+ int
+ test3()
+ {
+ const auto nullary = [](){ return 0; };
+ const auto unary = [](int x){ return x; };
+ using nullary_t = decltype(nullary);
+ using unary_t = decltype(unary);
+ const auto higher1st = [](nullary_t f){ return f(); };
+ const auto higher2nd = [unary](nullary_t f1){
+ return [unary, f1](unary_t f2){ return f2(unary(f1())); };
+ };
+ return higher1st(nullary) + higher2nd(nullary)(unary);
+ }
+
+ }
+
+ namespace test_variadic_templates
+ {
+
+ template <int...>
+ struct sum;
+
+ template <int N0, int... N1toN>
+ struct sum<N0, N1toN...>
+ {
+ static constexpr auto value = N0 + sum<N1toN...>::value;
+ };
+
+ template <>
+ struct sum<>
+ {
+ static constexpr auto value = 0;
+ };
+
+ static_assert(sum<>::value == 0, "");
+ static_assert(sum<1>::value == 1, "");
+ static_assert(sum<23>::value == 23, "");
+ static_assert(sum<1, 2>::value == 3, "");
+ static_assert(sum<5, 5, 11>::value == 21, "");
+ static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
+
+ }
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
+ // because of this.
+ namespace test_template_alias_sfinae
+ {
+
+ struct foo {};
+
+ template<typename T>
+ using member = typename T::member_type;
+
+ template<typename T>
+ void func(...) {}
+
+ template<typename T>
+ void func(member<T>*) {}
+
+ void test();
+
+ void test() { func<foo>(0); }
+
+ }
+
+} // namespace cxx11
+
+#endif // __cplusplus >= 201103L
+
+
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ax_cv_cxx_compile_cxx11=yes
+else
+ ax_cv_cxx_compile_cxx11=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5
+$as_echo "$ax_cv_cxx_compile_cxx11" >&6; }
+ if test x$ax_cv_cxx_compile_cxx11 = xyes; then
+ ac_success=yes
+ fi
+
+
+
+ if test x$ac_success = xno; then
+ for alternative in ${ax_cxx_compile_alternatives}; do
+ for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
+ cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
+$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
+if eval \${$cachevar+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_CXX="$CXX"
+ CXX="$CXX $switch"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+// If the compiler admits that it is not ready for C++11, why torture it?
+// Hopefully, this will speed up the test.
+
+#ifndef __cplusplus
+
+#error "This is not a C++ compiler"
+
+#elif __cplusplus < 201103L
+
+#error "This is not a C++11 compiler"
+
+#else
+
+namespace cxx11
+{
+
+ namespace test_static_assert
+ {
+
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ }
+
+ namespace test_final_override
+ {
+
+ struct Base
+ {
+ virtual void f() {}
+ };
+
+ struct Derived : public Base
+ {
+ virtual void f() override {}
+ };
+
+ }
+
+ namespace test_double_right_angle_brackets
+ {
+
+ template < typename T >
+ struct check {};
+
+ typedef check<void> single_type;
+ typedef check<check<void>> double_type;
+ typedef check<check<check<void>>> triple_type;
+ typedef check<check<check<check<void>>>> quadruple_type;
+
+ }
+
+ namespace test_decltype
+ {
+
+ int
+ f()
+ {
+ int a = 1;
+ decltype(a) b = 2;
+ return a + b;
+ }
+
+ }
+
+ namespace test_type_deduction
+ {
+
+ template < typename T1, typename T2 >
+ struct is_same
+ {
+ static const bool value = false;
+ };
+
+ template < typename T >
+ struct is_same<T, T>
+ {
+ static const bool value = true;
+ };
+
+ template < typename T1, typename T2 >
+ auto
+ add(T1 a1, T2 a2) -> decltype(a1 + a2)
+ {
+ return a1 + a2;
+ }
+
+ int
+ test(const int c, volatile int v)
+ {
+ static_assert(is_same<int, decltype(0)>::value == true, "");
+ static_assert(is_same<int, decltype(c)>::value == false, "");
+ static_assert(is_same<int, decltype(v)>::value == false, "");
+ auto ac = c;
+ auto av = v;
+ auto sumi = ac + av + 'x';
+ auto sumf = ac + av + 1.0;
+ static_assert(is_same<int, decltype(ac)>::value == true, "");
+ static_assert(is_same<int, decltype(av)>::value == true, "");
+ static_assert(is_same<int, decltype(sumi)>::value == true, "");
+ static_assert(is_same<int, decltype(sumf)>::value == false, "");
+ static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
+ return (sumf > 0.0) ? sumi : add(c, v);
+ }
+
+ }
+
+ namespace test_noexcept
+ {
+
+ int f() { return 0; }
+ int g() noexcept { return 0; }
+
+ static_assert(noexcept(f()) == false, "");
+ static_assert(noexcept(g()) == true, "");
+
+ }
+
+ namespace test_constexpr
+ {
+
+ template < typename CharT >
+ unsigned long constexpr
+ strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
+ {
+ return *s ? strlen_c_r(s + 1, acc + 1) : acc;
+ }
+
+ template < typename CharT >
+ unsigned long constexpr
+ strlen_c(const CharT *const s) noexcept
+ {
+ return strlen_c_r(s, 0UL);
+ }
+
+ static_assert(strlen_c("") == 0UL, "");
+ static_assert(strlen_c("1") == 1UL, "");
+ static_assert(strlen_c("example") == 7UL, "");
+ static_assert(strlen_c("another\0example") == 7UL, "");
+
+ }
+
+ namespace test_rvalue_references
+ {
+
+ template < int N >
+ struct answer
+ {
+ static constexpr int value = N;
+ };
+
+ answer<1> f(int&) { return answer<1>(); }
+ answer<2> f(const int&) { return answer<2>(); }
+ answer<3> f(int&&) { return answer<3>(); }
+
+ void
+ test()
+ {
+ int i = 0;
+ const int c = 0;
+ static_assert(decltype(f(i))::value == 1, "");
+ static_assert(decltype(f(c))::value == 2, "");
+ static_assert(decltype(f(0))::value == 3, "");
+ }
+
+ }
+
+ namespace test_uniform_initialization
+ {
+
+ struct test
+ {
+ static const int zero {};
+ static const int one {1};
+ };
+
+ static_assert(test::zero == 0, "");
+ static_assert(test::one == 1, "");
+
+ }
+
+ namespace test_lambdas
+ {
+
+ void
+ test1()
+ {
+ auto lambda1 = [](){};
+ auto lambda2 = lambda1;
+ lambda1();
+ lambda2();
+ }
+
+ int
+ test2()
+ {
+ auto a = [](int i, int j){ return i + j; }(1, 2);
+ auto b = []() -> int { return '0'; }();
+ auto c = [=](){ return a + b; }();
+ auto d = [&](){ return c; }();
+ auto e = [a, &b](int x) mutable {
+ const auto identity = [](int y){ return y; };
+ for (auto i = 0; i < a; ++i)
+ a += b--;
+ return x + identity(a + b);
+ }(0);
+ return a + b + c + d + e;
+ }
+
+ int
+ test3()
+ {
+ const auto nullary = [](){ return 0; };
+ const auto unary = [](int x){ return x; };
+ using nullary_t = decltype(nullary);
+ using unary_t = decltype(unary);
+ const auto higher1st = [](nullary_t f){ return f(); };
+ const auto higher2nd = [unary](nullary_t f1){
+ return [unary, f1](unary_t f2){ return f2(unary(f1())); };
+ };
+ return higher1st(nullary) + higher2nd(nullary)(unary);
+ }
+
+ }
+
+ namespace test_variadic_templates
+ {
+
+ template <int...>
+ struct sum;
+
+ template <int N0, int... N1toN>
+ struct sum<N0, N1toN...>
+ {
+ static constexpr auto value = N0 + sum<N1toN...>::value;
+ };
+
+ template <>
+ struct sum<>
+ {
+ static constexpr auto value = 0;
+ };
+
+ static_assert(sum<>::value == 0, "");
+ static_assert(sum<1>::value == 1, "");
+ static_assert(sum<23>::value == 23, "");
+ static_assert(sum<1, 2>::value == 3, "");
+ static_assert(sum<5, 5, 11>::value == 21, "");
+ static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
+
+ }
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
+ // because of this.
+ namespace test_template_alias_sfinae
+ {
+
+ struct foo {};
+
+ template<typename T>
+ using member = typename T::member_type;
+
+ template<typename T>
+ void func(...) {}
+
+ template<typename T>
+ void func(member<T>*) {}
+
+ void test();
+
+ void test() { func<foo>(0); }
+
+ }
+
+} // namespace cxx11
+
+#endif // __cplusplus >= 201103L
+
+
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ eval $cachevar=yes
+else
+ eval $cachevar=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CXX="$ac_save_CXX"
+fi
+eval ac_res=\$$cachevar
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test x\$$cachevar = xyes; then
+ CXX="$CXX $switch"
+ if test -n "$CXXCPP" ; then
+ CXXCPP="$CXXCPP $switch"
+ fi
+ ac_success=yes
+ break
+ fi
+ done
+ if test x$ac_success = xyes; then
+ break
+ fi
+ done
+ fi
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ if test x$ax_cxx_compile_cxx11_required = xtrue; then
+ if test x$ac_success = xno; then
+ as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
+ fi
+ fi
+ if test x$ac_success = xno; then
+ HAVE_CXX11=0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5
+$as_echo "$as_me: No compiler with C++11 support was found" >&6;}
+ else
+ HAVE_CXX11=1
+
+$as_echo "#define HAVE_CXX11 1" >>confdefs.h
+
+ fi
+
+
+ if test "$HAVE_CXX11 == 1"; then
+ ac_enable_cxx11="yes"
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable C++11 support" >&5
+$as_echo_n "checking whether to enable C++11 support... " >&6; }
+ ;;
+
+ *)
+ ac_enable_cxx11="no"
+ ;;
+ esac
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_cxx11" >&5
+$as_echo "$ac_enable_cxx11" >&6; }
+
+
+
+ac_enable_stl="no"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL support" >&5
+$as_echo_n "checking whether to enable STL support... " >&6; }
+# Check whether --enable-stl was given.
+if test "${enable_stl+set}" = set; then :
+ enableval=$enable_stl; case "$enableval" in
+ yes)
+ ac_enable_stl="yes"
+ ;;
+
+ *)
+ ac_enable_stl="no"
+ ;;
+ esac
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl" >&5
+$as_echo "$ac_enable_stl" >&6; }
+
+
+ac_enable_stl_vector="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL vector support" >&5
+$as_echo_n "checking whether to enable STL vector support... " >&6; }
+# Check whether --enable-stl-vector was given.
+if test "${enable_stl_vector+set}" = set; then :
+ enableval=$enable_stl_vector; case "$enableval" in
+ yes)
+ ac_enable_stl_vector="yes"
+ ;;
+
+ *)
+ ac_enable_stl_vector="no"
+ ;;
+ esac
+
+fi
+
+if test "$ac_enable_stl_vector" = "auto"; then
+ ac_enable_stl_vector="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_vector" = "yes"; then
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "tests/vector.cc"
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+$as_echo "#define HAVE_STL_VECTOR /**/" >>confdefs.h
+
+else
+ ac_enable_stl_vector="unsupported -> no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_vector" >&5
+$as_echo "$ac_enable_stl_vector" >&6; }
+
+ac_enable_stl_algorithm="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL algorithm support" >&5
+$as_echo_n "checking whether to enable STL algorithm support... " >&6; }
+# Check whether --enable-stl-algorithm was given.
+if test "${enable_stl_algorithm+set}" = set; then :
+ enableval=$enable_stl_algorithm; case "$enableval" in
+ yes)
+ ac_enable_stl_algorithm="yes"
+ ;;
+
+ *)
+ ac_enable_stl_algorithm="no"
+ ;;
+ esac
+
+fi
+
+if test "$ac_enable_stl_algorithm" = "auto"; then
+ ac_enable_stl_algorithm="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_algorithm" = "yes"; then
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "tests/algo.cc"
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+$as_echo "#define HAVE_STL_ALGORITHM /**/" >>confdefs.h
+
+else
+ ac_enable_stl_algorithm="unsupported -> no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_algorithm" >&5
+$as_echo "$ac_enable_stl_algorithm" >&6; }
+
+ac_enable_stl_limits="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL limits support" >&5
+$as_echo_n "checking whether to enable STL limits support... " >&6; }
+# Check whether --enable-stl-limits was given.
+if test "${enable_stl_limits+set}" = set; then :
+ enableval=$enable_stl_limits; case "$enableval" in
+ yes)
+ ac_enable_stl_limits="yes"
+ ;;
+
+ *)
+ ac_enable_stl_limits="no"
+ ;;
+ esac
+
+fi
+
+if test "$ac_enable_stl_limits" = "auto"; then
+ ac_enable_stl_limits="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_limits" = "yes"; then
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "tests/limits.cc"
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+$as_echo "#define HAVE_STL_LIMITS /**/" >>confdefs.h
+
+else
+ ac_enable_stl_limits="unsupported -> no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_limits" >&5
+$as_echo "$ac_enable_stl_limits" >&6; }
+
+ac_enable_stl_list="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL list support" >&5
+$as_echo_n "checking whether to enable STL list support... " >&6; }
+# Check whether --enable-stl-list was given.
+if test "${enable_stl_list+set}" = set; then :
+ enableval=$enable_stl_list; case "$enableval" in
+ yes)
+ ac_enable_stl_list="yes"
+ ;;
+
+ *)
+ ac_enable_stl_list="no"
+ ;;
+ esac
+
+fi
+
+if test "$ac_enable_stl_list" = "auto"; then
+ ac_enable_stl_list="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_list" = "yes"; then
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "tests/list.cc"
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+$as_echo "#define HAVE_STL_LIST /**/" >>confdefs.h
+
+else
+ ac_enable_stl_list="unsupported -> no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_list" >&5
+$as_echo "$ac_enable_stl_list" >&6; }
+
+ac_enable_stl_map="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL map support" >&5
+$as_echo_n "checking whether to enable STL map support... " >&6; }
+# Check whether --enable-stl-map was given.
+if test "${enable_stl_map+set}" = set; then :
+ enableval=$enable_stl_map; case "$enableval" in
+ yes)
+ ac_enable_stl_map="yes"
+ ;;
+
+ *)
+ ac_enable_stl_map="no"
+ ;;
+ esac
+
+fi
+
+if test "$ac_enable_stl_map" = "auto"; then
+ ac_enable_stl_map="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_map" = "yes"; then
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "tests/map.cc"
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+$as_echo "#define HAVE_STL_MAP /**/" >>confdefs.h
+
+else
+ ac_enable_stl_map="unsupported -> no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_map" >&5
+$as_echo "$ac_enable_stl_map" >&6; }
+
+ac_enable_stl_memory="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL memory support" >&5
+$as_echo_n "checking whether to enable STL memory support... " >&6; }
+# Check whether --enable-stl-memory was given.
+if test "${enable_stl_memory+set}" = set; then :
+ enableval=$enable_stl_memory; case "$enableval" in
+ yes)
+ ac_enable_stl_memory="yes"
+ ;;
+
+ *)
+ ac_enable_stl_memory="no"
+ ;;
+ esac
+
+fi
+
+if test "$ac_enable_stl_memory" = "auto"; then
+ ac_enable_stl_memory="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_memory" = "yes"; then
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "tests/memory.cc"
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+$as_echo "#define HAVE_STL_MEMORY /**/" >>confdefs.h
+
+else
+ ac_enable_stl_memory="unsupported -> no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_memory" >&5
+$as_echo "$ac_enable_stl_memory" >&6; }
+
+ac_enable_stl_stack="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL stack support" >&5
+$as_echo_n "checking whether to enable STL stack support... " >&6; }
+# Check whether --enable-stl-stack was given.
+if test "${enable_stl_stack+set}" = set; then :
+ enableval=$enable_stl_stack; case "$enableval" in
+ yes)
+ ac_enable_stl_stack="yes"
+ ;;
+
+ *)
+ ac_enable_stl_stack="no"
+ ;;
+ esac
+
+fi
+
+if test "$ac_enable_stl_stack" = "auto"; then
+ ac_enable_stl_stack="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_stack" = "yes"; then
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "tests/stack.cc"
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+$as_echo "#define HAVE_STL_STACK /**/" >>confdefs.h
+
+else
+ ac_enable_stl_stack="unsupported -> no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_stack" >&5
+$as_echo "$ac_enable_stl_stack" >&6; }
+
+ac_enable_stl_string="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL string support" >&5
+$as_echo_n "checking whether to enable STL string support... " >&6; }
+# Check whether --enable-stl-string was given.
+if test "${enable_stl_string+set}" = set; then :
+ enableval=$enable_stl_string; case "$enableval" in
+ yes)
+ ac_enable_stl_string="yes"
+ ;;
+
+ *)
+ ac_enable_stl_string="no"
+ ;;
+ esac
+
+fi
+
+if test "$ac_enable_stl_string" = "auto"; then
+ ac_enable_stl_string="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_string" = "yes"; then
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "tests/string.cc"
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+$as_echo "#define HAVE_STL_STRING /**/" >>confdefs.h
+
+else
+ ac_enable_stl_string="unsupported -> no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_string" >&5
+$as_echo "$ac_enable_stl_string" >&6; }
+
+ac_enable_stl_type_traits="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL type-traits support" >&5
+$as_echo_n "checking whether to enable STL type-traits support... " >&6; }
+# Check whether --enable-stl-type-traits was given.
+if test "${enable_stl_type_traits+set}" = set; then :
+ enableval=$enable_stl_type_traits; case "$enableval" in
+ yes)
+ ac_enable_stl_type_traits="yes"
+ ;;
+
+ *)
+ ac_enable_stl_type_traits="no"
+ ;;
+ esac
+
+fi
+
+if test "$ac_enable_stl_type_traits" = "auto"; then
+ ac_enable_stl_type_traits="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_type_traits" = "yes"; then
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "tests/ttraits.cc"
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+$as_echo "#define HAVE_STL_TYPE_TRAITS /**/" >>confdefs.h
+
+else
+ ac_enable_stl_type_traits="unsupported -> no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_type_traits" >&5
+$as_echo "$ac_enable_stl_type_traits" >&6; }
+
+ac_enable_stl_tuple="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL tuple support" >&5
+$as_echo_n "checking whether to enable STL tuple support... " >&6; }
+# Check whether --enable-stl-tuple was given.
+if test "${enable_stl_tuple+set}" = set; then :
+ enableval=$enable_stl_tuple; case "$enableval" in
+ yes)
+ ac_enable_stl_tuple="yes"
+ ;;
+
+ *)
+ ac_enable_stl_tuple="no"
+ ;;
+ esac
+
+fi
+
+if test "$ac_enable_stl_tuple" = "auto"; then
+ ac_enable_stl_tuple="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_tuple" = "yes"; then
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "tests/tuple.cc"
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+$as_echo "#define HAVE_STL_TUPLE /**/" >>confdefs.h
+
+else
+ ac_enable_stl_tuple="unsupported -> no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_tuple" >&5
+$as_echo "$ac_enable_stl_tuple" >&6; }
+
+ac_enable_stl_system_error="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL system_error support" >&5
+$as_echo_n "checking whether to enable STL system_error support... " >&6; }
+# Check whether --enable-stl-system-error was given.
+if test "${enable_stl_system_error+set}" = set; then :
+ enableval=$enable_stl_system_error; case "$enableval" in
+ yes)
+ ac_enable_stl_system_error="yes"
+ ;;
+
+ *)
+ ac_enable_stl_system_error="no"
+ ;;
+ esac
+
+fi
+
+if test "$ac_enable_stl_system_error" = "auto"; then
+ ac_enable_stl_system_error="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_system_error" = "yes"; then
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "tests/syserr.cc"
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+$as_echo "#define HAVE_STL_SYSTEM_ERROR /**/" >>confdefs.h
+
+else
+ ac_enable_stl_system_error="unsupported -> no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_system_error" >&5
+$as_echo "$ac_enable_stl_system_error" >&6; }
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __sync_add_and_fetch" >&5
+$as_echo_n "checking for __sync_add_and_fetch... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+ int main(){return __sync_add_and_fetch((int *)0, 0);}
_ACEOF
if ac_fn_cxx_try_link "$LINENO"; then :
- dcmtk_have_alignof=yes
+ dcmtk_have_sync_fn=yes
else
- dcmtk_have_alignof=no
+ dcmtk_have_sync_fn=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- if test "$dcmtk_have_alignof" = yes; then
+ if test "$dcmtk_have_sync_fn" = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_GNU_ALIGNOF 1" >>confdefs.h
+$as_echo "#define HAVE_SYNC_ADD_AND_FETCH 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((aligned))" >&5
-$as_echo_n "checking for __attribute__((aligned))... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __sync_sub_and_fetch" >&5
+$as_echo_n "checking for __sync_sub_and_fetch... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- int main(){__attribute__((aligned(4))) char c[16];return 0;}
+ int main(){return __sync_sub_and_fetch((int *)0, 0);}
_ACEOF
if ac_fn_cxx_try_link "$LINENO"; then :
- dcmtk_have_attribute_aligned=yes
+ dcmtk_have_sync_fn=yes
else
- dcmtk_have_attribute_aligned=no
+ dcmtk_have_sync_fn=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- if test "$dcmtk_have_attribute_aligned" = yes; then
+ if test "$dcmtk_have_sync_fn" = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_ATTRIBUTE_ALIGNED 1" >>confdefs.h
+$as_echo "#define HAVE_SYNC_SUB_AND_FETCH 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __attribute__((aligned)) supports templates" >&5
-$as_echo_n "checking whether __attribute__((aligned)) supports templates... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __alignof__" >&5
+$as_echo_n "checking for __alignof__... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- template<typename T>
- struct test { typedef T type __attribute__((aligned(4))); };
- int main()
- {
- test<char>::type i;
- return 0;
- }
+ int main(){char c[__alignof__(int)];return 0;}
_ACEOF
if ac_fn_cxx_try_link "$LINENO"; then :
- dcmtk_attribute_aligned_supports_templates=yes
+ dcmtk_have_alignof=yes
else
- dcmtk_attribute_aligned_supports_templates=no
+ dcmtk_have_alignof=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- if test "$dcmtk_attribute_aligned_supports_templates" = yes; then
+ if test "$dcmtk_have_alignof" = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define ATTRIBUTE_ALIGNED_SUPPORTS_TEMPLATES 1" >>confdefs.h
+$as_echo "#define HAVE_GNU_ALIGNOF 1" >>confdefs.h
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((aligned))" >&5
+$as_echo_n "checking for __attribute__((aligned))... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+ int main(){__attribute__((aligned(4))) char c[16];return 0;}
+
+
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ dcmtk_have_attribute_aligned=yes
+else
+ dcmtk_have_attribute_aligned=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$dcmtk_have_attribute_aligned" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_ATTRIBUTE_ALIGNED 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether alignas supports typedefs" >&5
-$as_echo_n "checking whether alignas supports typedefs... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __attribute__((aligned)) supports templates" >&5
+$as_echo_n "checking whether __attribute__((aligned)) supports templates... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+ template<typename T>
+ struct test { typedef T type __attribute__((aligned(4))); };
int main()
{
- typedef char type[16] alignas(4);
+ test<char>::type i;
return 0;
}
_ACEOF
if ac_fn_cxx_try_link "$LINENO"; then :
- dcmtk_alignas_supports_typedefs=yes
+ dcmtk_attribute_aligned_supports_templates=yes
else
- dcmtk_alignas_supports_typedefs=no
+ dcmtk_attribute_aligned_supports_templates=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- if test "$dcmtk_alignas_supports_typedefs" = yes; then
+ if test "$dcmtk_attribute_aligned_supports_templates" = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define ALIGNAS_SUPPORTS_TYPEDEFS 1" >>confdefs.h
+$as_echo "#define ATTRIBUTE_ALIGNED_SUPPORTS_TEMPLATES 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by dcmtk $as_me 3.6.1, which was
+This file was extended by dcmtk $as_me 3.6.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-dcmtk config.status 3.6.1
+dcmtk config.status 3.6.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(dcmtk, 3.6.1, [bugs@dcmtk.org], [dcmtk-3.6.1], [http://www.dcmtk.org/])
+AC_INIT(dcmtk, 3.6.2, [bugs@dcmtk.org], [dcmtk-3.6.2], [http://www.dcmtk.org/])
AC_PREREQ(2.60)
AC_CONFIG_SRCDIR(Makefile.in)
AC_CONFIG_HEADER(include/dcmtk/config/osconfig.h)
+m4_include([stdcxx.m4])
+
dnl -------------------------------------------------------
dnl Additional Package Information
dnl -------------------------------------------------------
-PACKAGE_VERSION_NUMBER=361
+PACKAGE_VERSION_NUMBER=362
PACKAGE_VERSION_SUFFIX=""
-PACKAGE_DATE="DEV"
+PACKAGE_DATE="2017-07-14"
AC_DEFINE_UNQUOTED(PACKAGE_VERSION_NUMBER,${PACKAGE_VERSION_NUMBER},[Define to the version number of this package.])
AC_DEFINE_UNQUOTED(PACKAGE_VERSION_SUFFIX,"${PACKAGE_VERSION_SUFFIX}",[Define to the version suffix of this package.])
#ifdef __MINGW32__
#define HAVE_WINDOWS_H 1
#define HAVE_WINSOCK_H 1
-#define NO_IOS_BASE_ASSIGN 1
#define ENVIRONMENT_PATH_SEPARATOR ';'
#endif])
-AH_BOTTOM([#if defined(DCMTK_USE_CXX11_STL) && defined(__cplusplus) && __cplusplus < 201103L
+AH_BOTTOM([#if defined(HAVE_CXX11) && defined(__cplusplus) && __cplusplus < 201103L
#error\
- DCMTK was configured to use the C++11 STL, but your compiler is not configured\
- for building with C++11 features.
+DCMTK was configured to use C++11 features, but your compiler does not or was not configured to provide them.
#endif
#endif /* OSCONFIG_H */])
AC_CHECK_FUNCS(stat)
AC_CHECK_FUNCS(malloc_debug)
AC_CHECK_FUNCS(strerror strdup bzero index rindex access)
-AC_CHECK_FUNCS(uname cuserid getlogin)
+AC_CHECK_FUNCS(uname cuserid getlogin getlogin_r)
AC_CHECK_FUNCS(usleep)
AC_CHECK_FUNCS(flock lockf)
AC_CHECK_FUNCS(listen connect setsockopt getsockopt select)
AC_CHECK_FUNCS(vsnprintf)
AC_CHECK_FUNCS(mbstowcs wcstombs)
AC_CHECK_FUNCS(popen pclose)
+AC_CHECK_FUNCS(readdir_r)
AC_FUNC_FSEEKO
;;
*-*-netbsdelf2*)
;;
+ *-*-netbsd*)
+ CXXFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_NETBSD_SOURCE -D_BSD_COMPAT $CXXFLAGS"
+ CFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_NETBSD_SOURCE -D_BSD_COMPAT $CFLAGS"
+ ;;
*-*-darwin*)
dnl On Mac OS X we need to have _DARWIN_C_SOURCE defined to enable UNIX standard API for system headers
CXXFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE $CXXFLAGS"
;;
*-*-netbsdelf2*)
;;
+ *-*-netbsd*)
+ CXXFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_NETBSD_SOURCE -D_BSD_COMPAT $CXXFLAGS"
+ CFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_NETBSD_SOURCE -D_BSD_COMPAT $CFLAGS"
+ ;;
*-*-darwin*)
dnl On Mac OS X we need to have _DARWIN_C_SOURCE source defined to enable UNIX standard API for system headers
CXXFLAGS="-D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE $CXXFLAGS"
dnl the acconfig.h file. This is because the macros are specific to the
dnl DCMTK project and are not supported by GNU autoheader.
+AC_CHECK_PROTOTYPE(feenableexcept, fenv.h)
AC_CHECK_PROTOTYPE(_stricmp, string.h)
AC_CHECK_PROTOTYPE(accept, sys/types.h sys/socket.h)
if test $ac_cv_prototype_accept = yes ; then
AC_CHECK_PROTOTYPE(flock, sys/file.h)
AC_CHECK_PROTOTYPE(gethostbyname, libc.h unistd.h stdlib.h netdb.h)
AC_CHECK_PROTOTYPE(gethostbyname_r, libc.h unistd.h stdlib.h netdb.h)
+AC_CHECK_PROTOTYPE(gethostbyaddr_r, libc.h unistd.h stdlib.h netdb.h)
AC_CHECK_PROTOTYPE(gethostid, libc.h unistd.h stdlib.h netdb.h)
AC_CHECK_PROTOTYPE(gethostname, unistd.h libc.h stdlib.h netdb.h)
AC_CHECK_PROTOTYPE(getsockname, sys/types.h sys/socket.h)
AC_INCLUDE_MATH_H_AS_CXX
fi
+
dnl -------------------------------------------------------
dnl Checks for the usage of standard C++ headers.
dnl -------------------------------------------------------
CXXFLAGS="$LIBXMLCFLAGS $CXXFLAGS"
CFLAGS="$LIBXMLCFLAGS $CFLAGS"
fi
+LIBXMLLIBS=`xml2-config --libs 2>/dev/null`
XMLLIBS=""
AC_MSG_CHECKING(whether to include libxml support)
yes)
AC_MSG_RESULT(yes)
AC_DEFINE(WITH_LIBXML, , [Define if we are compiling with libxml support.])
- XMLLIBS="-lxml2"
+ XMLLIBS=$LIBXMLLIBS
;;
*)
AC_MSG_RESULT(no)
;;
esac ],
[ SAVELIBS="$LIBS"
- LIBS="$LIBS -lxml2 $ZLIBLIBS"
+ LIBS="$LIBS $LIBXMLLIBS"
AC_TRY_LINK([#include <libxml/parser.h>], [(void) xmlInitParser()],
[ AC_MSG_RESULT(yes)
AC_DEFINE(WITH_LIBXML, , [Define if we are compiling with libxml support.])
- XMLLIBS="-lxml2" ],
+ XMLLIBS=$LIBXMLLIBS ],
[AC_MSG_RESULT(no)])
LIBS="$SAVELIBS"] )
esac ],
[ SAVELIBS="$LIBS"
LIBS="$LIBS -liconv -lcharset"
- AC_TRY_LINK([#include <iconv.h>], [iconv_t cd = iconv_open("", ""); iconv(cd, NULL, NULL, NULL, NULL); iconv_close(cd);],
+ AC_TRY_LINK([#include <iconv.h>], [iconv_t cd = iconv_open("", ""); iconv(cd, 0, 0, 0, 0); iconv_close(cd);],
[ WITH_LIBICONV=yes
AC_DEFINE(WITH_LIBICONV)
ICONVLIBS="-liconv -lcharset" ])
AC_MSG_CHECKING(whether the second argument to iconv() is const)
SAVELIBS="$LIBS"
LIBS="$LIBS $ICONVLIBS"
-AC_TRY_COMPILE([#include <iconv.h>], [iconv_t cd = iconv_open("", ""); const char *in = 0; iconv(cd, &in, NULL, NULL, NULL); iconv_close(cd);],
+AC_TRY_COMPILE([#include <iconv.h>], [iconv_t cd = iconv_open("", ""); const char *in = 0; iconv(cd, &in, 0, 0, 0); iconv_close(cd);],
[ AC_MSG_RESULT(yes)
AC_DEFINE(LIBICONV_SECOND_ARGUMENT_CONST, , [Define if the second argument to iconv() is const.]) ],
[AC_MSG_RESULT(no)])
AH_VERBATIM([DCMTK_CHARSET_CONVERSION_CONSTANTS], [/* character set conversion constants. */
#define DCMTK_CHARSET_CONVERSION_ICU 1
#define DCMTK_CHARSET_CONVERSION_ICONV 2
-#define DCMTK_CHARSET_CONVERSION_STDLIBC_ICONV 3])
+#define DCMTK_CHARSET_CONVERSION_STDLIBC_ICONV 3
+
+/* LFS mode constants. */
+#define DCMTK_LFS 1
+#define DCMTK_LFS64 2])
CHARCONVINCLUDES=""
CHARCONVLIBS=""
[Define to select character set conversion implementation.])
fi
+
dnl -------------------------------------------------------
-dnl C++11 support
+dnl include config test code from config/tests
dnl -------------------------------------------------------
-AC_MSG_CHECKING(if the C++11 STL should be used)
-AC_ARG_WITH(cxx11-stl,
-[ --with-cxx11-stl enable C++11 STL
- --without-cxx11-stl disable C++11 STL (default)],
-[ case "$withval" in
+ac_enable_cxx11="no"
+AC_MSG_CHECKING(whether to enable C++11 support)
+AC_ARG_ENABLE(cxx11,
+[ --enable-cxx11 use C++11
+ --disable-cxx11 do not use C++11 (default)],
+[ case "$enableval" in
yes)
- AC_MSG_RESULT(yes)
- AC_DEFINE(DCMTK_USE_CXX11_STL, , [Enable or disable C++11 while building DCMTK.])
+ AC_MSG_RESULT()
+ AX_CXX_COMPILE_STDCXX([11], [noext], [optional])
+ if test "$HAVE_CXX11 == 1"; then
+ ac_enable_cxx11="yes"
+ fi
+ AC_MSG_CHECKING(whether to enable C++11 support)
+ ;;
+
+ *)
+ ac_enable_cxx11="no"
+ ;;
+ esac ]
+)
+AC_MSG_RESULT($ac_enable_cxx11)
+
+
+dnl -------------------------------------------------------
+dnl Enable/disable STL support.
+dnl -------------------------------------------------------
+
+ac_enable_stl="no"
+AC_MSG_CHECKING(whether to enable STL support)
+AC_ARG_ENABLE(stl,
+[ --enable-stl use C++ STL
+ --disable-stl do not use C++ STL (default)],
+[ case "$enableval" in
+ yes)
+ ac_enable_stl="yes"
+ ;;
+
+ *)
+ ac_enable_stl="no"
;;
+ esac ]
+)
+AC_MSG_RESULT($ac_enable_stl)
+
+
+ac_enable_stl_vector="auto"
+AC_MSG_CHECKING(whether to enable STL vector support)
+AC_ARG_ENABLE(stl-vector,
+[ --enable-stl-vector use C++ STL vector
+ --disable-stl-vector do not use C++ STL vector],
+[ case "$enableval" in
+ yes)
+ ac_enable_stl_vector="yes"
+ ;;
+
*)
- AC_MSG_RESULT(no)
+ ac_enable_stl_vector="no"
;;
- esac ],
- AC_MSG_RESULT(no)
+ esac]
+)
+if test "$ac_enable_stl_vector" = "auto"; then
+ ac_enable_stl_vector="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_vector" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include "tests/vector.cc"]])], [AC_DEFINE(HAVE_STL_VECTOR, , [Define if STL's vector should be used.])], [ac_enable_stl_vector="unsupported -> no"])
+fi
+AC_MSG_RESULT($ac_enable_stl_vector)
+
+ac_enable_stl_algorithm="auto"
+AC_MSG_CHECKING(whether to enable STL algorithm support)
+AC_ARG_ENABLE(stl-algorithm,
+[ --enable-stl-algorithm use C++ STL algorithm
+ --disable-stl-algorithm do not use C++ STL algorithm],
+[ case "$enableval" in
+ yes)
+ ac_enable_stl_algorithm="yes"
+ ;;
+
+ *)
+ ac_enable_stl_algorithm="no"
+ ;;
+ esac ]
)
+if test "$ac_enable_stl_algorithm" = "auto"; then
+ ac_enable_stl_algorithm="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_algorithm" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include "tests/algo.cc"]])], [AC_DEFINE(HAVE_STL_ALGORITHM, , [Define if STL's algorithm should be used.])], [ac_enable_stl_algorithm="unsupported -> no"])
+fi
+AC_MSG_RESULT($ac_enable_stl_algorithm)
+
+ac_enable_stl_limits="auto"
+AC_MSG_CHECKING(whether to enable STL limits support)
+AC_ARG_ENABLE(stl-limits,
+[ --enable-stl-limits use C++ STL limits
+ --disable-stl-limits do not use C++ STL limits],
+[ case "$enableval" in
+ yes)
+ ac_enable_stl_limits="yes"
+ ;;
+
+ *)
+ ac_enable_stl_limits="no"
+ ;;
+ esac ]
+)
+if test "$ac_enable_stl_limits" = "auto"; then
+ ac_enable_stl_limits="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_limits" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include "tests/limits.cc"]])], [AC_DEFINE(HAVE_STL_LIMITS, , [Define if STL's limits should be used.])], [ac_enable_stl_limits="unsupported -> no"])
+fi
+AC_MSG_RESULT($ac_enable_stl_limits)
+
+ac_enable_stl_list="auto"
+AC_MSG_CHECKING(whether to enable STL list support)
+AC_ARG_ENABLE(stl-list,
+[ --enable-stl-list use C++ STL list
+ --disable-stl-list do not use C++ STL list],
+[ case "$enableval" in
+ yes)
+ ac_enable_stl_list="yes"
+ ;;
+
+ *)
+ ac_enable_stl_list="no"
+ ;;
+ esac ]
+)
+if test "$ac_enable_stl_list" = "auto"; then
+ ac_enable_stl_list="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_list" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include "tests/list.cc"]])], [AC_DEFINE(HAVE_STL_LIST, , [Define if STL's list should be used.])], [ac_enable_stl_list="unsupported -> no"])
+fi
+AC_MSG_RESULT($ac_enable_stl_list)
+
+ac_enable_stl_map="auto"
+AC_MSG_CHECKING(whether to enable STL map support)
+AC_ARG_ENABLE(stl-map,
+[ --enable-stl-map use C++ STL map
+ --disable-stl-map do not use C++ STL map],
+[ case "$enableval" in
+ yes)
+ ac_enable_stl_map="yes"
+ ;;
+
+ *)
+ ac_enable_stl_map="no"
+ ;;
+ esac ]
+)
+if test "$ac_enable_stl_map" = "auto"; then
+ ac_enable_stl_map="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_map" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include "tests/map.cc"]])], [AC_DEFINE(HAVE_STL_MAP, , [Define if STL's map should be used.])], [ac_enable_stl_map="unsupported -> no"])
+fi
+AC_MSG_RESULT($ac_enable_stl_map)
+
+ac_enable_stl_memory="auto"
+AC_MSG_CHECKING(whether to enable STL memory support)
+AC_ARG_ENABLE(stl-memory,
+[ --enable-stl-memory use C++ STL memory
+ --disable-stl-memory do not use C++ STL memory],
+[ case "$enableval" in
+ yes)
+ ac_enable_stl_memory="yes"
+ ;;
+
+ *)
+ ac_enable_stl_memory="no"
+ ;;
+ esac ]
+)
+if test "$ac_enable_stl_memory" = "auto"; then
+ ac_enable_stl_memory="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_memory" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include "tests/memory.cc"]])], [AC_DEFINE(HAVE_STL_MEMORY, , [Define if STL's memory should be used.])], [ac_enable_stl_memory="unsupported -> no"])
+fi
+AC_MSG_RESULT($ac_enable_stl_memory)
+
+ac_enable_stl_stack="auto"
+AC_MSG_CHECKING(whether to enable STL stack support)
+AC_ARG_ENABLE(stl-stack,
+[ --enable-stl-stack use C++ STL stack
+ --disable-stl-stack do not use C++ STL stack],
+[ case "$enableval" in
+ yes)
+ ac_enable_stl_stack="yes"
+ ;;
+
+ *)
+ ac_enable_stl_stack="no"
+ ;;
+ esac ]
+)
+if test "$ac_enable_stl_stack" = "auto"; then
+ ac_enable_stl_stack="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_stack" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include "tests/stack.cc"]])], [AC_DEFINE(HAVE_STL_STACK, , [Define if STL's stack should be used.])], []ac_enable_stl_stack="unsupported -> no")
+fi
+AC_MSG_RESULT($ac_enable_stl_stack)
+
+ac_enable_stl_string="auto"
+AC_MSG_CHECKING(whether to enable STL string support)
+AC_ARG_ENABLE(stl-string,
+[ --enable-stl-string use C++ STL string
+ --disable-stl-string do not use C++ STL string],
+[ case "$enableval" in
+ yes)
+ ac_enable_stl_string="yes"
+ ;;
+
+ *)
+ ac_enable_stl_string="no"
+ ;;
+ esac ]
+)
+if test "$ac_enable_stl_string" = "auto"; then
+ ac_enable_stl_string="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_string" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include "tests/string.cc"]])], [AC_DEFINE(HAVE_STL_STRING, , [Define if STL's string should be used.])], [ac_enable_stl_string="unsupported -> no"])
+fi
+AC_MSG_RESULT($ac_enable_stl_string)
+
+ac_enable_stl_type_traits="auto"
+AC_MSG_CHECKING(whether to enable STL type-traits support)
+AC_ARG_ENABLE(stl-type-traits,
+[ --enable-stl-type-traits
+ use C++ STL type-traits
+ --disable-stl-type-traits
+ do not use C++ STL type-traits],
+[ case "$enableval" in
+ yes)
+ ac_enable_stl_type_traits="yes"
+ ;;
+
+ *)
+ ac_enable_stl_type_traits="no"
+ ;;
+ esac ]
+)
+if test "$ac_enable_stl_type_traits" = "auto"; then
+ ac_enable_stl_type_traits="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_type_traits" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include "tests/ttraits.cc"]])], [AC_DEFINE(HAVE_STL_TYPE_TRAITS, , [Define if STL's type traits should be used.])], [ac_enable_stl_type_traits="unsupported -> no"])
+fi
+AC_MSG_RESULT($ac_enable_stl_type_traits)
+
+ac_enable_stl_tuple="auto"
+AC_MSG_CHECKING(whether to enable STL tuple support)
+AC_ARG_ENABLE(stl-tuple,
+[ --enable-stl-tuple use C++ STL tuple
+ --disable-stl-tuple do not use C++ STL tuple],
+[ case "$enableval" in
+ yes)
+ ac_enable_stl_tuple="yes"
+ ;;
+
+ *)
+ ac_enable_stl_tuple="no"
+ ;;
+ esac ]
+)
+if test "$ac_enable_stl_tuple" = "auto"; then
+ ac_enable_stl_tuple="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_tuple" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include "tests/tuple.cc"]])], [AC_DEFINE(HAVE_STL_TUPLE, , [Define if STL's tuple should be used.])], [ac_enable_stl_tuple="unsupported -> no"])
+fi
+AC_MSG_RESULT($ac_enable_stl_tuple)
+
+ac_enable_stl_system_error="auto"
+AC_MSG_CHECKING(whether to enable STL system_error support)
+AC_ARG_ENABLE(stl-system-error,
+[ --enable-stl-system-error
+ use C++ STL system_error
+ --disable-stl-system_error
+ do not use C++ STL system_error],
+[ case "$enableval" in
+ yes)
+ ac_enable_stl_system_error="yes"
+ ;;
+
+ *)
+ ac_enable_stl_system_error="no"
+ ;;
+ esac ]
+)
+if test "$ac_enable_stl_system_error" = "auto"; then
+ ac_enable_stl_system_error="$ac_enable_stl"
+fi
+if test "$ac_enable_stl_system_error" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include "tests/syserr.cc"]])], [AC_DEFINE(HAVE_STL_SYSTEM_ERROR, , [Define if STL's system_error should be used.])], [ac_enable_stl_system_error="unsupported -> no"])
+fi
+AC_MSG_RESULT($ac_enable_stl_system_error)
+
dnl -------------------------------------------------------
dnl Test for some additional functions and keywords
AC_CHECK_ALIGNOF([HAVE_GNU_ALIGNOF])
AC_CHECK_ATTRIBUTE_ALIGNED([HAVE_ATTRIBUTE_ALIGNED])
AC_CHECK_ATTRIBUTE_ALIGNED_SUPPORTS_TEMPLATES([ATTRIBUTE_ALIGNED_SUPPORTS_TEMPLATES])
-AC_CHECK_ALIGNAS_SUPPORTS_TYPEDEFS([ALIGNAS_SUPPORTS_TYPEDEFS])
AC_CHECK_DEFAULT_CONSTRUCTOR_DETECTION_VIA_SFINAE([HAVE_DEFAULT_CONSTRUCTOR_DETECTION_VIA_SFINAE])
dnl -------------------------------------------------------
# declare installation files
-INSTALL(FILES config.txt dirstruc.txt envvars.txt macros.txt modules.txt DESTINATION ${DCMTK_INSTALL_DOCDIR} COMPONENT doc)
+INSTALL(FILES config.txt dirstruc.txt envvars.txt macros.txt modules.txt DESTINATION "${DCMTK_INSTALL_DOCDIR}" COMPONENT doc)
\li OFunique_ptr (std::unique_ptr)
\li OFshared_ptr (std::shared_ptr)
+\li OFnumeric_limits (std::numeric_limits)
+\li OFtuple (std::tuple)
+\li OFerror_code (std::error_code)
Since not every compiler supports C++11, legacy implementations for the
respective functionality have been created, which are enabled <i>by default</i>.
If you use C++11 in your project, you may want to use the native C++11 classes
-instead, so you don't need to convert your objects to use them with DCMTK. To
-do so, you need to configure DCMTK to use the C++11 STL, which is described
-below.
+and features instead, so you don't need to convert your objects to use them
+with DCMTK. To do so, you need to configure DCMTK to use the C++11 STL, which
+is described below.
-<h1>Enabling DCMTK to use the C++11 STL</h1>
+<h1>Enabling DCMTK to use C++11</h1>
-By enabling DCMTK to use the C++11 STL, you gain the following advantages:
+By enabling DCMTK to use C++11, you gain the following advantages:
\li DCMTK will use available C++11 features instead of its only legacy
implementations. These are probably more efficient and complete.
DCMTK to assist you when checking for API/ABI (in-)compatibility between
C++11 and non C++11 builds.
-Trying to include a DCMTK build with C++11 STL enabled from a non C++11
+Trying to include a DCMTK build with C++11 enabled from a non C++11
environment will give you the following error message:
@verbatim
-DCMTK was configured to use the C++11 STL, but your compiler is not configured for building with C++11 features.
+DCMTK was configured to use C++11 features, but your compiler does not or was not configured to provide them.
@endverbatim
-To reduce DCMTK's implementation complexity, the C++11 STL shall only be used if
-your compiler <i>conforms closely</i> to the C++11 Standard. As far as we know,
+To reduce DCMTK's implementation complexity, C++11 shall only be used if your
+compiler <i>conforms closely</i> to the C++11 Standard. As far as we know,
this is currently true for the following compilers:
\li GNU C++ Compiler (g++) Version 4.8.1 or later.
<h2>CMake</h2>
-CMake detects the C++11 compilers mentioned above and knows how to enable C++11
-features on these compilers. If your compiler was detected successfully, CMake
-will give you the following message during configure:
+Request building with C++11 features by setting the option
+<kbd>DCMTK_ENABLE_CXX11</kbd> to <i>On</i>, for example via:
@verbatim
-Info: Your compiler supports C++11. You may enable C++11 features via "DCMTK_USE_CXX11_STL" to create a C++11 build of DCMTK.
+cmake ... -DDCMTK_ENABLE_CXX11:BOOL=ON ...
@endverbatim
-As mentioned in this message, you may enable the C++11 STL by setting
-<kbd>DCMTK_USE_CXX11_STL</kbd>, for example via:
+CMake detects the C++11 compilers and knows how to enable C++11 features on
+Clang, GCC and Intel compilers. You can override the assumed compiler flags
+(for example to enable C++14 instead) by modifying
+<kbd>DCMTK_CXX11_FLAGS</kbd>, for example:
@verbatim
-cmake ... -DDCMTK_USE_CXX11_STL:BOOL=ON
+cmake ... -DDCMTK_ENABLE_CXX11:BOOL=ON -DDCMTK_CXX11_FLAGS=-std=c++14 ...
@endverbatim
-Doing so will give you the following message during configure:
+CMake will then perform basic checks to ensure the compiler is configured
+correctly and conforms closely enough to C++11 standard. If everything
+works CMake will print something like this:
@verbatim
-Info: Configured DCMTK to use native C++11 features.
+-- Checking whether the compiler supports C++11
+-- Checking whether the compiler supports C++11 -- yes
+-- Info: C++11 features enabled
@endverbatim
-You may need to override the flags to enable C++11, for example to enable C++14
-instead. Doing so can be done via <kbd>DCMTK_CXX11_FLAGS</kbd>, for example:
+<h3>Unsupported Compilers</h3>
+
+If our CMake setup does not know how to enable C++11 on your compiler, it will
+simply assume that no configuration is required (e.g. for Visual Studio). If
+this is not appropriate you have to set <kbd>DCMTK_CXX11_FLAGS</kbd> manually
+as mentioned above.
+If you enable C++11 via <kbd>DCMTK_ENABLE_CXX11</kbd> for an unsupported
+compiler, CMake will simply set the flags provided via
+<kbd>DCMTK_CXX11_FLAGS</kbd> (if any) and still run the C++11 compatibility
+test to the compiler conforms closely enough to the C++11 standard for being
+able to compile DCMTK. If it doesn't, CMake will give an output similar to
+this one:
@verbatim
-cmake ... -DDCMTK_USE_CXX11_STL:BOOL=ON -DDCMTK_CXX11_FLAGS=-std=c++14
+-- Checking whether the compiler supports C++11
+-- Checking whether the compiler supports C++11 -- no
+-- Info: C++11 features disabled
@endverbatim
-<h3>Unsupported Compilers</h3>
+At this point you will not be able to enable C++11 features for the given
+compiler, since building DCMTK would fail if you did. If you are sure that
+your compiler supports C++11, you should try setting different flags as
+<kbd>DCMTK_CXX11_FLAGS</kbd>.
-If CMake does not know how to enable C++11 on your compiler or your compiler
-does not support C++11 completely, you will see the following warning message
-when you try to enable <kbd>DCMTK_USE_CXX11_STL</kbd> anyway:
+<h2>GNU Autoconf</h2>
+
+Our GNU Autoconf setup understands the switches <kbd>\--enable-cxx11</kbd>,
+and <kbd>\--disable-cxx11</kbd> that may be used to configure DCMTK to use
+C++11 features. If you run
@verbatim
-DCMTK has been configured to use the C++11 STL, but the compiler does not seem to support C++11.
-Override this warning by setting DCMTK_CXX11_FLAGS to tell DCMTK how to enable C++11 support for your compiler.
+configure --enable-cxx11
@endverbatim
-As the message states, you need to take care about configuring your compiler for
-C++11 manually, for example by setting <kbd>CMAKE_CXX_FLAGS</kbd> appropriately.
-Setting <kbd>DCMTK_CXX11_FLAGS</kbd> instead will have the same result (CMake
-will set <kbd>CMAKE_CXX_FLAGS</kbd> based on <kbd>DCMTK_CXX_FLAGS</kbd>), but
-the warning goes away and instead you will see the following output:
+our Autoconf script will try to determine the required compiler flags for
+enabling C++11 features (if any) and perform configuration tests to ensure
+the compiler conforms closely enough to the C++11 standard. If everything
+works it will give you an output similar to this one:
@verbatim
-Info: Enabling C++11 support with custom flags "< YOUR FLAGS >" for a potentially unsupported compiler.
+checking whether to enable C++11 support...
+checking whether c++ supports C++11 features by default... no
+checking whether c++ supports C++11 features with -std=c++11... yes
+checking whether to enable C++11 support... yes
@endverbatim
-<h2>GNU Autoconf</h2>
-
-Our GNU Autoconf setup understands the argument <kbd>\--with-cxx11-stl</kbd>,
-that may be used to configure DCMTK to use the C++11 STL. But this only enables
-API/ABI checks and maps DCMTK's functionalities to the respective STL ones. You
-still need to configure your compiler for C++11 manually, for example by setting
-the CXXFLAGS like this when using GCC 4.9:
+Otherwise, it will still disable C++11 features with an output like this:
@verbatim
-./configure --with-cxx11-stl CXXFLAGS=-std=c++11
+checking whether to enable C++11 support...
+checking whether c++ supports C++11 features by default... no
+checking whether c++ supports C++11 features with -std=c++11... no
+checking whether to enable C++11 support... no
@endverbatim
*/
either present them to the user or store them in a log file. See
comments in ofstd/include/dcmtk/ofstd/ofconsol.h.
-DCMTK_USE_CXX11_STL
- Affected: ofstd
- Type of modification: Activates feature
- Explanation: DCMTK_USE_CXX11_STL is defined when the appropriate options are
- passed to the configuration system. DCMTK will then use the native C++11
- STL classes and functions instead of it's own (legacy) implementations.
-
DICOMDIR_WITHOUT_BACKUP
Affected: dcmdata
Type of modification: Disables feature
Explanation: Disables the support of compression (various transfer
syntaxes) in dcmqrdb, a feature which is still experimental.
+DISABLE_FF_JPEG_BITSTREAM_PADDING
+ Affected: dcmjpeg, dcmjpls
+ Type of modification: Disables feature
+ Explanation: Starting with release 3.6.2, DCMTK pads JPEG and JPEG-LS
+ bitstreams that have odd length with an "extended" end of image (EOI)
+ marker, writing ff/ff/d9 instead of adding a zero byte after the
+ EOI marker, i.e. writing ff/d9/00. The old behaviour can be restored
+ by defining this macro.
+
DISABLE_NAGLE_ALGORITHM
Affected: dcmnet
Type of modification: Disables feature
Explanation: When this macro is defined, the relatively new function
createValueFromTempFile() is used for reading large binary data files.
-HAVE_STD_STRING
- Affected: ofstd
- Type of modification: Activates feature
- Explanation: When this macro is defined, the ANSI C++ standard string
- class is used instead of DCMTK's own implementation.
-
-HAVE_STL
- Affected: ofstd
- Type of modification: Activates feature
- Explanation: When this macro is defined, the STL (standard template
- library) list, map, stack, vector and auto_ptr classes as well as
- the STL algorithms are used instead of DCMTK's own implementations.
-
-HAVE_STL_ALGORITHMS
- Affected: ofstd
- Type of modification: Activates feature
- Explanation: When this macro is defined, the STL (standard template
- library) algorithms are used instead of DCMTK's own implementation.
- Also see HAVE_STL.
-
-HAVE_STL_AUTO_PTR
- Affected: ofstd
- Type of modification: Activates feature
- Explanation: When this macro is defined, the STL (standard template
- library) auto_ptr class is used instead of DCMTK's own implementation.
- Also see HAVE_STL.
-
-HAVE_STL_LIST
- Affected: ofstd
- Type of modification: Activates feature
- Explanation: When this macro is defined, the STL (standard template
- library) list class is used instead of DCMTK's own implementation.
- Also see HAVE_STL.
-
-HAVE_STL_MAP
- Affected: ofstd
- Type of modification: Activates feature
- Explanation: When this macro is defined, the STL (standard template
- library) map class is used instead of DCMTK's own implementation.
- Also see HAVE_STL.
-
-HAVE_STL_STACK
- Affected: ofstd
- Type of modification: Activates feature
- Explanation: When this macro is defined, the STL (standard template
- library) stack class is used instead of DCMTK's own implementation.
- Also see HAVE_STL.
-
-HAVE_STL_VECTOR
- Affected: ofstd
- Type of modification: Activates feature
- Explanation: When this macro is defined, the STL (standard template
- library) vector class is used instead of DCMTK's own implementation.
- Also see HAVE_STL.
-
LOCK_IMAGE_FILES
Affected: dcmpstat, dcmqrdb
Type of modification: Activates experimental or rarely used feature
Type of modification: Disables feature
Explanation: Disables the experimental C-GET support in dcmqrdb.
-NO_IOS_BASE_ASSIGN
- Affected: all command line tools
- Type of modification: Disables feature
- Explanation: On Win32 platforms, the prepareCmdLineArgs() function
- maps cout to cerr by assignment. This does not work with all
- iostream implementations and can, therefore, be disabled with this
- macro.
-
NO_PATIENTSTUDYONLY_SUPPORT
Affected: dcmqrdb
Type of modification: Disables feature
HAVE_STD_STRING is also defined. Currently, this macro is always defined
by DCMTK's Makefiles. This will change in future releases.
+USE_WIN32_CREATE_MUTEX
+ Affected: ofstd
+ Type of modification: Activates alternative implementation
+ Explanation: Starting with DCMTK 3.6.2, the Win32 version of the
+ OFMutex class uses critical sections instead of Win32 mutexes, because
+ critical sections are much faster. Their only drawback is that they
+ cannot be shared across processes. Users who want to revert to the
+ behavior of older DCMTK releases can define this macro.
+
USING_STD_NAMESPACE
Affected: all modules
Type of modification: Re-activated behavior of earlier DCMTK releases
#ifdef __MINGW32__
#define HAVE_WINDOWS_H 1
#define HAVE_WINSOCK_H 1
-#define NO_IOS_BASE_ASSIGN 1
#define ENVIRONMENT_PATH_SEPARATOR ';'
#endif
-/* Define if alignas supports typedefs */
-#undef ALIGNAS_SUPPORTS_TYPEDEFS
-
/* Define if __attribute__((aligned)) supports templates */
#undef ATTRIBUTE_ALIGNED_SUPPORTS_TEMPLATES
#define DCMTK_CHARSET_CONVERSION_ICONV 2
#define DCMTK_CHARSET_CONVERSION_STDLIBC_ICONV 3
+/* LFS mode constants. */
+#define DCMTK_LFS 1
+#define DCMTK_LFS64 2
+
/* Define to select character set conversion implementation. */
#undef DCMTK_ENABLE_CHARSET_CONVERSION
+/* Select LFS mode (defined above) that shall be used or don't define it */
+#undef DCMTK_ENABLE_LFS
+
/* Define the DCMTK default path. */
#undef DCMTK_PREFIX
-/* Enable or disable C++11 while building DCMTK. */
-#undef DCMTK_USE_CXX11_STL
-
/* Empty default data dictionary path for the dcmdata library package. */
#undef DCM_DICT_DEFAULT_PATH
/* Define to 1 if you have the `cuserid' function. */
#undef HAVE_CUSERID
+/* define if the compiler supports basic C++11 syntax */
+#undef HAVE_CXX11
+
/* Define if bool is a built-in type */
#undef HAVE_CXX_BOOL
/* Define to 1 if you have the `getlogin' function. */
#undef HAVE_GETLOGIN
+/* Define to 1 if you have the `getlogin_r' function. */
+#undef HAVE_GETLOGIN_R
+
/* Define to 1 if you have the `getpid' function. */
#undef HAVE_GETPID
/* Define to 1 if you have the `itoa' function. */
#undef HAVE_ITOA
-/* Define if LFS (large file support) is available */
-#undef HAVE_LFS_SUPPORT
-
/* Define to 1 if you have the <libc.h> header file. */
#undef HAVE_LIBC_H
sys/socket.h */
#undef HAVE_PROTOTYPE_CONNECT
+/* Define if your system has a prototype for feenableexcept in fenv.h */
+#undef HAVE_PROTOTYPE_FEENABLEEXCEPT
+
/* Define if your system has a prototype for finite in math.h */
#undef HAVE_PROTOTYPE_FINITE
/* Define if your system has a prototype for flock in sys/file.h */
#undef HAVE_PROTOTYPE_FLOCK
+/* Define if your system has a prototype for gethostbyaddr_r in libc.h
+ unistd.h stdlib.h netdb.h */
+#undef HAVE_PROTOTYPE_GETHOSTBYADDR_R
+
/* Define if your system has a prototype for gethostbyname in libc.h unistd.h
stdlib.h netdb.h */
#undef HAVE_PROTOTYPE_GETHOSTBYNAME
/* Define if OpenSSL provides the RAND_egd function. */
#undef HAVE_RAND_EGD
+/* Define to 1 if you have the `readdir_r' function. */
+#undef HAVE_READDIR_R
+
/* define if the compiler supports reinterpret_cast<> */
#undef HAVE_REINTERPRET_CAST
/* Define if the compiler supports std::nothrow */
#undef HAVE_STD__NOTHROW
+/* Define if STL's algorithm should be used. */
+#undef HAVE_STL_ALGORITHM
+
+/* Define if STL's limits should be used. */
+#undef HAVE_STL_LIMITS
+
+/* Define if STL's list should be used. */
+#undef HAVE_STL_LIST
+
+/* Define if STL's map should be used. */
+#undef HAVE_STL_MAP
+
+/* Define if STL's memory should be used. */
+#undef HAVE_STL_MEMORY
+
+/* Define if STL's stack should be used. */
+#undef HAVE_STL_STACK
+
+/* Define if STL's string should be used. */
+#undef HAVE_STL_STRING
+
+/* Define if STL's system_error should be used. */
+#undef HAVE_STL_SYSTEM_ERROR
+
+/* Define if STL's tuple should be used. */
+#undef HAVE_STL_TUPLE
+
+/* Define if STL's type traits should be used. */
+#undef HAVE_STL_TYPE_TRAITS
+
+/* Define if STL's vector should be used. */
+#undef HAVE_STL_VECTOR
+
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define to int if undefined. */
#undef socklen_t
-#if defined(DCMTK_USE_CXX11_STL) && defined(__cplusplus) && __cplusplus < 201103L
+#if defined(HAVE_CXX11) && defined(__cplusplus) && __cplusplus < 201103L
#error\
- DCMTK was configured to use the C++11 STL, but your compiler is not configured\
- for building with C++11 features.
+DCMTK was configured to use C++11 features, but your compiler does not or was not configured to provide them.
#endif
#endif /* OSCONFIG_H */
--- /dev/null
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
+#
+# DESCRIPTION
+#
+# Check for baseline language coverage in the compiler for the specified
+# version of the C++ standard. If necessary, add switches to CXX and
+# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard)
+# or '14' (for the C++14 standard).
+#
+# The second argument, if specified, indicates whether you insist on an
+# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
+# -std=c++11). If neither is specified, you get whatever works, with
+# preference for an extended mode.
+#
+# The third argument, if specified 'mandatory' or if left unspecified,
+# indicates that baseline support for the specified C++ standard is
+# required and that the macro should error out if no mode with that
+# support is found. If specified 'optional', then configuration proceeds
+# regardless, after defining HAVE_CXX${VERSION} if and only if a
+# supporting mode is found.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
+# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
+# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
+# Copyright (c) 2015 Paul Norman <penorman@mac.com>
+# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
+# Copyright (c) 2016 Krzesimir Nowak <qdlacz@gmail.com>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 7
+
+dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
+dnl (serial version number 13).
+
+AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
+ m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"],
+ [$1], [14], [ax_cxx_compile_alternatives="14 1y"],
+ [$1], [17], [ax_cxx_compile_alternatives="17 1z"],
+ [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
+ m4_if([$2], [], [],
+ [$2], [ext], [],
+ [$2], [noext], [],
+ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl
+ m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
+ [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
+ [$3], [optional], [ax_cxx_compile_cxx$1_required=false],
+ [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
+ AC_LANG_PUSH([C++])dnl
+ ac_success=no
+ AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
+ ax_cv_cxx_compile_cxx$1,
+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
+ [ax_cv_cxx_compile_cxx$1=yes],
+ [ax_cv_cxx_compile_cxx$1=no])])
+ if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
+ ac_success=yes
+ fi
+
+ m4_if([$2], [noext], [], [dnl
+ if test x$ac_success = xno; then
+ for alternative in ${ax_cxx_compile_alternatives}; do
+ switch="-std=gnu++${alternative}"
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
+ $cachevar,
+ [ac_save_CXX="$CXX"
+ CXX="$CXX $switch"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
+ [eval $cachevar=yes],
+ [eval $cachevar=no])
+ CXX="$ac_save_CXX"])
+ if eval test x\$$cachevar = xyes; then
+ CXX="$CXX $switch"
+ if test -n "$CXXCPP" ; then
+ CXXCPP="$CXXCPP $switch"
+ fi
+ ac_success=yes
+ break
+ fi
+ done
+ fi])
+
+ m4_if([$2], [ext], [], [dnl
+ if test x$ac_success = xno; then
+ dnl HP's aCC needs +std=c++11 according to:
+ dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
+ dnl Cray's crayCC needs "-h std=c++11"
+ for alternative in ${ax_cxx_compile_alternatives}; do
+ for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
+ $cachevar,
+ [ac_save_CXX="$CXX"
+ CXX="$CXX $switch"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
+ [eval $cachevar=yes],
+ [eval $cachevar=no])
+ CXX="$ac_save_CXX"])
+ if eval test x\$$cachevar = xyes; then
+ CXX="$CXX $switch"
+ if test -n "$CXXCPP" ; then
+ CXXCPP="$CXXCPP $switch"
+ fi
+ ac_success=yes
+ break
+ fi
+ done
+ if test x$ac_success = xyes; then
+ break
+ fi
+ done
+ fi])
+ AC_LANG_POP([C++])
+ if test x$ax_cxx_compile_cxx$1_required = xtrue; then
+ if test x$ac_success = xno; then
+ AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
+ fi
+ fi
+ if test x$ac_success = xno; then
+ HAVE_CXX$1=0
+ AC_MSG_NOTICE([No compiler with C++$1 support was found])
+ else
+ HAVE_CXX$1=1
+ AC_DEFINE(HAVE_CXX$1,1,
+ [define if the compiler supports basic C++$1 syntax])
+ fi
+ AC_SUBST(HAVE_CXX$1)
+])
+
+
+dnl Test body for checking C++11 support
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
+)
+
+
+dnl Test body for checking C++14 support
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
+)
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17],
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_17
+)
+
+dnl Tests for new features in C++11
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
+
+// If the compiler admits that it is not ready for C++11, why torture it?
+// Hopefully, this will speed up the test.
+
+#ifndef __cplusplus
+
+#error "This is not a C++ compiler"
+
+#elif __cplusplus < 201103L
+
+#error "This is not a C++11 compiler"
+
+#else
+
+namespace cxx11
+{
+
+ namespace test_static_assert
+ {
+
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ }
+
+ namespace test_final_override
+ {
+
+ struct Base
+ {
+ virtual void f() {}
+ };
+
+ struct Derived : public Base
+ {
+ virtual void f() override {}
+ };
+
+ }
+
+ namespace test_double_right_angle_brackets
+ {
+
+ template < typename T >
+ struct check {};
+
+ typedef check<void> single_type;
+ typedef check<check<void>> double_type;
+ typedef check<check<check<void>>> triple_type;
+ typedef check<check<check<check<void>>>> quadruple_type;
+
+ }
+
+ namespace test_decltype
+ {
+
+ int
+ f()
+ {
+ int a = 1;
+ decltype(a) b = 2;
+ return a + b;
+ }
+
+ }
+
+ namespace test_type_deduction
+ {
+
+ template < typename T1, typename T2 >
+ struct is_same
+ {
+ static const bool value = false;
+ };
+
+ template < typename T >
+ struct is_same<T, T>
+ {
+ static const bool value = true;
+ };
+
+ template < typename T1, typename T2 >
+ auto
+ add(T1 a1, T2 a2) -> decltype(a1 + a2)
+ {
+ return a1 + a2;
+ }
+
+ int
+ test(const int c, volatile int v)
+ {
+ static_assert(is_same<int, decltype(0)>::value == true, "");
+ static_assert(is_same<int, decltype(c)>::value == false, "");
+ static_assert(is_same<int, decltype(v)>::value == false, "");
+ auto ac = c;
+ auto av = v;
+ auto sumi = ac + av + 'x';
+ auto sumf = ac + av + 1.0;
+ static_assert(is_same<int, decltype(ac)>::value == true, "");
+ static_assert(is_same<int, decltype(av)>::value == true, "");
+ static_assert(is_same<int, decltype(sumi)>::value == true, "");
+ static_assert(is_same<int, decltype(sumf)>::value == false, "");
+ static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
+ return (sumf > 0.0) ? sumi : add(c, v);
+ }
+
+ }
+
+ namespace test_noexcept
+ {
+
+ int f() { return 0; }
+ int g() noexcept { return 0; }
+
+ static_assert(noexcept(f()) == false, "");
+ static_assert(noexcept(g()) == true, "");
+
+ }
+
+ namespace test_constexpr
+ {
+
+ template < typename CharT >
+ unsigned long constexpr
+ strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
+ {
+ return *s ? strlen_c_r(s + 1, acc + 1) : acc;
+ }
+
+ template < typename CharT >
+ unsigned long constexpr
+ strlen_c(const CharT *const s) noexcept
+ {
+ return strlen_c_r(s, 0UL);
+ }
+
+ static_assert(strlen_c("") == 0UL, "");
+ static_assert(strlen_c("1") == 1UL, "");
+ static_assert(strlen_c("example") == 7UL, "");
+ static_assert(strlen_c("another\0example") == 7UL, "");
+
+ }
+
+ namespace test_rvalue_references
+ {
+
+ template < int N >
+ struct answer
+ {
+ static constexpr int value = N;
+ };
+
+ answer<1> f(int&) { return answer<1>(); }
+ answer<2> f(const int&) { return answer<2>(); }
+ answer<3> f(int&&) { return answer<3>(); }
+
+ void
+ test()
+ {
+ int i = 0;
+ const int c = 0;
+ static_assert(decltype(f(i))::value == 1, "");
+ static_assert(decltype(f(c))::value == 2, "");
+ static_assert(decltype(f(0))::value == 3, "");
+ }
+
+ }
+
+ namespace test_uniform_initialization
+ {
+
+ struct test
+ {
+ static const int zero {};
+ static const int one {1};
+ };
+
+ static_assert(test::zero == 0, "");
+ static_assert(test::one == 1, "");
+
+ }
+
+ namespace test_lambdas
+ {
+
+ void
+ test1()
+ {
+ auto lambda1 = [](){};
+ auto lambda2 = lambda1;
+ lambda1();
+ lambda2();
+ }
+
+ int
+ test2()
+ {
+ auto a = [](int i, int j){ return i + j; }(1, 2);
+ auto b = []() -> int { return '0'; }();
+ auto c = [=](){ return a + b; }();
+ auto d = [&](){ return c; }();
+ auto e = [a, &b](int x) mutable {
+ const auto identity = [](int y){ return y; };
+ for (auto i = 0; i < a; ++i)
+ a += b--;
+ return x + identity(a + b);
+ }(0);
+ return a + b + c + d + e;
+ }
+
+ int
+ test3()
+ {
+ const auto nullary = [](){ return 0; };
+ const auto unary = [](int x){ return x; };
+ using nullary_t = decltype(nullary);
+ using unary_t = decltype(unary);
+ const auto higher1st = [](nullary_t f){ return f(); };
+ const auto higher2nd = [unary](nullary_t f1){
+ return [unary, f1](unary_t f2){ return f2(unary(f1())); };
+ };
+ return higher1st(nullary) + higher2nd(nullary)(unary);
+ }
+
+ }
+
+ namespace test_variadic_templates
+ {
+
+ template <int...>
+ struct sum;
+
+ template <int N0, int... N1toN>
+ struct sum<N0, N1toN...>
+ {
+ static constexpr auto value = N0 + sum<N1toN...>::value;
+ };
+
+ template <>
+ struct sum<>
+ {
+ static constexpr auto value = 0;
+ };
+
+ static_assert(sum<>::value == 0, "");
+ static_assert(sum<1>::value == 1, "");
+ static_assert(sum<23>::value == 23, "");
+ static_assert(sum<1, 2>::value == 3, "");
+ static_assert(sum<5, 5, 11>::value == 21, "");
+ static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
+
+ }
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
+ // because of this.
+ namespace test_template_alias_sfinae
+ {
+
+ struct foo {};
+
+ template<typename T>
+ using member = typename T::member_type;
+
+ template<typename T>
+ void func(...) {}
+
+ template<typename T>
+ void func(member<T>*) {}
+
+ void test();
+
+ void test() { func<foo>(0); }
+
+ }
+
+} // namespace cxx11
+
+#endif // __cplusplus >= 201103L
+
+]])
+
+
+dnl Tests for new features in C++14
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
+
+// If the compiler admits that it is not ready for C++14, why torture it?
+// Hopefully, this will speed up the test.
+
+#ifndef __cplusplus
+
+#error "This is not a C++ compiler"
+
+#elif __cplusplus < 201402L
+
+#error "This is not a C++14 compiler"
+
+#else
+
+namespace cxx14
+{
+
+ namespace test_polymorphic_lambdas
+ {
+
+ int
+ test()
+ {
+ const auto lambda = [](auto&&... args){
+ const auto istiny = [](auto x){
+ return (sizeof(x) == 1UL) ? 1 : 0;
+ };
+ const int aretiny[] = { istiny(args)... };
+ return aretiny[0];
+ };
+ return lambda(1, 1L, 1.0f, '1');
+ }
+
+ }
+
+ namespace test_binary_literals
+ {
+
+ constexpr auto ivii = 0b0000000000101010;
+ static_assert(ivii == 42, "wrong value");
+
+ }
+
+ namespace test_generalized_constexpr
+ {
+
+ template < typename CharT >
+ constexpr unsigned long
+ strlen_c(const CharT *const s) noexcept
+ {
+ auto length = 0UL;
+ for (auto p = s; *p; ++p)
+ ++length;
+ return length;
+ }
+
+ static_assert(strlen_c("") == 0UL, "");
+ static_assert(strlen_c("x") == 1UL, "");
+ static_assert(strlen_c("test") == 4UL, "");
+ static_assert(strlen_c("another\0test") == 7UL, "");
+
+ }
+
+ namespace test_lambda_init_capture
+ {
+
+ int
+ test()
+ {
+ auto x = 0;
+ const auto lambda1 = [a = x](int b){ return a + b; };
+ const auto lambda2 = [a = lambda1(x)](){ return a; };
+ return lambda2();
+ }
+
+ }
+
+ namespace test_digit_separators
+ {
+
+ constexpr auto ten_million = 100'000'000;
+ static_assert(ten_million == 100000000, "");
+
+ }
+
+ namespace test_return_type_deduction
+ {
+
+ auto f(int& x) { return x; }
+ decltype(auto) g(int& x) { return x; }
+
+ template < typename T1, typename T2 >
+ struct is_same
+ {
+ static constexpr auto value = false;
+ };
+
+ template < typename T >
+ struct is_same<T, T>
+ {
+ static constexpr auto value = true;
+ };
+
+ int
+ test()
+ {
+ auto x = 0;
+ static_assert(is_same<int, decltype(f(x))>::value, "");
+ static_assert(is_same<int&, decltype(g(x))>::value, "");
+ return x;
+ }
+
+ }
+
+} // namespace cxx14
+
+#endif // __cplusplus >= 201402L
+
+]])
+
+
+dnl Tests for new features in C++17
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[
+
+// If the compiler admits that it is not ready for C++17, why torture it?
+// Hopefully, this will speed up the test.
+
+#ifndef __cplusplus
+
+#error "This is not a C++ compiler"
+
+#elif __cplusplus <= 201402L
+
+#error "This is not a C++17 compiler"
+
+#else
+
+#if defined(__clang__)
+ #define REALLY_CLANG
+#else
+ #if defined(__GNUC__)
+ #define REALLY_GCC
+ #endif
+#endif
+
+#include <initializer_list>
+#include <utility>
+#include <type_traits>
+
+namespace cxx17
+{
+
+#if !defined(REALLY_CLANG)
+ namespace test_constexpr_lambdas
+ {
+
+ // TODO: test it with clang++ from git
+
+ constexpr int foo = [](){return 42;}();
+
+ }
+#endif // !defined(REALLY_CLANG)
+
+ namespace test::nested_namespace::definitions
+ {
+
+ }
+
+ namespace test_fold_expression
+ {
+
+ template<typename... Args>
+ int multiply(Args... args)
+ {
+ return (args * ... * 1);
+ }
+
+ template<typename... Args>
+ bool all(Args... args)
+ {
+ return (args && ...);
+ }
+
+ }
+
+ namespace test_extended_static_assert
+ {
+
+ static_assert (true);
+
+ }
+
+ namespace test_auto_brace_init_list
+ {
+
+ auto foo = {5};
+ auto bar {5};
+
+ static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
+ static_assert(std::is_same<int, decltype(bar)>::value);
+ }
+
+ namespace test_typename_in_template_template_parameter
+ {
+
+ template<template<typename> typename X> struct D;
+
+ }
+
+ namespace test_fallthrough_nodiscard_maybe_unused_attributes
+ {
+
+ int f1()
+ {
+ return 42;
+ }
+
+ [[nodiscard]] int f2()
+ {
+ [[maybe_unused]] auto unused = f1();
+
+ switch (f1())
+ {
+ case 17:
+ f1();
+ [[fallthrough]];
+ case 42:
+ f1();
+ }
+ return f1();
+ }
+
+ }
+
+ namespace test_extended_aggregate_initialization
+ {
+
+ struct base1
+ {
+ int b1, b2 = 42;
+ };
+
+ struct base2
+ {
+ base2() {
+ b3 = 42;
+ }
+ int b3;
+ };
+
+ struct derived : base1, base2
+ {
+ int d;
+ };
+
+ derived d1 {{1, 2}, {}, 4}; // full initialization
+ derived d2 {{}, {}, 4}; // value-initialized bases
+
+ }
+
+ namespace test_general_range_based_for_loop
+ {
+
+ struct iter
+ {
+ int i;
+
+ int& operator* ()
+ {
+ return i;
+ }
+
+ const int& operator* () const
+ {
+ return i;
+ }
+
+ iter& operator++()
+ {
+ ++i;
+ return *this;
+ }
+ };
+
+ struct sentinel
+ {
+ int i;
+ };
+
+ bool operator== (const iter& i, const sentinel& s)
+ {
+ return i.i == s.i;
+ }
+
+ bool operator!= (const iter& i, const sentinel& s)
+ {
+ return !(i == s);
+ }
+
+ struct range
+ {
+ iter begin() const
+ {
+ return {0};
+ }
+
+ sentinel end() const
+ {
+ return {5};
+ }
+ };
+
+ void f()
+ {
+ range r {};
+
+ for (auto i : r)
+ {
+ [[maybe_unused]] auto v = i;
+ }
+ }
+
+ }
+
+ namespace test_lambda_capture_asterisk_this_by_value
+ {
+
+ struct t
+ {
+ int i;
+ int foo()
+ {
+ return [*this]()
+ {
+ return i;
+ }();
+ }
+ };
+
+ }
+
+ namespace test_enum_class_construction
+ {
+
+ enum class byte : unsigned char
+ {};
+
+ byte foo {42};
+
+ }
+
+ namespace test_constexpr_if
+ {
+
+ template <bool cond>
+ int f ()
+ {
+ if constexpr(cond)
+ {
+ return 13;
+ }
+ else
+ {
+ return 42;
+ }
+ }
+
+ }
+
+ namespace test_selection_statement_with_initializer
+ {
+
+ int f()
+ {
+ return 13;
+ }
+
+ int f2()
+ {
+ if (auto i = f(); i > 0)
+ {
+ return 3;
+ }
+
+ switch (auto i = f(); i + 4)
+ {
+ case 17:
+ return 2;
+
+ default:
+ return 1;
+ }
+ }
+
+ }
+
+#if !defined(REALLY_CLANG)
+ namespace test_template_argument_deduction_for_class_templates
+ {
+
+ // TODO: test it with clang++ from git
+
+ template <typename T1, typename T2>
+ struct pair
+ {
+ pair (T1 p1, T2 p2)
+ : m1 {p1},
+ m2 {p2}
+ {}
+
+ T1 m1;
+ T2 m2;
+ };
+
+ void f()
+ {
+ [[maybe_unused]] auto p = pair{13, 42u};
+ }
+
+ }
+#endif // !defined(REALLY_CLANG)
+
+ namespace test_non_type_auto_template_parameters
+ {
+
+ template <auto n>
+ struct B
+ {};
+
+ B<5> b1;
+ B<'a'> b2;
+
+ }
+
+#if !defined(REALLY_CLANG)
+ namespace test_structured_bindings
+ {
+
+ // TODO: test it with clang++ from git
+
+ int arr[2] = { 1, 2 };
+ std::pair<int, int> pr = { 1, 2 };
+
+ auto f1() -> int(&)[2]
+ {
+ return arr;
+ }
+
+ auto f2() -> std::pair<int, int>&
+ {
+ return pr;
+ }
+
+ struct S
+ {
+ int x1 : 2;
+ volatile double y1;
+ };
+
+ S f3()
+ {
+ return {};
+ }
+
+ auto [ x1, y1 ] = f1();
+ auto& [ xr1, yr1 ] = f1();
+ auto [ x2, y2 ] = f2();
+ auto& [ xr2, yr2 ] = f2();
+ const auto [ x3, y3 ] = f3();
+
+ }
+#endif // !defined(REALLY_CLANG)
+
+#if !defined(REALLY_CLANG)
+ namespace test_exception_spec_type_system
+ {
+
+ // TODO: test it with clang++ from git
+
+ struct Good {};
+ struct Bad {};
+
+ void g1() noexcept;
+ void g2();
+
+ template<typename T>
+ Bad
+ f(T*, T*);
+
+ template<typename T1, typename T2>
+ Good
+ f(T1*, T2*);
+
+ static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
+
+ }
+#endif // !defined(REALLY_CLANG)
+
+ namespace test_inline_variables
+ {
+
+ template<class T> void f(T)
+ {}
+
+ template<class T> inline T g(T)
+ {
+ return T{};
+ }
+
+ template<> inline void f<>(int)
+ {}
+
+ template<> int g<>(int)
+ {
+ return 5;
+ }
+
+ }
+
+} // namespace cxx17
+
+#endif // __cplusplus <= 201402L
+
+]])
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Thorben Hasenpusch
+ *
+ * Purpose: Rudimentary tests for a working <algorithm> implementation
+ */
+
+#include <algorithm>
+#include <vector>
+
+struct X {
+ int *n;
+
+ void operator()(int x)
+ {
+ ++*n;
+ }
+};
+
+int main()
+{
+ std::vector<int> vec;
+ vec.push_back(1);
+ vec.push_back(2);
+
+ int n = 0;
+
+ X x;
+ x.n = &n;
+
+ std::for_each(vec.begin(), vec.end(), x);
+
+ if (n != 2) {
+ return -1;
+ }
+
+ if (std::find(vec.begin(), vec.end(), 44) != vec.end()) {
+ return -1;
+ }
+
+ if (std::adjacent_find(vec.begin(), vec.end()) != vec.end()) {
+ return -1;
+ }
+
+ return 0;
+}
--- /dev/null
+/*
+ *
+ * Copyright (C) 2014-2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Jan Schlamelcher
+ *
+ * Purpose: Query properties of fundamental arithmetic types
+ * for being used within oflimits.h.
+ */
+
+// Note: This depends on some files of ofstd and osconfig.h,
+// although it is part of configure testing itself.
+// Therefore, ensure osconfig.h has already been generated
+// before this program is used.
+#define INCLUDE_CLIMITS
+#define INCLUDE_CMATH
+#define INCLUDE_CSETJMP
+#define INCLUDE_CSIGNAL
+#include "../math.cc"
+
+#ifdef HAVE_FENV_H
+// For controlling floating point exceptions on Unix like systems.
+#include <fenv.h>
+#endif
+
+#ifdef HAVE_IEEEFP_H
+// For controlling floating point exceptions on Unix like systems
+// that don't have feenableexcept and fedisableexcept.
+#include <ieeefp.h>
+#endif
+
+#ifdef __APPLE__
+// For controlling floating point exceptions on OS X.
+#include <xmmintrin.h>
+#endif
+
+#ifdef HAVE_SETJMP_H
+// For setjmp for the SunPro compiler
+#include <setjmp.h>
+#endif
+
+#ifdef HAVE_SIGNAL_H
+// For signal for the SunPro compiler
+#include <signal.h>
+#endif
+
+// hackish definition of cout, as we can't depend on
+// OFConsole.
+#define COUT STD_NAMESPACE cout
+
+// define sigjmp_buf if it isn't already
+#ifndef HAVE_SIGJMP_BUF
+typedef jmp_buf sigjmp_buf;
+#endif
+
+// longjmp env (jump destination), ugly global var we
+// need to recover from traps.
+sigjmp_buf jbuf;
+
+// signal handler that "jumps back in time" to before
+// the error occurred and fixes what has gone wrong
+// in 1985.
+static void capture( int sig )
+{
+#ifndef _WIN32
+ // Unix like systems support this natively
+ siglongjmp( jbuf, sig );
+#else
+ // On Windows, we need to employ a workaround that
+ // only works for floating point exceptions!
+ _fpreset();
+ longjmp( jbuf, sig );
+#endif
+}
+
+static void register_signals()
+{
+ signal(SIGABRT, &capture);
+ signal(SIGFPE, &capture);
+ signal(SIGILL, &capture);
+ signal(SIGINT, &capture);
+ signal(SIGSEGV, &capture);
+ signal(SIGTERM, &capture);
+}
+
+// print to "arith.h"
+static void print_define( STD_NAMESPACE ostream& out,
+ const char* fname, const char* name )
+{
+ out << "#define DCMTK_";
+ // convert type name to uppercase and replace ' ' by underscore.
+ for( const char* pch = name; *pch; ++pch )
+ out.put( *pch <= 'z' && *pch >= 'a' ? *pch - 'a' + 'A' : *pch == ' ' ? '_' : *pch );
+ out << '_' << fname;
+}
+
+// handles output to configure log and to "arith.h"
+static int print_flag( STD_NAMESPACE ostream& out, int flag,
+ const char* fname, const char* name,
+ int width )
+{
+ COUT << STD_NAMESPACE setw(width) << STD_NAMESPACE internal << ( flag ? "yes" : "no" );
+ print_define( out, fname, name );
+ out << " OF" << ( flag ? "True" : "False" ) << '\n';
+ return flag;
+}
+
+static const char all_one[8] = { '\377', '\377', '\377', '\377', '\377', '\377', '\377', '\377' };
+
+template<typename T>
+static int test_modulo()
+{
+ // test if signed, otherwise it is modulo anyway
+ if( *OFreinterpret_cast( const T*, all_one ) > 0 )
+ return 1;
+ const T max = *OFreinterpret_cast( const T*, all_one ) & ~(T(1) << (sizeof(T) * 8 - 1));
+ const T min = T( max + 1 );
+ return min < max && min < 0 && max > 0;
+}
+
+template<typename FN>
+static int test_trap( const FN& fn )
+{
+ register_signals();
+#ifndef _WIN32
+ // On Unix like systems, we use the
+ // longjmp-module specifically designed for
+ // signals.
+ if( sigsetjmp( jbuf, 1 ) )
+#else
+ // On Windows, we use the normal longjmp
+ // that destroys everything and try to fix
+ // what is left.
+ if( setjmp( jbuf ) )
+#endif
+ {
+ // if a jump occurred, this means fn()
+ // caused a trap.
+ return 1;
+ }
+#ifdef _MSC_VER
+ // On Visual Studio, we use their built-in
+ // SEH things, they consider to be C++.
+ __try
+#else
+ // The rest of the world hopefully only
+ // has normal exceptions.
+ try
+#endif
+ {
+ // Call the function. Did it trap?
+ fn();
+ }
+#ifdef _MSC_VER
+ // On Windows, we return 3 if any SEH exception
+ // occurred. Shall we consider this a trap,
+ // although it was really an exception?
+ // I don't know, for now it's yes.
+ __except(1){return 3;}
+#else
+ // The rest of the world returns 2, which
+ // means "normal exception".
+ catch(...){return 2;}
+#endif
+ // Nothing happened, so we return 0, for
+ // "nothing happened". Note: since MinGW's
+ // crazy SEH things are crazy, MinGW will always
+ // execute what is written in the brackets following
+ // __except1, and NEVER see this return statement.
+ return 0;
+}
+
+template<typename T>
+static void divide_by_zero()
+{
+ // Note: we can't just do 1 / 0, since
+ // some compilers might optimize that
+ // away or emit compile-time errors.
+ volatile T t0 = 1;
+ volatile T t1 = 0;
+ t0 /= t1;
+}
+
+// gathers and prints information for integer types
+template<typename T>
+static void inspect( STD_NAMESPACE ostream& out, const char* name )
+{
+ COUT << "-- " << STD_NAMESPACE left << STD_NAMESPACE setw(14) << name;
+ print_flag( out, test_trap( ÷_by_zero<T> ), "TRAPS", name, 7 );
+ print_flag( out, test_modulo<T>(), "MODULO", name, 7 );
+ COUT << OFendl;
+}
+
+// print a constant's binary representation as a string, so it can be loaded
+// instead of being calculated when needed
+template<typename T>
+static void print_binary( STD_NAMESPACE ostream& out, const char* pname, const char* name, const T& t )
+{
+ print_define( out, pname, name );
+ out << " *OFreinterpret_cast( const " << name << "*, \"";
+ for( unsigned ui = 0; ui < sizeof(T); ++ui )
+ out << '\\' << STD_NAMESPACE oct << STD_NAMESPACE setw(3) << STD_NAMESPACE right << STD_NAMESPACE setfill( '0' )
+ << unsigned(((unsigned char*)&t)[ui]) << STD_NAMESPACE dec;
+ out << "\" )\n";
+}
+
+// try to create an infinite value and use whatever means
+// to detect if it really is infinite
+template<typename T>
+static int test_inf( STD_NAMESPACE ostream& out, const char* name )
+{
+ const T t( HUGE_VAL );
+ const int has_inf = print_flag
+ (
+ out,
+ dcmtk_config_math::isinf(t),
+ "HAS_INFINITY",
+ name,
+ 7
+ );
+ print_binary( out, "INFINITY", name, t );
+ return has_inf;
+}
+
+template<typename T>
+static T guess_qnan()
+{
+#ifdef NAN
+ // use NAN if available
+ return T( NAN );
+#else
+ // else do a barrel roll
+ T t( 0.0 );
+ return t / t;
+#endif
+}
+
+template<typename T>
+static int test_qnan( STD_NAMESPACE ostream& out, const char* name )
+{
+ const T t = guess_qnan<T>();
+ const int has_qnan = print_flag
+ (
+ out,
+ dcmtk_config_math::isnan( t ),
+ "HAS_QUIET_NAN",
+ name,
+ 7
+ );
+ print_binary( out, "QUIET_NAN", name, t );
+ return has_qnan;
+}
+
+template<typename T>
+struct guess;
+
+template<>
+struct guess<float>
+{
+ // There is no way to create a signaling NaN employing only arithmetic
+ // operations. So we assume we have IEC-559 floating point types
+ // and convert the quiet NaNs we created to signaling NaNs by flipping
+ // the bits that would need to be flipped if it really were IEC-559 floats.
+ static const float& snan()
+ {
+ static float f = guess_qnan<float>();
+ ((unsigned char*)&f)[2] &= 0xbf;
+ ((unsigned char*)&f)[0] |= 0x01;
+ return f;
+ }
+
+ static float denorm_min()
+ {
+ return float( ldexp( 1.0f, FLT_MIN_EXP - FLT_MANT_DIG ) );
+ }
+
+ static float denorm_max()
+ {
+ return FLT_MIN / 2;
+ }
+
+ static float epsilon()
+ {
+ return FLT_EPSILON;
+ }
+};
+
+template<>
+struct guess<double>
+{
+ // There is no way to create a signaling NaN employing only arithmetic
+ // operations. So we assume we have IEC-559 floating point types
+ // and convert the quiet NaNs we created to signaling NaNs by flipping
+ // the bits that would need to be flipped if it really were IEC-559 floats.
+ static const double& snan()
+ {
+ static double d = guess_qnan<double>();
+ ((unsigned char*)&d)[6] &= 0xf7;
+ ((unsigned char*)&d)[0] |= 0x01;
+ return d;
+ }
+
+ static double denorm_min()
+ {
+ return double( ldexp( 1.0, DBL_MIN_EXP - DBL_MANT_DIG ) );
+ }
+
+ static double denorm_max()
+ {
+ return DBL_MIN / 2;
+ }
+
+ static double epsilon()
+ {
+ return DBL_EPSILON;
+ }
+};
+
+template<typename T>
+static void provoke_snan()
+{
+ // Enable floating point exceptions, Windows and Unix version.
+#ifdef HAVE_WINDOWS_H
+ _clearfp();
+ _controlfp( _controlfp(0,0) & ~_EM_INVALID, _MCW_EM );
+#elif defined(__APPLE__)
+ _MM_SET_EXCEPTION_MASK( _MM_GET_EXCEPTION_MASK() & ~_MM_MASK_INVALID );
+#elif defined(HAVE_FENV_H) && defined(HAVE_PROTOTYPE_FEENABLEEXCEPT)
+ feenableexcept( FE_INVALID );
+#elif defined(HAVE_IEEEFP_H)
+ fp_except cw = fpgetmask();
+ fpsetmask(cw | FP_X_INV | FP_X_DZ | FP_X_OFL);
+#endif
+ // Visual Studio will emit an exception the moment
+ // we assign a signaling NaN to another float variable
+ // and convert it to a quiet NaN.
+ volatile T t = guess<T>::snan();
+ // Other compilers will trigger only if we use
+ // arithmetics.
+ ++t;
+}
+
+template<typename T>
+static int test_snan( STD_NAMESPACE ostream& out, const char* name )
+{
+ // Create signaling NaNs and test if they really are signaling NaNs
+ const T& t = guess<T>::snan();
+ int flag = dcmtk_config_math::isnan( t ) && test_trap( &provoke_snan<T> );
+ // Disable floating point exceptions that have been enabled for the test,
+ // Windows and Unix version.
+#ifdef HAVE_WINDOWS_H
+ _clearfp();
+ _controlfp( _controlfp(0,0) | _EM_INVALID, _MCW_EM );
+#elif defined(HAVE_FENV_H)
+ feclearexcept( FE_INVALID );
+#ifdef __APPLE__
+ _MM_SET_EXCEPTION_MASK( _MM_GET_EXCEPTION_MASK() | _MM_MASK_INVALID );
+#elif defined(HAVE_FENV_H) && defined(HAVE_PROTOTYPE_FEENABLEEXCEPT)
+ fedisableexcept( FE_INVALID );
+#elif defined(HAVE_IEEEFP_H)
+ fp_except cw = fpgetmask();
+ fpsetmask(cw & ~(FP_X_INV | FP_X_DZ | FP_X_OFL));
+#endif
+#endif
+ // Print and return the result
+ print_flag
+ (
+ out,
+ flag,
+ "HAS_SIGNALING_NAN",
+ name,
+ 7
+ );
+ print_binary( out, "SIGNALING_NAN", name, t );
+ return flag;
+}
+
+template<typename T>
+static void test_iec559( STD_NAMESPACE ostream& out, const char* name, int reqs )
+{
+ // Assume we have IEC-559 floats if the appropriate macro was defined,
+ // or if infinity and both kinds of NaNs are supported and the characteristics
+ // of double are what we expect them to be.
+ print_flag
+ (
+ out,
+#if defined(__STDC_IEC_559__) || (DBL_DIG == 15 && DBL_MANT_DIG == 53 && DBL_MAX_10_EXP == 308 && DBL_MAX_EXP == 1024 && DBL_MIN_10_EXP == -307 && DBL_MIN_EXP == -1021)
+ reqs,
+#else
+ 0,
+#endif
+ "IS_IEC559",
+ name,
+ 7
+ );
+}
+
+static int is_subnormal( float f )
+{
+// Wine does not implement _fpclassf, so don't use it when cross compiling for Windows
+// (Wine would emit an exception at runtime, so it's hard to test for _fpclassf availability)
+#if defined(HAVE_PROTOTYPE__FPCLASSF) && !( defined(DCMTK_CROSS_COMPILING) && defined(_WIN32) )
+ return ( _fpclassf( f ) & ( _FPCLASS_ND | _FPCLASS_PD ) ) != 0;
+#else
+ return f != 0.0f && ( f < 0.0f ? -f < FLT_MIN : f < FLT_MIN );
+#endif
+}
+
+static int is_subnormal( double d )
+{
+#ifdef _WIN32
+ return ( _fpclass( d ) & ( _FPCLASS_ND | _FPCLASS_PD ) ) != 0;
+#else
+ return d != 0.0 && ( d < 0.0 ? -d < DBL_MIN : d < DBL_MIN );
+#endif
+}
+
+template<typename T>
+static void test_subnormal( STD_NAMESPACE ostream& out, const char* name )
+{
+#ifdef HAVE_WINDOWS_H
+ _clearfp();
+ _controlfp( _EM_DENORMAL | _EM_UNDERFLOW | _EM_INEXACT, _MCW_EM );
+#endif
+ const T denorm = guess<T>::denorm_min();
+ const int flag = is_subnormal( denorm );
+ COUT << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << ( flag ? "yes" : "no" );
+ print_define( out, "HAS_DENORM", name );
+ out << " OFdenorm_" << ( flag ? "pre" : "ab" ) << "sent\n";
+ print_binary( out, "DENORM_MIN", name, denorm );
+}
+
+template<typename T>
+static void test_tinyness_before( STD_NAMESPACE ostream& out, const char* name )
+{
+ volatile const T denorm_max = guess<T>::denorm_max();
+ volatile const T mult = T( 1.0 ) + guess<T>::epsilon();
+
+#ifdef HAVE_WINDOWS_H
+ _clearfp();
+#elif defined(HAVE_FENV_H)
+ feclearexcept( FE_ALL_EXCEPT );
+#endif
+
+ volatile T result = denorm_max * mult;
+ (void)result;
+
+ print_flag
+ (
+ out,
+#ifdef HAVE_WINDOWS_H
+ _statusfp() & _EM_UNDERFLOW,
+#elif defined(HAVE_FENV_H)
+ fetestexcept( FE_UNDERFLOW ),
+#else
+ 0,
+#endif
+ "TINYNESS_BEFORE",
+ name,
+ 7
+ );
+}
+
+template<typename T>
+static void test_denorm_loss( STD_NAMESPACE ostream& out, const char* name )
+{
+ volatile T t = guess<T>::denorm_min() * 3;
+
+#ifdef HAVE_WINDOWS_H
+ _clearfp();
+#elif defined(HAVE_FENV_H)
+ feclearexcept( FE_ALL_EXCEPT );
+#endif
+
+ t /= 2;
+
+ print_flag
+ (
+ out,
+#ifdef HAVE_WINDOWS_H
+ _statusfp() & _EM_UNDERFLOW,
+#elif defined(HAVE_FENV_H)
+ fetestexcept( FE_UNDERFLOW ),
+#else
+ 0,
+#endif
+ "HAS_DENORM_LOSS",
+ name,
+ 7
+ );
+}
+
+#ifdef HAVE_WINDOWS_H
+// MinGW's crazy SEH stuff doesn't work on all MinGW "distributions"
+// This is an even more ugly fallback implementation that seems to
+// work for now
+LONG WINAPI consume_seh_problems( struct _EXCEPTION_POINTERS* )
+{
+ _fpreset();
+ _clearfp();
+ longjmp( jbuf, 0 );
+ return EXCEPTION_CONTINUE_SEARCH;
+}
+#endif
+
+int main( int argc, char** argv )
+{
+#ifdef HAVE_WINDOWS_H
+ // Activate the fallback workaround, it will only be used
+ // if the SEH exceptions can't be caught "the right way"
+ SetErrorMode( SEM_FAILCRITICALERRORS );
+ SetUnhandledExceptionFilter( consume_seh_problems );
+#endif
+
+ COUT << "Inspecting fundamental arithmetic types... " << OFendl;
+ if( argc != 2 )
+ {
+ STD_NAMESPACE cerr << "-- " << "Error: missing destination file "
+ << "to store collected information." << OFendl;
+ return 1;
+ }
+
+ STD_NAMESPACE ofstream out( argv[1] );
+
+ out << "#ifndef CONFIG_ARITH_H" << '\n';
+ out << "#define CONFIG_ARITH_H" << '\n';
+ out << '\n';
+
+ // workaround to let digits10 be a compile time constant
+ out << "#define DCMTK_SIGNED_CHAR_DIGITS10 " << OFstatic_cast( int, ( CHAR_BIT - 1 ) * .30102999566398119521373889472449 ) << OFendl;
+ out << "#define DCMTK_UNSIGNED_CHAR_DIGITS10 " << OFstatic_cast( int, CHAR_BIT * .30102999566398119521373889472449 ) << OFendl;
+ out << "#define DCMTK_SIGNED_SHORT_DIGITS10 " << OFstatic_cast( int, ( CHAR_BIT * sizeof( signed short ) - 1 ) * .30102999566398119521373889472449 ) << OFendl;
+ out << "#define DCMTK_UNSIGNED_SHORT_DIGITS10 " << OFstatic_cast( int, CHAR_BIT * sizeof( unsigned short ) * .30102999566398119521373889472449 ) << OFendl;
+ out << "#define DCMTK_SIGNED_INT_DIGITS10 " << OFstatic_cast( int, ( CHAR_BIT * sizeof( signed int ) - 1 ) * .30102999566398119521373889472449 ) << OFendl;
+ out << "#define DCMTK_UNSIGNED_INT_DIGITS10 " << OFstatic_cast( int, CHAR_BIT * sizeof( unsigned int ) * .30102999566398119521373889472449 ) << OFendl;
+ out << "#define DCMTK_SIGNED_LONG_DIGITS10 " << OFstatic_cast( int, ( CHAR_BIT * sizeof( signed long ) - 1 ) * .30102999566398119521373889472449 ) << OFendl;
+ out << "#define DCMTK_UNSIGNED_LONG_DIGITS10 " << OFstatic_cast( int, CHAR_BIT * sizeof( unsigned long ) * .30102999566398119521373889472449 ) << OFendl;
+ out << "#define DCMTK_FLOAT_MAX_DIGITS10 " << OFstatic_cast( int, FLT_MANT_DIG * .30102999566398119521373889472449 + 2 ) << OFendl;
+ out << "#define DCMTK_DOUBLE_MAX_DIGITS10 " << OFstatic_cast( int, DBL_MANT_DIG * .30102999566398119521373889472449 + 2 ) << OFendl;
+
+ COUT << "--" << OFendl;
+
+ COUT << "-- " << STD_NAMESPACE setfill( ' ' ) << STD_NAMESPACE setw(17) << ' '
+ << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << "TRAPS"
+ << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << "MODULO" << OFendl;
+
+ inspect<char>( out, "char" );
+ inspect<signed char>( out, "signed char" );
+ inspect<unsigned char>( out, "unsigned char" );
+ inspect<signed short>( out, "signed short" );
+ inspect<unsigned short>( out, "unsigned short" );
+ inspect<signed int>( out, "signed int" );
+ inspect<unsigned int>( out, "unsigned int" );
+ inspect<signed long>( out, "signed long" );
+ inspect<unsigned long>( out, "unsigned long" );
+
+ COUT << "--" << OFendl;
+
+ COUT << "-- " << STD_NAMESPACE setfill( ' ' ) << STD_NAMESPACE setw(18) << ' '
+ << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << "float"
+ << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << "double" << OFendl;
+
+ COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- TRAPS";
+ print_flag( out, test_trap( ÷_by_zero<float> ), "TRAPS", "float", 7 );
+ print_flag( out, test_trap( ÷_by_zero<double> ), "TRAPS", "double", 7 );
+ COUT << OFendl;
+
+ COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- HAS INFINITY";
+ const int finf = test_inf<float>( out, "float" );
+ const int dinf = test_inf<double>( out, "double" );
+ COUT << OFendl;
+
+ COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- QUIET NAN";
+ const int fqnan = test_qnan<float>( out, "float" );
+ const int dqnan = test_qnan<double>( out, "double" );
+ COUT << OFendl;
+
+ COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- SIGNALING NAN";
+ const int fsnan = test_snan<float>( out, "float" );
+ const int dsnan = test_snan<double>( out, "double" );
+ COUT << OFendl;
+
+ COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- IEC-559";
+ test_iec559<float>( out, "float", finf && fqnan && fsnan );
+ test_iec559<double>( out, "double", dinf && dqnan && dsnan );
+ COUT << OFendl;
+
+ COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- HAS DENORM";
+ test_subnormal<float>( out, "float" );
+ test_subnormal<double>( out, "double" );
+ COUT << OFendl;
+
+ COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- TINYNESS BEFORE";
+ test_tinyness_before<float>( out, "float" );
+ test_tinyness_before<double>( out, "double" );
+ COUT << OFendl;
+
+ COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- DENORM LOSS";
+ test_denorm_loss<float>( out, "float" );
+ test_denorm_loss<double>( out, "double" );
+ COUT << OFendl;
+
+ COUT << "--";
+
+ out << "#define DCMTK_ROUND_STYLE " << FLT_ROUNDS << '\n';
+ out << '\n';
+ out << "#endif // CONFIG_ARITH_H" << '\n';
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Thorben Hasenpusch
+ *
+ * Purpose: Presents constructs that every C++11 compliant
+ * compiler should be able to compile.
+ */
+
+#ifndef __cplusplus
+
+#error "This is not a C++ compiler"
+
+#elif __cplusplus < 201103L
+
+#error "This is not a C++11 compiler"
+
+#else
+
+int main()
+{
+ return 0;
+}
+
+namespace cxx11
+{
+
+ namespace test_static_assert
+ {
+
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ }
+
+ namespace test_final_override
+ {
+
+ struct Base
+ {
+ virtual void f() {}
+ };
+
+ struct Derived : public Base
+ {
+ virtual void f() override {}
+ };
+
+ }
+
+ namespace test_double_right_angle_brackets
+ {
+
+ template < typename T >
+ struct check {};
+
+ typedef check<void> single_type;
+ typedef check<check<void>> double_type;
+ typedef check<check<check<void>>> triple_type;
+ typedef check<check<check<check<void>>>> quadruple_type;
+
+ }
+
+ namespace test_decltype
+ {
+
+ int
+ f()
+ {
+ int a = 1;
+ decltype(a) b = 2;
+ return a + b;
+ }
+
+ }
+
+ namespace test_type_deduction
+ {
+
+ template < typename T1, typename T2 >
+ struct is_same
+ {
+ static const bool value = false;
+ };
+
+ template < typename T >
+ struct is_same<T, T>
+ {
+ static const bool value = true;
+ };
+
+ template < typename T1, typename T2 >
+ auto
+ add(T1 a1, T2 a2) -> decltype(a1 + a2)
+ {
+ return a1 + a2;
+ }
+
+ int
+ test(const int c, volatile int v)
+ {
+ static_assert(is_same<int, decltype(0)>::value == true, "");
+ static_assert(is_same<int, decltype(c)>::value == false, "");
+ static_assert(is_same<int, decltype(v)>::value == false, "");
+ auto ac = c;
+ auto av = v;
+ auto sumi = ac + av + 'x';
+ auto sumf = ac + av + 1.0;
+ static_assert(is_same<int, decltype(ac)>::value == true, "");
+ static_assert(is_same<int, decltype(av)>::value == true, "");
+ static_assert(is_same<int, decltype(sumi)>::value == true, "");
+ static_assert(is_same<int, decltype(sumf)>::value == false, "");
+ static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
+ return (sumf > 0.0) ? sumi : add(c, v);
+ }
+
+ }
+
+ namespace test_noexcept
+ {
+
+ int f() { return 0; }
+ int g() noexcept { return 0; }
+
+ static_assert(noexcept(f()) == false, "");
+ static_assert(noexcept(g()) == true, "");
+
+ }
+
+ namespace test_constexpr
+ {
+
+ template < typename CharT >
+ unsigned long constexpr
+ strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
+ {
+ return *s ? strlen_c_r(s + 1, acc + 1) : acc;
+ }
+
+ template < typename CharT >
+ unsigned long constexpr
+ strlen_c(const CharT *const s) noexcept
+ {
+ return strlen_c_r(s, 0UL);
+ }
+
+ static_assert(strlen_c("") == 0UL, "");
+ static_assert(strlen_c("1") == 1UL, "");
+ static_assert(strlen_c("example") == 7UL, "");
+ static_assert(strlen_c("another\0example") == 7UL, "");
+
+ }
+
+ namespace test_rvalue_references
+ {
+
+ template < int N >
+ struct answer
+ {
+ static constexpr int value = N;
+ };
+
+ answer<1> f(int&) { return answer<1>(); }
+ answer<2> f(const int&) { return answer<2>(); }
+ answer<3> f(int&&) { return answer<3>(); }
+
+ void
+ test()
+ {
+ int i = 0;
+ const int c = 0;
+ static_assert(decltype(f(i))::value == 1, "");
+ static_assert(decltype(f(c))::value == 2, "");
+ static_assert(decltype(f(0))::value == 3, "");
+ }
+
+ }
+
+ namespace test_uniform_initialization
+ {
+
+ struct test
+ {
+ static const int zero {};
+ static const int one {1};
+ };
+
+ static_assert(test::zero == 0, "");
+ static_assert(test::one == 1, "");
+
+ }
+
+ namespace test_lambdas
+ {
+
+ void
+ test1()
+ {
+ auto lambda1 = [](){};
+ auto lambda2 = lambda1;
+ lambda1();
+ lambda2();
+ }
+
+ int
+ test2()
+ {
+ auto a = [](int i, int j){ return i + j; }(1, 2);
+ auto b = []() -> int { return '0'; }();
+ auto c = [=](){ return a + b; }();
+ auto d = [&](){ return c; }();
+ auto e = [a, &b](int x) mutable {
+ const auto identity = [](int y){ return y; };
+ for (auto i = 0; i < a; ++i)
+ a += b--;
+ return x + identity(a + b);
+ }(0);
+ return a + b + c + d + e;
+ }
+
+ int
+ test3()
+ {
+ const auto nullary = [](){ return 0; };
+ const auto unary = [](int x){ return x; };
+ using nullary_t = decltype(nullary);
+ using unary_t = decltype(unary);
+ const auto higher1st = [](nullary_t f){ return f(); };
+ const auto higher2nd = [unary](nullary_t f1){
+ return [unary, f1](unary_t f2){ return f2(unary(f1())); };
+ };
+ return higher1st(nullary) + higher2nd(nullary)(unary);
+ }
+
+ }
+
+ namespace test_variadic_templates
+ {
+
+ template <int...>
+ struct sum;
+
+ template <int N0, int... N1toN>
+ struct sum<N0, N1toN...>
+ {
+ static constexpr auto value = N0 + sum<N1toN...>::value;
+ };
+
+ template <>
+ struct sum<>
+ {
+ static constexpr auto value = 0;
+ };
+
+ static_assert(sum<>::value == 0, "");
+ static_assert(sum<1>::value == 1, "");
+ static_assert(sum<23>::value == 23, "");
+ static_assert(sum<1, 2>::value == 3, "");
+ static_assert(sum<5, 5, 11>::value == 21, "");
+ static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
+
+ }
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
+ // because of this.
+ namespace test_template_alias_sfinae
+ {
+
+ struct foo {};
+
+ template<typename T>
+ using member = typename T::member_type;
+
+ template<typename T>
+ void func(...) {}
+
+ template<typename T>
+ void func(member<T>*) {}
+
+ void test();
+
+ void test() { func<foo>(0); }
+
+ }
+
+} // namespace cxx11
+
+#endif // __cplusplus >= 201103L
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Jan Schlamelcher
+ *
+ * Purpose: Testing for large file support (LFS)
+ */
+
+#include <sys/types.h>
+/* Check that off_t can represent 2**63 - 1 correctly. */
+/* We can't simply define LARGE_OFF_T to be 9223372036854775807, */
+/* since some C++ compilers masquerading as C compilers */
+/* incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+int main()
+{
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1];
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Jan Schlamelcher
+ *
+ * Purpose: Testing for explicit large file support (LFS64)
+ */
+
+#define _LARGEFILE64_SOURCE
+#include <stdio.h>
+
+using namespace std;
+
+int main()
+{
+ FILE *f = fopen64("name", "r");
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Thorben Hasenpusch
+ *
+ * Purpose: Rudimentary tests for a working <limits> implementation.
+ */
+
+#include <limits>
+#include <climits>
+
+int main()
+{
+ if (!std::numeric_limits<signed char>::is_signed) {
+ return -1;
+ }
+
+ if (std::numeric_limits<float>::is_iec559) {
+ if (!std::numeric_limits<float>::has_infinity) {
+ return -1;
+ }
+ }
+
+ if (std::numeric_limits<int>::max() != INT_MAX) {
+ return -1;
+ }
+
+ if (std::numeric_limits<int>::digits != CHAR_BIT * sizeof(int) - 1) {
+ return -1;
+ }
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Thorben Hasenpusch
+ *
+ * Purpose: Rudimentary tests for a working <list> implementation.
+ */
+
+#include <list>
+
+int main()
+{
+ std::list<int> l;
+
+ if (!l.empty()) {
+ return -1;
+ }
+
+ l.push_back(18);
+ l.push_back(22);
+ l.push_front(2);
+
+ if (*l.begin() != 2) {
+ return -1;
+ }
+
+ l.reverse();
+
+ if (*l.begin() != 22) {
+ return -1;
+ }
+
+ int sum = 0;
+ for (std::list<int>::iterator it = l.begin(); it != l.end(); ++it) {
+ sum += *it;
+ }
+
+ if (sum != 42) {
+ return -1;
+ }
+
+ // ensure iterators are NOT invalidated by swap()
+ std::list<int>::iterator it = l.begin();
+ std::list<int> m;
+ m.push_back(23);
+ l.swap(m);
+ if (it != m.begin()) {
+ return -1;
+ }
+
+ // test whether we can compare const and mutable iterators
+ std::list<int>::const_iterator cit = m.begin();
+ if (it != cit) {
+ return -1;
+ }
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Thorben Hasenpusch
+ *
+ * Purpose: Rudimentary tests for a working <map> implementation.
+ */
+
+#include <map>
+
+int main()
+{
+ std::map<int, int> m;
+
+ if (!m.empty()) {
+ return -1;
+ }
+
+ m[3] = 555;
+ m[66] = 2;
+ m[42] = 42;
+
+ if (m.size() != 3) {
+ return -1;
+ }
+
+ if (m[3] != 555) {
+ return -1;
+ }
+
+ if (m[42] != 42) {
+ return -1;
+ }
+
+ m.erase(m.find(3));
+
+ if (m.find(3) != m.end()) {
+ return -1;
+ }
+
+ m.clear();
+
+ if (!m.empty()) {
+ return -1;
+ }
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Thorben Hasenpusch
+ *
+ * Purpose: Rudimentary tests for a working <memory> implementation.
+ */
+
+#include <memory>
+
+int main()
+{
+ int *p = new int(55);
+
+ std::unique_ptr<int> pp(p);
+
+ if (*p != *pp) {
+ return -1;
+ }
+
+ if (p != pp.get()) {
+ return -1;
+ }
+
+ pp.release();
+
+ std::shared_ptr<int> s_p(p);
+ std::shared_ptr<int> s_p2(s_p);
+ std::shared_ptr<int> s_p3(s_p2);
+
+ if (s_p.get() != s_p3.get()) {
+ return -1;
+ }
+
+ if (s_p.use_count() != 3) {
+ return -1;
+ }
+
+ if (*s_p != *s_p3) {
+ return -1;
+ }
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Thorben Hasenpusch
+ *
+ * Purpose: Rudimentary tests for a working <stack> implementation.
+ */
+
+#include <stack>
+
+int main()
+{
+ std::stack<int> s;
+
+ if (!s.empty()) {
+ return -1;
+ }
+
+ s.push(1);
+ s.push(2);
+ s.push(3);
+
+ s.pop();
+ s.pop();
+
+ s.push(42);
+
+ if (s.top() != 42) {
+ return -1;
+ }
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Thorben Hasenpusch
+ *
+ * Purpose: Rudimentary tests for a working <string> implementation.
+ */
+
+#include <string>
+
+int main()
+{
+ std::string s = "TEST";
+
+ if (s[1] != 'E') {
+ return -1;
+ }
+
+ s += "HAHA";
+
+ if (s[5] != 'A') {
+ return -1;
+ }
+
+ std::string sub = s.substr(4);
+
+ if ("HAHA" != sub) {
+ return -1;
+ }
+
+ s.replace(0, 4, "HAHA");
+
+ if (s != "HAHAHAHA") {
+ return -1;
+ }
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Thorben Hasenpusch
+ *
+ * Purpose: Rudimentary tests for a working <system_error> implementation.
+ */
+
+#include <system_error>
+
+#include <cstring>
+
+#ifdef _WIN32
+#include <Windows.h>
+#endif
+
+int main()
+{
+ // Not much to test, really.
+
+ if (strcmp(std::generic_category().name(), "generic") != 0) {
+ return -1;
+ }
+
+ if (strcmp(std::system_category().name(), "system") != 0) {
+ return -1;
+ }
+
+#ifdef _WIN32
+ // Visual Studio might be using strerror for both categories.
+
+ // Test with the highest numbered WINAPI error code; highly unlikely that there exists an equal-numbered errno.
+ std::system_error system_err(ERROR_API_UNAVAILABLE, std::system_category());
+ std::system_error generic_err(ERROR_API_UNAVAILABLE, std::generic_category());
+
+ // The system error message should be retrieved using FormatMessage(),
+ // while the generic error message should be retrieved with strerror and be something like "unknown error",
+ // since it isn't a valid errno.
+ // The point is, these two should result in different messages.
+
+ if (strcmp(system_err.what(), generic_err.what()) == 0) {
+ // Visual Studio messed up, what a surprise...
+ return -1;
+ }
+#endif
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Thorben Hasenpusch
+ *
+ * Purpose: Rudimentary tests for a working <type_traits> implementation.
+ */
+
+#include <type_traits>
+
+class A{};
+
+class B{ virtual ~B(); };
+
+int main()
+{
+ if (!std::is_void<void>::value) {
+ return -1;
+ }
+
+ if (!std::is_pointer<void *>::value) {
+ return -1;
+ }
+
+ if (!std::is_class<A>::value) {
+ return -1;
+ }
+
+ if (!std::is_volatile<volatile int>::value) {
+ return -1;
+ }
+
+ if (!std::is_empty<A>::value) {
+ return -1;
+ }
+
+ if (!std::has_virtual_destructor<B>::value) {
+ return -1;
+ }
+
+ if (std::is_empty<B>::value) {
+ return -1;
+ }
+
+ if (std::is_const<std::remove_const<const int>>::value) {
+ return -1;
+ }
+
+ if (!std::is_same<std::enable_if<std::is_empty<A>::value, int>::type, int>::value) {
+ return -1;
+ }
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Thorben Hasenpusch
+ *
+ * Purpose: Rudimentary tests for a working <tuple> implementation.
+ */
+
+#include <tuple>
+
+int main()
+{
+ auto tuple = std::make_tuple(1, "TEST");
+
+ if (std::get<0>(tuple) != 1) {
+ return -1;
+ }
+
+ if (std::tuple_size<decltype(tuple)>::value != 2) {
+ return -1;
+ }
+
+ int n;
+ const char *p;
+ std::tie(n, p) = tuple;
+
+ if (n != 1) {
+ return -1;
+ }
+
+ // ensure std::tuple can take at least 50 template arguments, otherwise
+ // our own implementation is superior
+ std::tuple<int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int> t;
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: config
+ *
+ * Author: Thorben Hasenpusch
+ *
+ * Purpose: Rudimentary tests for a working <vector> implementation.
+ */
+
+#include <vector>
+
+struct Recursive : std::vector<Recursive>
+{
+ int i;
+};
+
+int main()
+{
+ std::vector<int> v;
+
+ v.push_back(1);
+ v.push_back(2);
+ v.push_back(3);
+
+ if (v.size() != 3) {
+ return -1;
+ }
+
+ if (v[2] != 3) {
+ return -1;
+ }
+
+ v.erase(v.begin());
+
+ if (v[0] != 2) {
+ return -1;
+ }
+
+ v.pop_back();
+
+ if (v.size() != 1) {
+ return -1;
+ }
+
+ v.clear();
+
+ v.push_back(42);
+ v.push_back(13);
+
+ v.resize(1);
+
+ if (v.size() != 1 || v[0] != 42) {
+ return -1;
+ }
+
+ if (v.front() != v[0]) {
+ return -1;
+ }
+
+ if (v.back() != v[v.size() - 1]) {
+ return -1;
+ }
+
+ // ensure iterators are NOT invalidated by swap()
+ std::vector<int>::iterator it = v.begin();
+ std::vector<int> w;
+ w.push_back(23);
+ v.swap(w);
+ if (it != w.begin()) {
+ return -1;
+ }
+
+ // test if recursive vector structures can be constructed without causing
+ // a stack overflow
+ if (std::vector<Recursive>().size() != 0) {
+ return -1;
+ }
+
+ // test whether we can compare const and mutable iterators
+ std::vector<int>::const_iterator cit = w.begin();
+ if (it != cit) {
+ return -1;
+ }
+
+ return 0;
+}
PROJECT(dcmdata)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmdata_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmdata_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" ${ZLIB_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc libi2d apps include docs data tests)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmdata/dcjson.h \
- ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h
+ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h
dcm2pdf.o: dcm2pdf.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
- ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h
+ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h
dcmconv.o: dcmconv.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmdata/dcostrmz.h ../include/dcmtk/dcmdata/dcistrmz.h \
- ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h
+ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h
dcmcrle.o: dcmcrle.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmdata/dcistrmz.h \
- ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h
+ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h
dcmftest.o: dcmftest.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcpath.h ../include/dcmtk/dcmdata/dcdatset.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcfilefo.h \
../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h mdfdsman.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dctk.h \
../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcfilefo.h \
../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
LOCALINCLUDES = -I$(ofstddir)/include -I$(oflogdir)/include
LIBDIRS = -L$(top_srcdir)/libi2d -L$(top_srcdir)/libsrc -L$(ofstddir)/libsrc \
-L$(oflogdir)/libsrc
-LOCALLIBS = -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(CHARCONVLIBS)
+LOCALLIBS = -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS)
LIBI2D = -li2d
objs = dcmftest.o dcmconv.o dcmdump.o dump2dcm.o dcmgpdir.o dcm2xml.o \
# Note: dcmftest does not need LOCALLIBS on most platforms, but on OSF1 it is required.
dcmftest: dcmftest.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmconv: dcmconv.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmdump: dcmdump.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dump2dcm: dump2dcm.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmgpdir: dcmgpdir.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmcrle: dcmcrle.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmdrle: dcmdrle.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcm2xml: dcm2xml.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
xml2dcm: xml2dcm.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(XMLLIBS) $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(XMLLIBS) $(LOCALLIBS) $(LIBS)
dcmodify: dcmodify.o mdfconen.o mdfdsman.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o mdfconen.o mdfdsman.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o mdfconen.o mdfdsman.o $(LOCALLIBS) $(LIBS)
pdf2dcm: pdf2dcm.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcm2pdf: dcm2pdf.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
img2dcm: img2dcm.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LIBI2D) $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LIBI2D) $(LOCALLIBS) $(LIBS)
dcm2json: dcm2json.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
install: install-bin
DcmFileFormat *dfile,
const E_FileReadMode readMode,
const OFBool format,
- const OFBool printMetaheaderInformation,
- const OFBool checkAllStrings)
+ const OFBool printMetaInfo)
{
OFCondition result = EC_IllegalParameter;
if ((ifname != NULL) && (dfile != NULL))
{
result = format
?
- dset->writeJson(out, DcmJsonFormatPretty(printMetaheaderInformation))
+ dset->writeJson(out, DcmJsonFormatPretty(printMetaInfo))
:
- dset->writeJson(out, DcmJsonFormatCompact(printMetaheaderInformation))
+ dset->writeJson(out, DcmJsonFormatCompact(printMetaInfo))
;
}
else
{
result = format
?
- dfile->writeJson(out, DcmJsonFormatPretty(printMetaheaderInformation))
+ dfile->writeJson(out, DcmJsonFormatPretty(printMetaInfo))
:
- dfile->writeJson(out, DcmJsonFormatCompact(printMetaheaderInformation))
+ dfile->writeJson(out, DcmJsonFormatCompact(printMetaInfo))
;
}
}
int main(int argc, char *argv[])
{
- OFBool opt_checkAllStrings = OFFalse;
OFBool opt_format = OFTrue;
OFBool opt_addMetaInformation = OFFalse;
cmd.addGroup("output options:");
cmd.addSubGroup("output format:");
- cmd.addOption("--formatted-code", "+fc", "output file with human readable formatting (def.)");
- cmd.addOption("--compact-code", "-fc", "output without formatting (single line of code)");
- cmd.addOption("--write-meta", "+m", "write data set with meta information");
+ cmd.addOption("--formatted-code", "+fc", "enable whitespace formatting (default)");
+ cmd.addOption("--compact-code", "-fc", "print only required characters");
+ cmd.addOption("--write-meta", "+m", "write data set with meta information\n(warning: not conforming to the DICOM standard)");
/* evaluate command line */
prepareCmdLineArgs(argc, argv, OFFIS_CONSOLE_APPLICATION);
/* meta option */
if (cmd.findOption("--write-meta"))
+ {
+ app.checkConflict("--write-meta", "--read-dataset", opt_readMode == ERM_dataset);
opt_addMetaInformation = OFTrue;
+ }
}
/* print resource identifier */
if (stream.good())
{
/* write content in JSON format to file */
- if (writeFile(stream, ifname, &dfile, opt_readMode, opt_format,
- opt_addMetaInformation, opt_checkAllStrings).bad())
+ if (writeFile(stream, ifname, &dfile, opt_readMode, opt_format, opt_addMetaInformation).bad())
result = 2;
}
else
else
{
/* write content in JSON format to standard output */
- if (writeFile(COUT, ifname, &dfile, opt_readMode, opt_format,
- opt_addMetaInformation, opt_checkAllStrings).bad())
+ if (writeFile(COUT, ifname, &dfile, opt_readMode, opt_format, opt_addMetaInformation).bad())
result = 3;
}
}
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
#include "dcmtk/ofstd/ofconapp.h"
int main(int argc, char *argv[])
{
-
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
const char *opt_ifname = NULL;
const char *opt_ofname = NULL;
#ifdef WITH_ZLIB
cmd.addOption("--write-xfer-deflated", "+td", "write with deflated explicit VR little endian TS");
#endif
+ cmd.addOption("--write-xfer-ge", "+tg", "write private GE LEI with big endian pixel TS\n(non-standard)");
cmd.addSubGroup("post-1993 value representations:");
cmd.addOption("--enable-new-vr", "+u", "enable support for new VRs (UN/UT) (default)");
cmd.addOption("--disable-new-vr", "-u", "disable support for new VRs, convert to OB");
#ifdef WITH_ZLIB
if (cmd.findOption("--write-xfer-deflated")) opt_oxfer = EXS_DeflatedLittleEndianExplicit;
#endif
+ if (cmd.findOption("--write-xfer-ge")) opt_oxfer = EXS_PrivateGE_LEI_WithBigEndianPixelData;
cmd.endOptionBlock();
cmd.beginOptionBlock();
/*
*
- * Copyright (C) 2002-2014, OFFIS e.V.
+ * Copyright (C) 2002-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
#include "dcmtk/ofstd/ofconapp.h"
int main(int argc, char *argv[])
{
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
const char *opt_ifname = NULL;
const char *opt_ofname = NULL;
/*
*
- * Copyright (C) 2002-2014, OFFIS e.V.
+ * Copyright (C) 2002-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
#include "dcmtk/ofstd/ofconapp.h"
int main(int argc, char *argv[])
{
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
const char *opt_ifname = NULL;
const char *opt_ofname = NULL;
static char rcsid[] = "$dcmtk: " OFFIS_CONSOLE_APPLICATION " v"
OFFIS_DCMTK_VERSION " " OFFIS_DCMTK_RELEASEDATE " $";
-#ifdef HAVE_GUSI_H
-/* needed for Macintosh */
-#include <GUSI.h>
-#include <SIOUX.h>
-#endif
-
static int dumpFile(STD_NAMESPACE ostream &out,
const OFFilename &ifname,
const E_FileReadMode readMode,
const OFBool loadIntoMemory,
const OFBool stopOnErrors,
const OFBool convertToUTF8,
+ const DcmTagKey &stopParsingAtElement,
const char *pixelDirectory);
// ********************************************
const char *scanPattern = "";
const char *pixelDirectory = NULL;
OFBool convertToUTF8 = OFFalse;
-
-#ifdef HAVE_GUSI_H
- /* needed for Macintosh */
- /* set options for the Metrowerks CodeWarrior SIOUX console */
- SIOUXSettings.autocloseonquit = OFFalse;
- SIOUXSettings.asktosaveonclose = OFFalse;
- SIOUXSettings.showstatusline = OFTrue;
- SIOUXSettings.setupmenus = OFTrue;
- /* set options for the GUSI sockets library */
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
+ DcmTagKey stopParsingBeforeElement = DCM_UndefinedTagKey;
OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION, "Dump DICOM file and data set", rcsid);
OFCommandLine cmd;
cmd.addSubGroup("other parsing options:");
cmd.addOption("--stop-after-elem", "+st", 1, "[t]ag: \"gggg,eeee\" or dictionary name",
"stop parsing after element specified by t");
+ cmd.addOption("--stop-before-elem", "+sb", 1, "[t]ag: \"gggg,eeee\" or dictionary name",
+ "stop parsing before element specified by t");
cmd.addSubGroup("automatic data correction:");
cmd.addOption("--enable-correction", "+dc", "enable automatic data correction (default)");
cmd.addOption("--disable-correction", "-dc", "disable automatic data correction");
if (cmd.findOption("--ignore-errors")) stopOnErrors = OFFalse;
cmd.endOptionBlock();
+ cmd.beginOptionBlock();
if (cmd.findOption("--stop-after-elem"))
{
const char *tagName = NULL;
else
app.printError("no valid key given for option --stop-after-elem");
}
+ if (cmd.findOption("--stop-before-elem"))
+ {
+ const char *tagName = NULL;
+ app.checkValue(cmd.getValue(tagName));
+ DcmTagKey key = parseTagKey(tagName);
+ if (key != DCM_UndefinedTagKey)
+ stopParsingBeforeElement = key;
+ else
+ app.printError("no valid key given for option --stop-before-elem");
+ }
+ cmd.endOptionBlock();
if (cmd.findOption("--search", 0, OFCommandLine::FOM_FirstFromLeft))
{
/* print header with filename */
COUT << "# " << OFFIS_CONSOLE_APPLICATION << " (" << fileCounter << "/" << count << "): " << current << OFendl;
}
- errorCount += dumpFile(COUT, current, readMode, xfer, printFlags, loadIntoMemory, stopOnErrors, convertToUTF8, pixelDirectory);
+ errorCount += dumpFile(COUT, current, readMode, xfer, printFlags, loadIntoMemory, stopOnErrors, convertToUTF8, stopParsingBeforeElement, pixelDirectory);
}
return errorCount;
const OFBool loadIntoMemory,
const OFBool stopOnErrors,
const OFBool convertToUTF8,
+ const DcmTagKey &stopParsingAtElement,
const char *pixelDirectory)
{
int result = 0;
DcmFileFormat dfile;
DcmObject *dset = &dfile;
if (readMode == ERM_dataset) dset = dfile.getDataset();
- OFCondition cond = dfile.loadFile(ifname, xfer, EGL_noChange, OFstatic_cast(Uint32, maxReadLength), readMode);
+ OFCondition cond;
+
+ if (stopParsingAtElement == DCM_UndefinedTagKey)
+ {
+ cond = dfile.loadFile(ifname, xfer, EGL_noChange, OFstatic_cast(Uint32, maxReadLength), readMode);
+ }
+ else
+ {
+ // instead of using loadFile(), we call loadFileUntilTag().
+ cond = dfile.loadFileUntilTag(ifname, xfer, EGL_noChange, OFstatic_cast(Uint32, maxReadLength), readMode, stopParsingAtElement);
+ }
if (cond.bad())
{
OFLOG_ERROR(dcmdumpLogger, OFFIS_CONSOLE_APPLICATION << ": " << cond.text()
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
#include "dcmtk/ofstd/ofstd.h"
#include "dcmtk/ofstd/ofconapp.h"
/* read binary file into the buffer */
if (fread(buf, 1, len, f) != len)
{
- char errBuf[256];
OFLOG_ERROR(dump2dcmLogger, "error reading binary data file: " << filename
- << ": " << OFStandard::strerror(errno, errBuf, sizeof(errBuf)));
+ << ": " << OFStandard::getLastSystemErrorCode().message());
ec = EC_CorruptedData;
}
else if (evr == EVR_OW)
else if (newTagVR == EVR_pixelItem)
newElement = new DcmPixelItem(DCM_PixelItemTag);
else
- newElementError = DcmItem::newDicomElement(newElement, tag);
+ newElementError = DcmItem::newDicomElementWithVR(newElement, tag);
if (newElementError == EC_Normal)
{
int main(int argc, char *argv[])
{
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION , "Convert ASCII dump to DICOM file", rcsid);
OFCommandLine cmd;
/*
*
- * Copyright (C) 2005-2014, OFFIS e.V.
+ * Copyright (C) 2005-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
BEGIN_EXTERN_C
#ifdef HAVE_FCNTL_H
#include <fcntl.h> /* for O_RDONLY */
int main(int argc, char *argv[])
{
-
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
const char *opt_ifname = NULL;
const char *opt_ofname = NULL;
if (dcmEVR != EVR_UNKNOWN)
dcmTag.setVR(dcmVR);
/* create DICOM element */
- result = DcmItem::newDicomElement(newElem, dcmTag);
+ result = DcmItem::newDicomElementWithVR(newElem, dcmTag);
} else {
OFLOG_WARN(xml2dcmLogger, "invalid 'tag' attribute (" << elemTag << "), ignoring node");
result = EC_InvalidTag;
/* read binary file into the buffer */
if (fread(buf, 1, OFstatic_cast(size_t, fileSize), f) != fileSize)
{
- char errBuf[256];
- const char *text = OFStandard::strerror(errno, errBuf, sizeof(errBuf));
- if (text == NULL) text = "(unknown error code)";
- OFLOG_ERROR(xml2dcmLogger, "error reading binary data file: " << filename << ": " << text);
+ OFLOG_ERROR(xml2dcmLogger, "error reading binary data file: " << filename << ": " << OFStandard::getLastSystemErrorCode().message());
result = EC_CorruptedData;
}
else if (dcmEVR == EVR_OW)
# declare installation files
-INSTALL(FILES dicom.dic acrnema.dic private.dic diconde.dic dcm2xml.dtd dumppat.txt SC.dump VLP.dump DESTINATION ${DCMTK_INSTALL_DATDIR} COMPONENT data)
+INSTALL(FILES dicom.dic acrnema.dic private.dic diconde.dic dcm2xml.dtd dumppat.txt SC.dump VLP.dump DESTINATION "${DCMTK_INSTALL_DATDIR}" COMPONENT data)
+
+# add paths to the dictionaries to a CMake variable for being used by the unit tests
+SET(DCMTK_DICOM_DICTIONARIES
+ "${CMAKE_CURRENT_SOURCE_DIR}/dicom.dic"
+ "${CMAKE_CURRENT_SOURCE_DIR}/private.dic"
+ CACHE INTERNAL "paths to the DICOM data dictionaries"
+)
# DICONDE (Digital Imaging and Communication in Nondestructive Evaluation) and
# DICOS (Digital Imaging and Communications in Security) standard.
#
-# Generated automatically from DICOM PS 3.6-2016e and PS 3.7-2016e
-# File created on 2016-11-23 13:16:19 by J. Riesmeier on thinkpad.
-# File updated manually on 2017-01-31 by J. Riesmeier.
+# Generated automatically from DICOM PS 3.6-2017b and PS 3.7-2017b
+# File created on 2017-06-15 10:31:09 by J. Riesmeier on thinkpad.
#
# In addition, the data dictionary entries from the following final text
# supplements and correction items (CP) have been incorporated:
-# - CP 1619
+# - (none)
#
# Each line represents an entry in the data dictionary. Each line has 5 fields
# (Tag, VR, Name, VM, Version). Entries need not be in ascending tag order.
#
# Comments have a '#' at the beginning of the line.
#
-# Tag VR Name VM Version
+# Tag VR Name VM Version
#
(0000,0000) UL CommandGroupLength 1 DICOM
(0000,0002) UI AffectedSOPClassUID 1 DICOM
(0010,0217) LO StrainSource 1 DICOM
(0010,0218) UT StrainAdditionalInformation 1 DICOM
(0010,0219) SQ StrainCodeSequence 1 DICOM
-(0010,1000) LO OtherPatientIDs 1-n DICOM
+(0010,0221) SQ GeneticModificationsSequence 1 DICOM
+(0010,0222) UC GeneticModificationsDescription 1 DICOM
+(0010,0223) LO GeneticModificationsNomenclature 1 DICOM
+(0010,0229) SQ GeneticModificationsCodeSequence 1 DICOM
(0010,1001) PN OtherPatientNames 1-n DICOM
(0010,1002) SQ OtherPatientIDsSequence 1 DICOM
(0010,1005) PN PatientBirthName 1 DICOM
(0010,1060) PN PatientMotherBirthName 1 DICOM
(0010,1080) LO MilitaryRank 1 DICOM
(0010,1081) LO BranchOfService 1 DICOM
-(0010,1090) LO MedicalRecordLocator 1 DICOM
(0010,1100) SQ ReferencedPatientPhotoSequence 1 DICOM
(0010,2000) LO MedicalAlerts 1-n DICOM
(0010,2110) LO Allergies 1-n DICOM
(0022,1529) FL YCoordinatesCenterPixelViewAngle 1 DICOM
(0022,1530) UL NumberOfMapPoints 1 DICOM
(0022,1531) OF TwoDimensionalToThreeDimensionalMapData 1 DICOM
+(0022,1612) SQ DerivationAlgorithmSequence 1 DICOM
+(0022,1615) SQ OphthalmicImageTypeCodeSequence 1 DICOM
+(0022,1616) LO OphthalmicImageTypeDescription 1 DICOM
+(0022,1618) SQ ScanPatternTypeCodeSequence 1 DICOM
+(0022,1620) SQ ReferencedSurfaceMeshIdentificationSequence 1 DICOM
+(0022,1622) CS OphthalmicVolumetricPropertiesFlag 1 DICOM
+(0022,1624) FL OphthalmicAnatomicReferencePointXCoordinate 1 DICOM
+(0022,1626) FL OphthalmicAnatomicReferencePointYCoordinate 1 DICOM
+(0022,1628) SQ OphthalmicEnFaceImageQualityRatingSequence 1 DICOM
+(0022,1630) DS QualityThreshold 1 DICOM
+(0022,1640) SQ OCTBscanAnalysisAcquisitionParametersSequence 1 DICOM
+(0022,1642) UL NumberofBscansPerFrame 1 DICOM
+(0022,1643) FL BscanSlabThickness 1 DICOM
+(0022,1644) FL DistanceBetweenBscanSlabs 1 DICOM
+(0022,1645) FL BscanCycleTime 1 DICOM
+(0022,1646) FL BscanCycleTimeVector 1-n DICOM
+(0022,1649) FL AscanRate 1 DICOM
+(0022,1650) FL BscanRate 1 DICOM
+(0022,1658) UL SurfaceMeshZPixelOffset 1 DICOM
(0024,0010) FL VisualFieldHorizontalExtent 1 DICOM
(0024,0011) FL VisualFieldVerticalExtent 1 DICOM
(0024,0012) CS VisualFieldShape 1 DICOM
(0040,4073) UR StorageURL 1 DICOM
(0040,4074) SQ XDSStorageSequence 1 DICOM
(0040,8302) DS EntranceDoseInmGy 1 DICOM
+(0040,8303) CS EntranceDoseDerivation 1 DICOM
(0040,9092) SQ ParametricMapFrameTypeSequence 1 DICOM
(0040,9094) SQ ReferencedImageRealWorldValueMappingSequence 1 DICOM
(0040,9096) SQ RealWorldValueMappingSequence 1 DICOM
(0068,62D0) US HPGLDocumentID 1 DICOM
(0068,62D5) LO HPGLDocumentLabel 1 DICOM
(0068,62E0) SQ ViewOrientationCodeSequence 1 DICOM
-(0068,62F0) FD ViewOrientationModifier 9 DICOM
+(0068,62F0) SQ ViewOrientationModifierCodeSequence 1 DICOM
(0068,62F2) FD HPGLDocumentScaling 1 DICOM
(0068,6300) OB HPGLDocument 1 DICOM
(0068,6310) US HPGLContourPenNumber 1 DICOM
(0070,1203) US InputSequencePositionIndex 1 DICOM
(0070,1204) CS Crop 1 DICOM
(0070,1205) US CroppingSpecificationIndex 1-n DICOM
-(0070,1206) CS CompositingMethod 1 DICOM
(0070,1207) US VolumetricPresentationInputNumber 1 DICOM
(0070,1208) CS ImageVolumeGeometry 1 DICOM
+(0070,1209) UI VolumetricPresentationInputSetUID 1 DICOM
+(0070,120A) SQ VolumetricPresentationInputSetSequence 1 DICOM
+(0070,120B) CS GlobalCrop 1 DICOM
+(0070,120C) US GlobalCroppingSpecificationIndex 1-n DICOM
+(0070,120D) CS RenderingMethod 1 DICOM
(0070,1301) SQ VolumeCroppingSequence 1 DICOM
(0070,1302) CS VolumeCroppingMethod 1 DICOM
(0070,1303) FD BoundingBoxCrop 6 DICOM
(0070,150D) OD VolumetricCurvePoints 1 DICOM
(0070,1511) FD MPRViewHeightDirection 3 DICOM
(0070,1512) FD MPRViewHeight 1 DICOM
+(0070,1602) CS RenderProjection 1 DICOM
+(0070,1603) FD ViewpointPosition 3 DICOM
+(0070,1604) FD ViewpointLookAtPoint 3 DICOM
+(0070,1605) FD ViewpointUpDirection 3 DICOM
+(0070,1606) FD RenderFieldOfView 6 DICOM
+(0070,1607) FD SamplingStepSize 1 DICOM
+(0070,1701) CS ShadingStyle 1 DICOM
+(0070,1702) FD AmbientReflectionIntensity 1 DICOM
+(0070,1703) FD LightDirection 3 DICOM
+(0070,1704) FD DiffuseReflectionIntensity 1 DICOM
+(0070,1705) FD SpecularReflectionIntensity 1 DICOM
+(0070,1706) FD Shininess 1 DICOM
(0070,1801) SQ PresentationStateClassificationComponentSequence 1 DICOM
(0070,1802) CS ComponentType 1 DICOM
(0070,1803) SQ ComponentInputSequence 1 DICOM
(0070,1A03) FD RecommendedAnimationRate 1 DICOM
(0070,1A04) SQ AnimationCurveSequence 1 DICOM
(0070,1A05) FD AnimationStepSize 1 DICOM
+(0070,1A06) FD SwivelRange 1 DICOM
+(0070,1A07) OD VolumetricCurveUpDirections 1 DICOM
+(0070,1A08) SQ VolumeStreamSequence 1 DICOM
+(0070,1A09) LO RGBATransferFunctionDescription 1 DICOM
+(0070,1B01) SQ AdvancedBlendingSequence 1 DICOM
+(0070,1B02) US BlendingInputNumber 1 DICOM
+(0070,1B03) SQ BlendingDisplayInputSequence 1 DICOM
+(0070,1B04) SQ BlendingDisplaySequence 1 DICOM
+(0070,1B06) CS BlendingMode 1 DICOM
+(0070,1B07) CS TimeSeriesBlending 1 DICOM
+(0070,1B08) CS GeometryForDisplay 1 DICOM
+(0070,1B11) SQ ThresholdSequence 1 DICOM
+(0070,1B12) SQ ThresholdValueSequence 1 DICOM
+(0070,1B13) CS ThresholdType 1 DICOM
+(0070,1B14) FD ThresholdValue 1 DICOM
(0072,0002) SH HangingProtocolName 1 DICOM
(0072,0004) LO HangingProtocolDescription 1 DICOM
(0072,0006) CS HangingProtocolLevel 1 DICOM
(0076,0020) SQ ProcedureTypeCodeSequence 1 DICOM
(0076,0030) LO SurgicalTechnique 1 DICOM
(0076,0032) SQ ComponentTypesSequence 1 DICOM
-(0076,0034) CS ComponentTypeCodeSequence 1 DICOM
+(0076,0034) SQ ComponentTypeCodeSequence 1 DICOM
(0076,0036) CS ExclusiveComponentType 1 DICOM
(0076,0038) CS MandatoryComponentType 1 DICOM
(0076,0040) SQ ComponentSequence 1 DICOM
(300A,007B) LT FractionPattern 1 DICOM
(300A,0080) IS NumberOfBeams 1 DICOM
(300A,0082) DS BeamDoseSpecificationPoint 3 DICOM
+(300A,0083) UI ReferencedDoseReferenceUID 1 DICOM
(300A,0084) DS BeamDose 1 DICOM
(300A,0086) DS BeamMeterset 1 DICOM
(300A,008B) CS BeamDoseMeaning 1 DICOM
(0008,225A) SQ RETIRED_AnatomicStructureSpaceOrRegionModifierCodeSequenceTrial 1 DICOM/retired
(0008,225C) SQ RETIRED_OnAxisBackgroundAnatomicStructureCodeSequenceTrial 1 DICOM/retired
(0008,4000) LT RETIRED_IdentifyingComments 1 DICOM/retired
+(0010,1000) LO RETIRED_OtherPatientIDs 1-n DICOM/retired
(0010,1050) LO RETIRED_InsurancePlanIdentification 1-n DICOM/retired
+(0010,1090) LO RETIRED_MedicalRecordLocator 1 DICOM/retired
(0014,0023) ST RETIRED_CADFileFormat 1 DICOM/retired
(0014,0024) ST RETIRED_ComponentReferenceSystem 1 DICOM/retired
(0014,0045) ST RETIRED_MaterialPropertiesFileFormatRetired 1 DICOM/retired
(0070,0050) US RETIRED_DisplayedAreaTopLeftHandCornerTrial 2 DICOM/retired
(0070,0051) US RETIRED_DisplayedAreaBottomRightHandCornerTrial 2 DICOM/retired
(0070,0067) US RETIRED_GraphicLayerRecommendedDisplayRGBValue 3 DICOM/retired
+(0070,1206) CS RETIRED_CompositingMethod 1 DICOM/retired
(0074,1024) IS RETIRED_BeamOrderIndexTrial 1 DICOM/retired
(0074,1038) DS RETIRED_DoubleExposureMetersetTrial 1 DICOM/retired
(0074,103A) DS RETIRED_DoubleExposureFieldDeltaTrial 4 DICOM/retired
#
#---------------------------------------------------------------------------
#
-# Correction Item 1619
-#
-(0010,0221) SQ GeneticModificationsSequence 1 DICOM/CP_1619
-(0010,0222) UC GeneticModificationsDescription 1 DICOM/CP_1619
-(0010,0223) LO GeneticModificationsNomenclature 1 DICOM/CP_1619
-(0010,0229) SQ GeneticModificationsCodeSequence 1 DICOM/CP_1619
-#
-#---------------------------------------------------------------------------
-#
# Private Creator Data Elements
#
(0009-o-FFFF,0000) UL PrivateGroupLength 1 PRIVATE
# declare installation files
-INSTALL(FILES datadict.txt DESTINATION ${DCMTK_INSTALL_DOCDIR} COMPONENT doc)
+INSTALL(FILES datadict.txt DESTINATION "${DCMTK_INSTALL_DOCDIR}" COMPONENT doc)
\page dcm2json dcm2json: Convert DICOM file and data set to JSON
\endif
-\section synopsis SYNOPSIS
+\section dcm2json_synopsis SYNOPSIS
\verbatim
dcm2json [options] dcmfile-in [jsonfile-out]
\endverbatim
-\section description DESCRIPTION
+\section dcm2json_description DESCRIPTION
The \b dcm2json utility converts the contents of a DICOM file (file format or
raw data set) to JSON (JavaScript Object Notation). The output refers to the
the \e -f and <em>-t[ieb]</em> options to force \b dcm2json to read a data set
with a particular transfer syntax.
-\section parameters PARAMETERS
+\section dcm2json_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
jsonfile-out JSON output filename (default: stdout)
\endverbatim
-\section options OPTIONS
+\section dcm2json_options OPTIONS
-\subsection general_options general options
+\subsection dcm2json_general_options general options
\verbatim
-
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcm2json_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection output_options output options
+\subsection dcm2json_output_options output options
\verbatim
output format:
+fc --formatted-code
- output file with human readable formatting (default)
+ enable whitespace formatting (default)
+
+ # prints additional spaces and newlines for increased
+ # readability
-fc --compact-code
- output without formatting (single line of code)
+ print only required characters
+m --write-meta
write data set with meta information
+ (warning: not conforming to the DICOM standard)
\endverbatim
-\section json_format JSON Format
+\section dcm2json_json_format JSON Format
The basic structure of the JSON output created from a DICOM file looks like
the following (see DICOM Part 18 Section F for details):
"00080005": {
"vr": "CS",
"Value": [
- "ISO_IR192"
+ "ISO_IR 192"
]
},
"00080020": {
}
\endverbatim
-\subsection bulk_data Bulk Data
+\subsection dcm2json_bulk_data Bulk Data
Binary data, i.e. DICOM element values with Value Representations (VR) of OB
or OW, as well as OD, OF and UN values are by default not written to the JSON
BulkDataURI JSON element. So far, there is no possibility to write an
additional file to hold the binary data for each of the binary data chunks.
-\section notes NOTES
-
-\subsection character_encoding Character Encoding
+\section dcm2json_notes NOTES
-The JSON encoding is determined automatically from the DICOM attribute
-(0008,0005) "Specific Character Set" using the following mapping:
+\subsection dcm2json_character_encoding Character Encoding
-\verbatim
-ISO Latin 1 "ISO_IR 100" => "UTF-8"
-ISO Latin 2 "ISO_IR 101" => "UTF-8"
-ISO Latin 3 "ISO_IR 109" => "UTF-8"
-ISO Latin 4 "ISO_IR 110" => "UTF-8"
-ISO Latin 5 "ISO_IR 148" => "UTF-8"
-Cyrillic "ISO_IR 144" => "UTF-8"
-Arabic "ISO_IR 127" => "UTF-8"
-Greek "ISO_IR 126" => "UTF-8"
-Hebrew "ISO_IR 138" => "UTF-8"
-\endverbatim
+\b dcm2json always tries to output in UTF-8 encoding. If this is not possible,
+e.g. because there is no support for character set conversion, ASCII is used
+instead (which is a subset of UTF-8).
-\section logging LOGGING
+\section dcm2json_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcm2json_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcm2json_environment ENVIRONMENT
The \b dcm2json utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section copyright COPYRIGHT
+\section dcm2json_copyright COPYRIGHT
Copyright (C) 2016-2017 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcm2pdf dcm2pdf: Extract PDF file from DICOM encapsulated PDF
\endif
-\section synopsis SYNOPSIS
+\section dcm2pdf_synopsis SYNOPSIS
\verbatim
dcm2pdf [options] dcmfile-in pdffile-out
\endverbatim
-\section description DESCRIPTION
+\section dcm2pdf_description DESCRIPTION
The \b dcm2pdf utility reads a DICOM file of the Encapsulated PDF Storage SOP
Class (\e dcmfile-in), extracts the embedded PDF document and writes it to an
output file (\e pdffile-out). Optionally a command can be executed after the
creation of the PDF file.
-\section parameters PARAMETERS
+\section dcm2pdf_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename
pdffile-out PDF output filename
\endverbatim
-\section options OPTIONS
+\section dcm2pdf_options OPTIONS
-\subsection general_options general options
+\subsection dcm2pdf_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcm2pdf_input_options input options
\verbatim
input file format:
expect deflated zlib bitstream
\endverbatim
-\subsection execution_options execution options
+\subsection dcm2pdf_execution_options execution options
\verbatim
-x --exec [c]ommand: string
execute command c after PDF extraction
\endverbatim
-\section notes NOTES
+\section dcm2pdf_notes NOTES
Option \e --exec allows for the execution of a certain command line after the
creation of the PDF document. The command line to be executed is passed to
The specified command line is executed in the foreground, i.e. \b pdf2dcm will
be blocked until the command terminates.
-\section logging LOGGING
+\section dcm2pdf_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcm2pdf_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcm2pdf_environment ENVIRONMENT
The \b dcm2pdf utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dcm2pdf_see_also SEE ALSO
<b>pdf2dcm</b>(1)
-\section copyright COPYRIGHT
+\section dcm2pdf_copyright COPYRIGHT
Copyright (C) 2007-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcm2xml dcm2xml: Convert DICOM file and data set to XML
\endif
-\section synopsis SYNOPSIS
+\section dcm2xml_synopsis SYNOPSIS
\verbatim
dcm2xml [options] dcmfile-in [xmlfile-out]
\endverbatim
-\section description DESCRIPTION
+\section dcm2xml_description DESCRIPTION
The \b dcm2xml utility converts the contents of a DICOM file (file format or
raw data set) to XML (Extensible Markup Language). There are two output
the \e -f and <em>-t[ieb]</em> options to force \b dcm2xml to read a data set
with a particular transfer syntax.
-\section parameters PARAMETERS
+\section dcm2xml_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
xmlfile-out XML output filename (default: stdout)
\endverbatim
-\section options OPTIONS
+\section dcm2xml_options OPTIONS
-\subsection general_options general options
+\subsection dcm2xml_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcm2xml_input_options input options
\verbatim
input file format:
set threshold for long values to k kbytes
\endverbatim
-\subsection processing_options processing options
+\subsection dcm2xml_processing_options processing options
\verbatim
specific character set:
# (see output of --version on which one is available)
\endverbatim
-\subsection output_options output options
+\subsection dcm2xml_output_options output options
\verbatim
general XML format:
encode binary data as Base64 (RFC 2045, MIME)
\endverbatim
-\section dcmtk_format DCMTK Format
+\section dcm2xml_dcmtk_format DCMTK Format
The basic structure of the DCMTK-specific XML output created from a DICOM file
looks like the following:
The "file-format" and "meta-header" tags are absent for DICOM data sets.
-\subsection xml_encoding XML Encoding
+\subsection dcm2xml_xml_encoding XML Encoding
Attributes with very large value fields (e.g. pixel data) are not loaded by
default. They can be identified by the additional attribute "loaded" with a
attribute is missing in "sequence" or "item" start tags, the corresponding
DICOM element has been stored with undefined length.
-\section native_format Native DICOM Model Format
+\section dcm2xml_native_format Native DICOM Model Format
The description of the Native DICOM Model format can be found in the DICOM
standard, part 19 ("Application Hosting").
-\subsection bulk_data Bulk Data
+\subsection dcm2xml_bulk_data Bulk Data
Binary data, i.e. DICOM element values with Value Representations (VR) of OB
or OW, as well as OD, OF and UN values are by default not written to the XML
\e --encode-base64 enables this encoding for the following VRs: OB, OD, OF, OW,
and UN.
-\subsection known_issues Known Issues
+\subsection dcm2xml_known_issues Known Issues
In addition to what is written in the above section on "Bulk Data", there are
further known issues with the current implementation of the Native DICOM Model
e.g. for very long text elements (especially UT) or very long numeric fields
(of various VRs).
-\section notes NOTES
+\section dcm2xml_notes NOTES
-\subsection character_encoding Character Encoding
+\subsection dcm2xml_character_encoding Character Encoding
The XML encoding is determined automatically from the DICOM attribute
(0008,0005) "Specific Character Set" using the following mapping:
useful for DICOMDIR files where each directory record can have a different
character set.
-\section logging LOGGING
+\section dcm2xml_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcm2xml_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcm2xml_environment ENVIRONMENT
The \b dcm2xml utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcm2xml_files FILES
<em>\<datadir\>/dcm2xml.dtd</em> - Document Type Definition (DTD) file
-\section see_also SEE ALSO
+\section dcm2xml_see_also SEE ALSO
<b>xml2dcm</b>(1), <b>dcmconv</b>(1)
-\section copyright COPYRIGHT
+\section dcm2xml_copyright COPYRIGHT
Copyright (C) 2002-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmconv dcmconv: Convert DICOM file encoding
\endif
-\section synopsis SYNOPSIS
+\section dcmconv_synopsis SYNOPSIS
\verbatim
dcmconv [options] dcmfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section dcmconv_description DESCRIPTION
The \b dcmconv utility reads a DICOM file (\e dcmfile-in), performs an encoding
conversion and writes the converted data to an output file (\e dcmfile-out).
-\section parameters PARAMETERS
+\section dcmconv_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
dcmfile-out DICOM output filename to write to
\endverbatim
-\section options OPTIONS
+\section dcmconv_options OPTIONS
-\subsection general_options general options
+\subsection dcmconv_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmconv_input_options input options
\verbatim
input file format:
expect deflated zlib bitstream
\endverbatim
-\subsection processing_options processing options
+\subsection dcmconv_processing_options processing options
\verbatim
specific character set:
remove elements with invalid group number
\endverbatim
-\subsection output_options output options
+\subsection dcmconv_output_options output options
\verbatim
output file format:
+td --write-xfer-deflated
write with deflated explicit VR little endian TS
+ +tg --write-xfer-ge
+ write private GE implicit VR little endian
+ with big endian pixel data TS (non-standard)
+
post-1993 value representations:
+u --enable-new-vr
0=uncompressed, 1=fastest, 9=best compression
\endverbatim
-\section logging LOGGING
+\section dcmconv_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmconv_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmconv_environment ENVIRONMENT
The \b dcmconv utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dcmconv_see_also SEE ALSO
<b>dcmdump</b>(1)
-\section copyright COPYRIGHT
+\section dcmconv_copyright COPYRIGHT
Copyright (C) 1994-2017 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmcrle dcmcrle: Encode DICOM file to RLE transfer syntax
\endif
-\section synopsis SYNOPSIS
+\section dcmcrle_synopsis SYNOPSIS
\verbatim
dcmcrle [options] dcmfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section dcmcrle_description DESCRIPTION
The \b dcmcrle utility reads an uncompressed DICOM image (\e dcmfile-in),
performs RLE compression (i.e. conversion to an encapsulated DICOM transfer
syntax) and writes the converted image to an output file (\e dcmfile-out).
-\section parameters PARAMETERS
+\section dcmcrle_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
dcmfile-out DICOM output filename
\endverbatim
-\section options OPTIONS
+\section dcmcrle_options OPTIONS
-\subsection general_options general options
+\subsection dcmcrle_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmcrle_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection enc_pix_data_encoding_opt encapsulated pixel data encoding options
+\subsection dcmcrle_enc_pix_data_encoding_opt encapsulated pixel data encoding options
\verbatim
pixel data fragmentation:
always assign new UID
\endverbatim
-\subsection output_options output options
+\subsection dcmcrle_output_options output options
\verbatim
post-1993 value representations:
and items on multiple of i bytes
\endverbatim
-\section notes NOTES
+\section dcmcrle_notes NOTES
Please note that the DICOM standard does not allow for storing the pixel data
with multiple fragments per frame (when RLE compression is used). So limiting
the fragment size with option \e --fragment-size (or \e +fs) may result in a
non-standard conformant DICOM image.
-\section transfer_syntaxes TRANSFER SYNTAXES
+\section dcmcrle_transfer_syntaxes TRANSFER SYNTAXES
\b dcmcrle supports the following transfer syntaxes for input
(\e dcmfile-in):
RLELosslessTransferSyntax 1.2.840.10008.1.2.5
\endverbatim
-\section logging LOGGING
+\section dcmcrle_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmcrle_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmcrle_environment ENVIRONMENT
The \b dcmcrle utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dcmcrle_see_also SEE ALSO
<b>dcmdrle</b>(1)
-\section copyright COPYRIGHT
+\section dcmcrle_copyright COPYRIGHT
Copyright (C) 2002-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\section Tools
This module contains the following command line tools:
+\li \ref dcm2json
\li \ref dcm2pdf
\li \ref dcm2xml
\li \ref dcmconv
\li \ref img2dcm
\li \ref pdf2dcm
\li \ref xml2dcm
-\li \ref dcm2json
\section Files
\page dcmdrle dcmdrle: Decode RLE-compressed DICOM file
\endif
-\section synopsis SYNOPSIS
+\section dcmdrle_synopsis SYNOPSIS
\verbatim
dcmdrle [options] dcmfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section dcmdrle_description DESCRIPTION
The \b dcmdrle utility reads a RLE-compressed DICOM image (\e dcmfile-in),
decompresses the image data (i.e. conversion to a native DICOM transfer syntax)
and writes the converted image to an output file (\e dcmfile-out).
-\section parameters PARAMETERS
+\section dcmdrle_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
dcmfile-out DICOM output filename
\endverbatim
-\section options OPTIONS
+\section dcmdrle_options OPTIONS
-\subsection general_options general options
+\subsection dcmdrle_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmdrle_input_options input options
\verbatim
input file format:
# but unfortunately it does.
\endverbatim
-\subsection processing_options processing options
+\subsection dcmdrle_processing_options processing options
\verbatim
SOP Instance UID:
# images with more than one byte per sample.
\endverbatim
-\subsection output_options output options
+\subsection dcmdrle_output_options output options
\verbatim
output file format:
and items on multiple of i bytes
\endverbatim
-\section transfer_syntaxes TRANSFER SYNTAXES
+\section dcmdrle_transfer_syntaxes TRANSFER SYNTAXES
\b dcmdrle supports the following transfer syntaxes for input
(\e dcmfile-in):
BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
\endverbatim
-\section logging LOGGING
+\section dcmdrle_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmdrle_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmdrle_environment ENVIRONMENT
The \b dcmdrle utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dcmdrle_see_also SEE ALSO
<b>dcmcrle</b>(1)
-\section copyright COPYRIGHT
+\section dcmdrle_copyright COPYRIGHT
Copyright (C) 2002-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany
\page dcmdump dcmdump: Dump DICOM file and data set
\endif
-\section synopsis SYNOPSIS
+\section dcmdump_synopsis SYNOPSIS
\verbatim
dcmdump [options] dcmfile-in...
\endverbatim
-\section description DESCRIPTION
+\section dcmdump_description DESCRIPTION
The \b dcmdump utility dumps the contents of a DICOM file (file format or raw
data set) to stdout in textual form. Attributes with very large value fields
the \e -f and <em>-t[ieb]</em> options to force \b dcmdump to read a dataset
with a particular transfer syntax.
-\section parameters PARAMETERS
+\section dcmdump_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input file or directory to be dumped
\endverbatim
-\section options OPTIONS
+\section dcmdump_options OPTIONS
-\subsection general_options general options
+\subsection dcmdump_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmdump_input_options input options
\verbatim
input file format:
+st --stop-after-elem [t]ag: "gggg,eeee" or dictionary name
stop parsing after element specified by t
+ +sb --stop-before-elem [t]ag: "gggg,eeee" or dictionary name
+ stop parsing before element specified by t
+
+ # only considers elements on main dataset level and also
+ # works if the given tag is not present in the file
+
automatic data correction:
+dc --enable-correction
expect deflated zlib bitstream
\endverbatim
-\subsection processing_options processing options
+\subsection dcmdump_processing_options processing options
\verbatim
specific character set:
# (see output of --version on which one is available)
\endverbatim
-\subsection output_options output options
+\subsection dcmdump_output_options output options
\verbatim
printing:
(little endian, filename created automatically)
\endverbatim
-\section notes NOTES
+\section dcmdump_notes NOTES
Adding directories as a parameter to the command line only makes sense if
option \e --scan-directories is also given. If the files in the provided
outside the \e --scan-pattern option (e.g. in order to select further
files), these do not apply to the specified directories.
-\section logging LOGGING
+\section dcmdump_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmdump_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmdump_environment ENVIRONMENT
The \b dcmdump utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dcmdump_see_also SEE ALSO
<b>dump2dcm</b>(1), <b>dcmconv</b>(1)
-\section copyright COPYRIGHT
+\section dcmdump_copyright COPYRIGHT
Copyright (C) 1994-2017 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmftest dcmftest: Test if file uses DICOM part 10 format
\endif
-\section synopsis SYNOPSIS
+\section dcmftest_synopsis SYNOPSIS
\verbatim
dcmftest file...
\endverbatim
-\section description DESCRIPTION
+\section dcmftest_description DESCRIPTION
The \b dcmftest utility checks whether the files specified on the command line
are DICOM files in part 10 format (with meta-header).
-\section parameters PARAMETERS
+\section dcmftest_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be dumped
\endverbatim
-\section notes NOTES
+\section dcmftest_notes NOTES
All files specified on the command line are checked for the presence of the
DICOM "magic word" 'DICM' at byte position 128. No attempt is made to parse
i.e. if all files pass as DICOM files, the return value is 0. This behavior
is intended for use in shell script programming.
-\section see_also SEE ALSO
+\section dcmftest_see_also SEE ALSO
<b>dcmgpdir</b>(1), <b>dcmmkdir</b>(1)
-\section copyright COPYRIGHT
+\section dcmftest_copyright COPYRIGHT
Copyright (C) 1997-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
-*/
\ No newline at end of file
+*/
\page dcmgpdir dcmgpdir: Create a general purpose DICOMDIR
\endif
-\section synopsis SYNOPSIS
+\section dcmgpdir_synopsis SYNOPSIS
\verbatim
dcmgpdir [options] [dcmfile-in...]
\endverbatim
-\section description DESCRIPTION
+\section dcmgpdir_description DESCRIPTION
The \b dcmgpdir utility creates a \e DICOMDIR file from the specified
referenced DICOM files according to the DICOM Part 11 Media Storage
Media Storage Application Profiles than the general purpose one (e.g. the
cardio profiles require the use of icon images).
-\section parameters PARAMETERS
+\section dcmgpdir_parameters PARAMETERS
\verbatim
dcmfile-in referenced DICOM file (or directory to be scanned)
\endverbatim
-\section options OPTIONS
+\section dcmgpdir_options OPTIONS
-\subsection general_options general options
+\subsection dcmgpdir_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmgpdir_input_options input options
\verbatim
DICOMDIR identifiers:
# possibly not available on all systems
\endverbatim
-\subsection processing_options processing options
+\subsection dcmgpdir_processing_options processing options
\verbatim
consistency check:
(just warn)
\endverbatim
-\subsection output_options output options
+\subsection dcmgpdir_output_options output options
\verbatim
DICOMDIR file:
write with undefined lengths
\endverbatim
-\section notes NOTES
+\section dcmgpdir_notes NOTES
All files specified on the command line (or discovered by recursively examining
the contents of directories with the \e +r option) are first evaluated for
entries. However, it makes sure that additional information that is required
for the selected application profile is also added to existing records.
-\subsection scanning_directories Scanning Directories
+\subsection dcmgpdir_scanning_directories Scanning Directories
Adding files from directories is possible by using option \e --recurse. If no
further command line parameters are given, the directory specified by option
\e --input-directory option (e.g. in order to select further files), these do
not apply to the specified directories.
-\section logging LOGGING
+\section dcmgpdir_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmgpdir_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmgpdir_environment ENVIRONMENT
The \b dcmgpdir utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dcmgpdir_see_also SEE ALSO
<b>dcmmkdir</b>(1)
-\section copyright COPYRIGHT
+\section dcmgpdir_copyright COPYRIGHT
Copyright (C) 1996-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmodify dcmodify: Modify DICOM files
\endif
-\section synopsis SYNOPSIS
+\section dcmodify_synopsis SYNOPSIS
\verbatim
dcmodify [options] dcmfile-in...
\endverbatim
-\section description DESCRIPTION
+\section dcmodify_description DESCRIPTION
\b dcmodify is a tool that allows one to modify, insert and delete tags and
items in DICOM files. Sequences and tags with a value multiplicity > 1 are
Please note that there are some issues concerning the modification of private
tags (see PRIVATE TAGS section) and for changing UIDs (CHANGING UIDs section).
-\section parameters PARAMETERS
+\section dcmodify_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename(s) to be modified
\endverbatim
-\section options OPTIONS
+\section dcmodify_options OPTIONS
-\subsection general_options general options
+\subsection dcmodify_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmodify_input_options input options
\verbatim
input file format:
expect deflated zlib bitstream
\endverbatim
-\subsection processing_options processing options
+\subsection dcmodify_processing_options processing options
\verbatim
backup input files:
having a VR of UN
\endverbatim
-\subsection output_options output options
+\subsection dcmodify_output_options output options
\verbatim
output file format:
multiple of i bytes
\endverbatim
-\section private_tags PRIVATE TAGS
+\section dcmodify_private_tags PRIVATE TAGS
There are some issues you have to consider when working with private tags.
However, the insertion or modification of a reservation tag (gggg,00xx) should
always work.
-\subsection private_insertions Insertions
+\subsection dcmodify_private_insertions Insertions
If you wish to insert a private tag (not a reservation with gggg,00xx), be
sure, that you've listed it in your dictionary (see
See description above how inserting values into elements with unknown VR
are handled.
-\subsection private_modifications Modifications
+\subsection dcmodify_private_modifications Modifications
If you modify a private tags value, \b dcmodify won't check its VR against the
dictionary. So please be careful to enter only values that match the tag's VR.
Also, see description above how inserting values into elements with unknown VR
are handled.
-\subsection private_deletions Deletions
+\subsection dcmodify_private_deletions Deletions
When you use \b dcmodify to delete a private reservation tag, please note that
\b dcmodify won't touch the private tags that are under this reservation. The
For the deletion of private non-reservation tags there are no special issues.
-\section changing_uids CHANGING UIDS
+\section dcmodify_changing_uids CHANGING UIDS
\b dcmodify will automatically correct 'Media Storage SOP Class UID' and
'Media Storage SOP Instance UID' in the metaheader, if you make changes to the
SOP Instance UID') is updated automatically. This behavior cannot be
disabled.
-\section creating_new_files CREATING NEW FILES
+\section dcmodify_creating_new_files CREATING NEW FILES
Option \e --create-file lets \b dcmodify create a file if it does not already
exist on disk. This can be used in order to create files from scratch by
is written and no file with zero byte length is created in a case where no
insertions are performed in the \b dcmodify call.
-\section element_values_from_file ELEMENT VALUES FROM FILE
+\section dcmodify_element_values_from_file ELEMENT VALUES FROM FILE
In order to read the element value from a file instead of specifying it on the
command line, option \e -mf and \e -if can be used. Please note that for OW
if necessary. The file size should always be an even number of bytes, i.e. no
automatic padding is performed.
-\section wildcards WILDCARDS
+\section dcmodify_wildcards WILDCARDS
\b dcmodify also permits the usage of a wildcard character "*" for item numbers
in path expressions, e.g. "ContentSequence[*].CodeValue" selects all "Code
DICOM element based on its tag do not accept any wildcards but only work on
single elements (i.e. a single dictionary name or tag key).
-\section examples EXAMPLES
+\section dcmodify_examples EXAMPLES
\verbatim
-i --insert:
\endverbatim
-\section error_handling ERROR HANDLING
+\section dcmodify_error_handling ERROR HANDLING
\b dcmodify tries executing each modify operation given on command line: If
one returns an error, the others are being performed anyway. However in case
that specific tags are not present in the file or that - if they exist - that
they are set to a specific value.
-\section logging LOGGING
+\section dcmodify_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmodify_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmodify_environment ENVIRONMENT
The \b dcmodify utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section copyright COPYRIGHT
+\section dcmodify_copyright COPYRIGHT
Copyright (C) 2003-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dump2dcm dump2dcm: Convert ASCII dump to DICOM file
\endif
-\section synopsis SYNOPSIS
+\section dump2dcm_synopsis SYNOPSIS
\verbatim
dump2dcm [options] dumpfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section dump2dcm_description DESCRIPTION
The \b dump2dcm utility converts an ASCII dump file to a DICOM file. The
dump file has the same format as the output of \b dcmdump. Thus it is possible
to capture the output of \b dcmdump into a file, modify some attributes and
create a new DICOM file.
-\section parameters PARAMETERS
+\section dump2dcm_parameters PARAMETERS
\verbatim
dumpfile-in dump input filename
dcmfile-out DICOM output filename
\endverbatim
-\section options OPTIONS
+\section dump2dcm_options OPTIONS
-\subsection general_options general options
+\subsection dump2dcm_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dump2dcm_input_options input options
\verbatim
input file format:
maximum line length m (default: 4096)
\endverbatim
-\subsection processing_options processing options
+\subsection dump2dcm_processing_options processing options
\verbatim
unique identifiers:
overwrite existing UIDs
\endverbatim
-\subsection output_options output options
+\subsection dump2dcm_output_options output options
\verbatim
output file format:
0=uncompressed, 1=fastest, 9=best compression
\endverbatim
-\section notes NOTES
+\section dump2dcm_notes NOTES
-\subsection notes_description Dump File Description
+\subsection dump2dcm_notes_description Dump File Description
The input file can be an output of \b dcmdump (default indented format only).
One element (tag, VR, value) must be written into one line separated by
not detected.
\endverbatim
-\subsection notes_example Example
+\subsection dump2dcm_notes_example Example
\verbatim
(0008,0020) DA [19921012] # 8, 1 StudyDate
(0002,0001) OB 01\\00
\endverbatim
-\subsection limitations Limitations
+\subsection dump2dcm_limitations Limitations
Please note that \b dump2dcm currently does not fully support DICOMDIR files.
Specifically, the value of the various offset data elements is not updated
automatically by this tool.
-\section logging LOGGING
+\section dump2dcm_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dump2dcm_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dump2dcm_environment ENVIRONMENT
The \b dump2dcm utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dump2dcm_see_also SEE ALSO
<b>dcmdump</b>(1)
-\section copyright COPYRIGHT
+\section dump2dcm_copyright COPYRIGHT
Copyright (C) 1996-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page img2dcm img2dcm: Convert standard image formats into DICOM format
\endif
-\section synopsis SYNOPSIS
+\section img2dcm_synopsis SYNOPSIS
\verbatim
img2dcm [options] imgfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section img2dcm_description DESCRIPTION
The \b img2dcm tool serves as a conversion tool from a standard image format
like JPEG or BMP to DICOM. Different output SOP Classes can be selected. The
missing DICOM type 1 and type 2 attributes to work even without any template
dataset.
-\section parameters PARAMETERS
+\section img2dcm_parameters PARAMETERS
\verbatim
imgfile-in image file to be imported
dcmfile-out DICOM output file
\endverbatim
-\section options OPTIONS
-\subsection general_options general options
+\section img2dcm_options OPTIONS
+\subsection img2dcm_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection img2dcm_input_options input options
\verbatim
general:
keep APPn sections (except JFIF)
\endverbatim
-\subsection processing_options processing options
+\subsection img2dcm_processing_options processing options
\verbatim
attribute checking:
add further attribute
\endverbatim
-\subsection output_options output options
+\subsection img2dcm_output_options output options
\verbatim
target SOP class:
and items on multiple of i bytes
\endverbatim
-\section notes NOTES
+\section img2dcm_notes NOTES
-\subsection attribute_sources Attribute Sources
+\subsection img2dcm_attribute_sources Attribute Sources
For converting a general image format into DICOM format, the \b img2dcm
application may be fed with some additional input for filling mandatory (and
notation has to be used. Details on this path notation can be found in the
documentation of \b dcmodify.
-\subsection uids UIDs
+\subsection img2dcm_uids UIDs
New Study and Series Instance UIDs are generated <b>if necessary</b> after
applying the \e --study-from and \e --series options. If Study Instance UID or
Instance UID should be inserted into the new object, the \e --key option should
be used.
-\subsection input_templates Input Templates
+\subsection img2dcm_input_templates Input Templates
For supporting the conversion into DICOM, \b img2dcm comes with some
pre-defined templates which can be used for the \e --dataset-from option (see
The SOP Class UID and the Pixel Data attributes (including attributes like
Rows, Columns etc.) are not copied but replaced by \b img2dcm during conversion.
-\subsection input_plugins Input Plugins
+\subsection img2dcm_input_plugins Input Plugins
The \b img2dcm application currently supports the JPEG and the BMP image format
as input.
-\subsubsection jpeg_input_plugin JPEG Input Plugin
+\subsubsection img2dcm_jpeg_input_plugin JPEG Input Plugin
For JPEG, the original JPEG from the source file is not decoded but extracted
and slightly transformed (e. g. JFIF header is cut off) to allow fast
information, because it is not necessary to scan the whole JPEG stream for
such data. JFIF information is \b always removed by \b img2dcm.
-\subsubsection bmp_input_plugin BMP Input Plugin
+\subsubsection img2dcm_bmp_input_plugin BMP Input Plugin
\b img2dcm supports BMP as input format. However, so far only the most common
BMP images are supported. In particular, BMP images which use bit fields or
will be converted into a DICOM image with RGB color model and a bit depth of 24.
There are no specific options for fine-tuning BMP format conversion.
-\subsection output_plugins Output Plugins
+\subsection img2dcm_output_plugins Output Plugins
The desired output SOP Class can be selected on the command line. Currently,
an export plugin for the Secondary Capture Image SOP class (default, option
fact whether the image is black/white or color. That is why \b img2dcm decides
during conversion, which output SOP class is suitable for a given source image.
-\section examples EXAMPLES
+\section img2dcm_examples EXAMPLES
Here are some examples that show how the \b img2dcm application can be used.
</ol>
-\section logging LOGGING
+\section img2dcm_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section img2dcm_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section img2dcm_environment ENVIRONMENT
The \b img2dcm utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section img2dcm_files FILES
<em>\<datadir\>/SC.dump</em> - Sample dump file for Secondary Capture images
\n<em>\<datadir\>/VLP.dump</em> - Sample dump file for Visible Light Photographic
images
-\section see_also SEE ALSO
+\section img2dcm_see_also SEE ALSO
<b>dcm2pnm</b>(1), <b>dcmj2pnm</b>(1), <b>dump2dcm</b>(1), <b>dcmconv</b>(1),
<b>dcmodify</b>(1)
-\section copyright COPYRIGHT
+\section img2dcm_copyright COPYRIGHT
Copyright (C) 2007-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page pdf2dcm pdf2dcm: Convert PDF file to DICOM
\endif
-\section synopsis SYNOPSIS
+\section pdf2dcm_synopsis SYNOPSIS
\verbatim
pdf2dcm [options] pdffile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section pdf2dcm_description DESCRIPTION
The \b pdf2dcm utility reads a PDF file (\e pdffile-in), converts it to a
DICOM Encapsulated PDF Storage SOP instance and stores the converted data
to an output file (\e dcmfile-out).
-\section parameters PARAMETERS
+\section pdf2dcm_parameters PARAMETERS
\verbatim
pdffile-in PDF input filename to be converted
dcmfile-out DICOM output filename
\endverbatim
-\section options OPTIONS
+\section pdf2dcm_options OPTIONS
-\subsection general_options general options
+\subsection pdf2dcm_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection dicom_document_options DICOM document options
+\subsection pdf2dcm_dicom_document_options DICOM document options
\verbatim
burned-in annotation:
use instance number i
\endverbatim
-\section logging LOGGING
+\section pdf2dcm_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section pdf2dcm_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section pdf2dcm_environment ENVIRONMENT
The \b pdf2dcm utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section pdf2dcm_see_also SEE ALSO
<b>dcm2pdf</b>(1)
-\section copyright COPYRIGHT
+\section pdf2dcm_copyright COPYRIGHT
Copyright (C) 2005-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page xml2dcm xml2dcm: Convert XML document to DICOM file or data set
\endif
-\section synopsis SYNOPSIS
+\section xml2dcm_synopsis SYNOPSIS
\verbatim
xml2dcm [options] xmlfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section xml2dcm_description DESCRIPTION
The \b xml2dcm utility converts the contents of an XML (Extensible Markup
Language) document to DICOM file or data set. The XML document is expected to
<em>dcm2xml.dtd</em>. An appropriate XML file can be created using the
\b dcm2xml tool (option \e +Wb recommended to include binary data).
-\section parameters PARAMETERS
+\section xml2dcm_parameters PARAMETERS
\verbatim
xmlfile-in XML input filename to be converted (stdin: "-")
dcmfile-out DICOM output filename
\endverbatim
-\section options OPTIONS
+\section xml2dcm_options OPTIONS
-\subsection general_options general options
+\subsection xml2dcm_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection xml2dcm_input_options input options
\verbatim
input file format:
ignore file meta information
\endverbatim
-\subsection processing_options processing options
+\subsection xml2dcm_processing_options processing options
\verbatim
validation:
overwrite existing UIDs
\endverbatim
-\subsection output_options output options
+\subsection xml2dcm_output_options output options
\verbatim
output file format:
0=uncompressed, 1=fastest, 9=best compression
\endverbatim
-\section notes NOTES
+\section xml2dcm_notes NOTES
The basic structure of the XML input expected looks like the following:
The "file-format" and "meta-header" tags may be absent for DICOM data sets.
-\subsection character_encoding Character Encoding
+\subsection xml2dcm_character_encoding Character Encoding
The DICOM character encoding is determined automatically from the element with
tag "0008,0005" (Specific Character Set) - if present. The following
See \b dcm2xml documentation for more details on the XML structure.
-\subsection binary_data Binary Data
+\subsection xml2dcm_binary_data Binary Data
Binary data can be encoded either as a sequence of hex numbers separated by a
backslash "\" or in Base64 format (binary="base64"). In addition, binary data
checks will be made to ensure that the amount of data is reasonable in terms
of other attributes such as Rows or Columns.
-\subsection compression Compression
+\subsection xml2dcm_compression Compression
If libxml is compiled with zlib support, the input file (\e xmlfile-in) can
also be compressed with ZIP, which usually results in much smaller files. See
output of option \e --version in order to check whether zlib support is
available.
-\subsection limitations Limitations
+\subsection xml2dcm_limitations Limitations
Different versions of libxml might have different limits for the maximum
length of an XML element value. Therefore, it should be avoided to use very
Specifically, the value of the various offset data elements is not updated
automatically by this tool.
-\section logging LOGGING
+\section xml2dcm_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section xml2dcm_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section xml2dcm_environment ENVIRONMENT
The \b xml2dcm utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section xml2dcm_files FILES
<em>\<datadir\>/dcm2xml.dtd</em> - Document Type Definition (DTD) file
-\section see_also SEE ALSO
+\section xml2dcm_see_also SEE ALSO
<b>dcm2xml</b>(1)
-\section copyright COPYRIGHT
+\section xml2dcm_copyright COPYRIGHT
Copyright (C) 2003-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmdata DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmdata DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
* object (if applicable).
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
- * -1 if either the value of the first component that does not match
- * is lower in this object than in rhs, or all compared components match
- * but this object has fewer components than rhs. Also returned if rhs
- * cannot be casted to this object type.
- * 1 if either the value of the first component that does not match
- * is greater in this object than in rhs object, or all compared
- * components match but the this component is longer.
+ * -1 if this element has fewer components than the rhs element.
+ * Also -1 if the value of the first component that does not match
+ * is lower in this object than in rhs. Also returned if rhs
+ * cannot be casted to this object type or both objects are of
+ * different VR (i.e. the DcmEVR returned by the element's ident()
+ * call are different).
+ * 1 if either this element has more components than the rhs element, or
+ * if the first component that does not match is greater in this object than
+ * in rhs object.
*/
virtual int compare(const DcmElement& rhs) const;
virtual OFCondition writeJson(STD_NAMESPACE ostream &out,
DcmJsonFormat &format);
+ /// @copydoc DcmElement::matches()
+ virtual OFBool matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
+ /** perform attribute matching on a single pair of string values.
+ * Compare two single string values using the attribute matching function appropriate for
+ * this element's VR (Universal Matching, Single Value Matching, Wild Card Matching or
+ * Range Matching).
+ * @note This method is called by the other overload of matches() for each combination of
+ * values in the key and candidate element (implementing multi value matching for
+ * elements with VM>1).
+ * @param key the key value to match against the candidate.
+ * @param candidate the candidate value to match the key against.
+ * @param enableWildCardMatching enable or disable wild card matching. Defaults to OFTrue,
+ * which means wild card matching is performed if the element's VR supports it. Set to
+ * OFFalse to force single value matching instead.
+ * @return OFTrue if the candidate string matches the key string, OFFalse otherwise.
+ */
+ virtual OFBool matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
protected:
/** constructor. Create new element from given tag and length.
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
virtual OFCondition writeJson(STD_NAMESPACE ostream &out,
DcmJsonFormat &format);
+ // ensure inherited overloads of matches take part in overload resolution
+ using DcmByteString::matches;
+
+ /// @copydoc DcmByteString::matches(OFString,OFString,OFBool)
+ virtual OFBool matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
protected:
/** get value of the SpecificCharacterSet element of the surrounding dataset/item
const E_GrpLenEncoding glenc = EGL_noChange,
const Uint32 maxReadLength = DCM_MaxReadLength);
+ /** This function reads the information of all attributes which
+ * are captured in the input stream and captures this information
+ * in this->elementList, up to the attribute tag stopParsingAtElement.
+ * Each attribute is represented as an
+ * element in this list. Having read all information for this
+ * particular data set or command, this function will also take
+ * care of group length (according to what is specified in glenc)
+ * and padding elements (don't change anything).
+ * @param inStream The stream which contains the information.
+ * @param xfer The transfer syntax which was used to encode
+ * the information in inStream.
+ * @param glenc Encoding type for group length; specifies what
+ * will be done with group length tags.
+ * @param maxReadLength Maximum read length for reading an attribute value.
+ * @param stopParsingAtElement parsing of the input stream is stopped when
+ * this tag key or any higher tag is encountered.
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition readUntilTag(DcmInputStream &inStream,
+ const E_TransferSyntax xfer = EXS_Unknown,
+ const E_GrpLenEncoding glenc = EGL_noChange,
+ const Uint32 maxReadLength = DCM_MaxReadLength,
+ const DcmTagKey &stopParsingAtElement = DCM_UndefinedTagKey);
+
/** write dataset to a stream
* @param outStream DICOM output stream
* @param oxfer output transfer syntax (EXS_Unknown means use original)
const E_GrpLenEncoding groupLength = EGL_noChange,
const Uint32 maxReadLength = DCM_MaxReadLength);
+ /** load object from a DICOM file, up to the attribute tag stopParsingAtElement.
+ * This method only supports DICOM objects stored as a dataset, i.e. without meta header.
+ * Use DcmFileFormat::loadFile() to load files with meta header.
+ * @param fileName name of the file to load (may contain wide chars if support enabled).
+ * Since there are various constructors for the OFFilename class, a "char *", "OFString"
+ * or "wchar_t *" can also be passed directly to this parameter.
+ * @param readXfer transfer syntax used to read the data (auto detection if EXS_Unknown)
+ * @param groupLength flag, specifying how to handle the group length tags
+ * @param maxReadLength maximum number of bytes to be read for an element value.
+ * Element values with a larger size are not loaded until their value is retrieved
+ * (with getXXX()) or loadAllDataIntoMemory() is called.
+ * @param stopParsingAtElement parsing of the input stream is stopped when
+ * this tag key or any higher tag is encountered.
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition loadFileUntilTag(const OFFilename &fileName,
+ const E_TransferSyntax readXfer = EXS_Unknown,
+ const E_GrpLenEncoding groupLength = EGL_noChange,
+ const Uint32 maxReadLength = DCM_MaxReadLength,
+ const DcmTagKey &stopParsingAtElement = DCM_UndefinedTagKey);
+
/** save object to a DICOM file.
* This method only supports DICOM objects stored as a dataset, i.e. without meta header.
* Use DcmFileFormat::saveFile() to save files with meta header.
**
** User: joergr
** Host: thinkpad
-** Date: 2017-01-31 14:11:01
+** Date: 2017-06-15 10:51:06
** Prog: /home/joergr/Source/dcmtk-full/public/dcmdata/libsrc/mkdeftag
**
** From: ../data/dicom.dic
#include "dcmtk/dcmdata/dctagkey.h"
-#define DCM_DICT_DEFTAG_BUILD_DATE "2017-01-31 14:11:01"
+#define DCM_DICT_DEFTAG_BUILD_DATE "2017-06-15 10:51:06"
/*
** Fixed Tags in ascending (gggg,eeee) order.
-** Number of entries: 4176
+** Number of entries: 4229
** Tags with a repeating component (repeating tags) are listed later.
*/
#define DCM_CommandGroupLength DcmTagKey(0x0000, 0x0000)
#define DCM_GeneticModificationsDescription DcmTagKey(0x0010, 0x0222)
#define DCM_GeneticModificationsNomenclature DcmTagKey(0x0010, 0x0223)
#define DCM_GeneticModificationsCodeSequence DcmTagKey(0x0010, 0x0229)
-#define DCM_OtherPatientIDs DcmTagKey(0x0010, 0x1000)
+#define DCM_RETIRED_OtherPatientIDs DcmTagKey(0x0010, 0x1000)
#define DCM_OtherPatientNames DcmTagKey(0x0010, 0x1001)
#define DCM_OtherPatientIDsSequence DcmTagKey(0x0010, 0x1002)
#define DCM_PatientBirthName DcmTagKey(0x0010, 0x1005)
#define DCM_PatientMotherBirthName DcmTagKey(0x0010, 0x1060)
#define DCM_MilitaryRank DcmTagKey(0x0010, 0x1080)
#define DCM_BranchOfService DcmTagKey(0x0010, 0x1081)
-#define DCM_MedicalRecordLocator DcmTagKey(0x0010, 0x1090)
+#define DCM_RETIRED_MedicalRecordLocator DcmTagKey(0x0010, 0x1090)
#define DCM_ReferencedPatientPhotoSequence DcmTagKey(0x0010, 0x1100)
#define DCM_MedicalAlerts DcmTagKey(0x0010, 0x2000)
#define DCM_Allergies DcmTagKey(0x0010, 0x2110)
#define DCM_YCoordinatesCenterPixelViewAngle DcmTagKey(0x0022, 0x1529)
#define DCM_NumberOfMapPoints DcmTagKey(0x0022, 0x1530)
#define DCM_TwoDimensionalToThreeDimensionalMapData DcmTagKey(0x0022, 0x1531)
+#define DCM_DerivationAlgorithmSequence DcmTagKey(0x0022, 0x1612)
+#define DCM_OphthalmicImageTypeCodeSequence DcmTagKey(0x0022, 0x1615)
+#define DCM_OphthalmicImageTypeDescription DcmTagKey(0x0022, 0x1616)
+#define DCM_ScanPatternTypeCodeSequence DcmTagKey(0x0022, 0x1618)
+#define DCM_ReferencedSurfaceMeshIdentificationSequence DcmTagKey(0x0022, 0x1620)
+#define DCM_OphthalmicVolumetricPropertiesFlag DcmTagKey(0x0022, 0x1622)
+#define DCM_OphthalmicAnatomicReferencePointXCoordinate DcmTagKey(0x0022, 0x1624)
+#define DCM_OphthalmicAnatomicReferencePointYCoordinate DcmTagKey(0x0022, 0x1626)
+#define DCM_OphthalmicEnFaceImageQualityRatingSequence DcmTagKey(0x0022, 0x1628)
+#define DCM_QualityThreshold DcmTagKey(0x0022, 0x1630)
+#define DCM_OCTBscanAnalysisAcquisitionParametersSequence DcmTagKey(0x0022, 0x1640)
+#define DCM_NumberofBscansPerFrame DcmTagKey(0x0022, 0x1642)
+#define DCM_BscanSlabThickness DcmTagKey(0x0022, 0x1643)
+#define DCM_DistanceBetweenBscanSlabs DcmTagKey(0x0022, 0x1644)
+#define DCM_BscanCycleTime DcmTagKey(0x0022, 0x1645)
+#define DCM_BscanCycleTimeVector DcmTagKey(0x0022, 0x1646)
+#define DCM_AscanRate DcmTagKey(0x0022, 0x1649)
+#define DCM_BscanRate DcmTagKey(0x0022, 0x1650)
+#define DCM_SurfaceMeshZPixelOffset DcmTagKey(0x0022, 0x1658)
#define DCM_VisualFieldHorizontalExtent DcmTagKey(0x0024, 0x0010)
#define DCM_VisualFieldVerticalExtent DcmTagKey(0x0024, 0x0011)
#define DCM_VisualFieldShape DcmTagKey(0x0024, 0x0012)
#define DCM_StorageURL DcmTagKey(0x0040, 0x4073)
#define DCM_XDSStorageSequence DcmTagKey(0x0040, 0x4074)
#define DCM_EntranceDoseInmGy DcmTagKey(0x0040, 0x8302)
+#define DCM_EntranceDoseDerivation DcmTagKey(0x0040, 0x8303)
#define DCM_ParametricMapFrameTypeSequence DcmTagKey(0x0040, 0x9092)
#define DCM_ReferencedImageRealWorldValueMappingSequence DcmTagKey(0x0040, 0x9094)
#define DCM_RealWorldValueMappingSequence DcmTagKey(0x0040, 0x9096)
#define DCM_HPGLDocumentID DcmTagKey(0x0068, 0x62d0)
#define DCM_HPGLDocumentLabel DcmTagKey(0x0068, 0x62d5)
#define DCM_ViewOrientationCodeSequence DcmTagKey(0x0068, 0x62e0)
-#define DCM_ViewOrientationModifier DcmTagKey(0x0068, 0x62f0)
+#define DCM_ViewOrientationModifierCodeSequence DcmTagKey(0x0068, 0x62f0)
#define DCM_HPGLDocumentScaling DcmTagKey(0x0068, 0x62f2)
#define DCM_HPGLDocument DcmTagKey(0x0068, 0x6300)
#define DCM_HPGLContourPenNumber DcmTagKey(0x0068, 0x6310)
#define DCM_InputSequencePositionIndex DcmTagKey(0x0070, 0x1203)
#define DCM_Crop DcmTagKey(0x0070, 0x1204)
#define DCM_CroppingSpecificationIndex DcmTagKey(0x0070, 0x1205)
-#define DCM_CompositingMethod DcmTagKey(0x0070, 0x1206)
+#define DCM_RETIRED_CompositingMethod DcmTagKey(0x0070, 0x1206)
#define DCM_VolumetricPresentationInputNumber DcmTagKey(0x0070, 0x1207)
#define DCM_ImageVolumeGeometry DcmTagKey(0x0070, 0x1208)
+#define DCM_VolumetricPresentationInputSetUID DcmTagKey(0x0070, 0x1209)
+#define DCM_VolumetricPresentationInputSetSequence DcmTagKey(0x0070, 0x120a)
+#define DCM_GlobalCrop DcmTagKey(0x0070, 0x120b)
+#define DCM_GlobalCroppingSpecificationIndex DcmTagKey(0x0070, 0x120c)
+#define DCM_RenderingMethod DcmTagKey(0x0070, 0x120d)
#define DCM_VolumeCroppingSequence DcmTagKey(0x0070, 0x1301)
#define DCM_VolumeCroppingMethod DcmTagKey(0x0070, 0x1302)
#define DCM_BoundingBoxCrop DcmTagKey(0x0070, 0x1303)
#define DCM_VolumetricCurvePoints DcmTagKey(0x0070, 0x150d)
#define DCM_MPRViewHeightDirection DcmTagKey(0x0070, 0x1511)
#define DCM_MPRViewHeight DcmTagKey(0x0070, 0x1512)
+#define DCM_RenderProjection DcmTagKey(0x0070, 0x1602)
+#define DCM_ViewpointPosition DcmTagKey(0x0070, 0x1603)
+#define DCM_ViewpointLookAtPoint DcmTagKey(0x0070, 0x1604)
+#define DCM_ViewpointUpDirection DcmTagKey(0x0070, 0x1605)
+#define DCM_RenderFieldOfView DcmTagKey(0x0070, 0x1606)
+#define DCM_SamplingStepSize DcmTagKey(0x0070, 0x1607)
+#define DCM_ShadingStyle DcmTagKey(0x0070, 0x1701)
+#define DCM_AmbientReflectionIntensity DcmTagKey(0x0070, 0x1702)
+#define DCM_LightDirection DcmTagKey(0x0070, 0x1703)
+#define DCM_DiffuseReflectionIntensity DcmTagKey(0x0070, 0x1704)
+#define DCM_SpecularReflectionIntensity DcmTagKey(0x0070, 0x1705)
+#define DCM_Shininess DcmTagKey(0x0070, 0x1706)
#define DCM_PresentationStateClassificationComponentSequence DcmTagKey(0x0070, 0x1801)
#define DCM_ComponentType DcmTagKey(0x0070, 0x1802)
#define DCM_ComponentInputSequence DcmTagKey(0x0070, 0x1803)
#define DCM_RecommendedAnimationRate DcmTagKey(0x0070, 0x1a03)
#define DCM_AnimationCurveSequence DcmTagKey(0x0070, 0x1a04)
#define DCM_AnimationStepSize DcmTagKey(0x0070, 0x1a05)
+#define DCM_SwivelRange DcmTagKey(0x0070, 0x1a06)
+#define DCM_VolumetricCurveUpDirections DcmTagKey(0x0070, 0x1a07)
+#define DCM_VolumeStreamSequence DcmTagKey(0x0070, 0x1a08)
+#define DCM_RGBATransferFunctionDescription DcmTagKey(0x0070, 0x1a09)
+#define DCM_AdvancedBlendingSequence DcmTagKey(0x0070, 0x1b01)
+#define DCM_BlendingInputNumber DcmTagKey(0x0070, 0x1b02)
+#define DCM_BlendingDisplayInputSequence DcmTagKey(0x0070, 0x1b03)
+#define DCM_BlendingDisplaySequence DcmTagKey(0x0070, 0x1b04)
+#define DCM_BlendingMode DcmTagKey(0x0070, 0x1b06)
+#define DCM_TimeSeriesBlending DcmTagKey(0x0070, 0x1b07)
+#define DCM_GeometryForDisplay DcmTagKey(0x0070, 0x1b08)
+#define DCM_ThresholdSequence DcmTagKey(0x0070, 0x1b11)
+#define DCM_ThresholdValueSequence DcmTagKey(0x0070, 0x1b12)
+#define DCM_ThresholdType DcmTagKey(0x0070, 0x1b13)
+#define DCM_ThresholdValue DcmTagKey(0x0070, 0x1b14)
#define DCM_HangingProtocolName DcmTagKey(0x0072, 0x0002)
#define DCM_HangingProtocolDescription DcmTagKey(0x0072, 0x0004)
#define DCM_HangingProtocolLevel DcmTagKey(0x0072, 0x0006)
#define DCM_FractionPattern DcmTagKey(0x300a, 0x007b)
#define DCM_NumberOfBeams DcmTagKey(0x300a, 0x0080)
#define DCM_BeamDoseSpecificationPoint DcmTagKey(0x300a, 0x0082)
+#define DCM_ReferencedDoseReferenceUID DcmTagKey(0x300a, 0x0083)
#define DCM_BeamDose DcmTagKey(0x300a, 0x0084)
#define DCM_BeamMeterset DcmTagKey(0x300a, 0x0086)
#define DCM_RETIRED_BeamDosePointDepth DcmTagKey(0x300a, 0x0088)
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* the object (if applicable).
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
- * -1 if either the value of the first component that does not match
- * is lower in this object than in rhs, or all compared components match
- * but this object has fewer components than rhs. Also returned if rhs
+ * -1 if this element has fewer components than the rhs element.
+ * Also -1 if the value of the first component that does not match
+ * is lower in this object than in rhs. Also returned if rhs
* cannot be casted to this object type or both objects are of
* different VR (i.e. the DcmEVR returned by the element's ident()
* call are different).
- * 1 if either the value of the first component that does not match
- * is greater in this object than in rhs object, or all compared
- * components match but the this component is longer.
+ * 1 if either this element has more components than the rhs element, or
+ * if the first component that does not match is greater in this object than
+ * in rhs object.
+ * If the function is overwritten by derived classes, the behaviour might
+ * slightly change but all methods will return 0 on equality, and 1 or -1
+ * if different.
*/
virtual int compare(const DcmElement& rhs) const =0;
virtual OFCondition getDecompressedColorModel(DcmItem *dataset,
OFString &decompressedColorModel);
+ /** perform attribute matching.
+ * Perform attribute matching on a candidate element using this element as the matching
+ * key.
+ * @note The given candidate element must refer to the same attribute kind, i.e. have the
+ * same tag and VR. The method will return OFFalse if it doesn't.
+ * @param candidate the candidate element to compare this element with.
+ * @param enableWildCardMatching enable or disable wild card matching. Defaults to OFTrue,
+ * which means wild card matching is performed if the element's VR supports it. Set to
+ * OFFalse to force single value matching instead.
+ * @return OFTrue if the candidate matches this element, OFFalse otherwise.
+ */
+ virtual OFBool matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
+ /** perform combined attribute matching.
+ * Combine the given Attributes to one pair of matching key and candidate respectively
+ * and perform attribute matching on the result.
+ * @note The DICOM standard currently defines combined attribute matching for the VR
+ * DA in combination with TM, such that two attributes can be combined into a single
+ * attribute with VR=DT before matching against another pair of attributes with VR
+ * DA and TM. The method will return OFFalse if this element's VR is not DA or the
+ * given attributes are not of VR TM, DA and TM respectively.
+ * @param keySecond the second part of the matching key that will be combined with this
+ * element.
+ * @param candidateFirst the first part of the candidate that will be matched against this
+ * this element + keySecond.
+ * @param candidateSecond the second part of the candidate that will be combined with
+ * candidateFirst for matching against this elemement + keySecond.
+ * @return OFTrue if the combination of this elemement and keySecond match with the
+ * combination of candidateFirst and candidateSecond. OFFalse otherwise.
+ */
+ virtual OFBool combinationMatches(const DcmElement& keySecond,
+ const DcmElement& candidateFirst,
+ const DcmElement& candidateSecond) const;
+
/* --- static helper functions --- */
/** scan string value for conformance with given value representation (VR)
const E_GrpLenEncoding glenc = EGL_noChange,
const Uint32 maxReadLength = DCM_MaxReadLength);
+ /** read object from a stream, up to the attribute tag stopParsingAtElement.
+ * @param inStream DICOM input stream
+ * @param xfer transfer syntax to use when parsing
+ * @param glenc handling of group length parameters
+ * @param maxReadLength attribute values larger than this value are skipped
+ * while parsing and read later upon first access if the stream type supports
+ * this.
+ * @param stopParsingAtElement parsing of the input stream is stopped when
+ * this tag key or any higher tag is encountered.
+ * @return EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition readUntilTag(DcmInputStream &inStream,
+ const E_TransferSyntax xfer = EXS_Unknown,
+ const E_GrpLenEncoding glenc = EGL_noChange,
+ const Uint32 maxReadLength = DCM_MaxReadLength,
+ const DcmTagKey &stopParsingAtElement = DCM_UndefinedTagKey);
+
/** write fileformat to a stream
* @param outStream DICOM output stream
* @param oxfer output transfer syntax
const Uint32 maxReadLength = DCM_MaxReadLength,
const E_FileReadMode readMode = ERM_autoDetect);
+ /** load object from a DICOM file, up to the attribute tag stopParsingAtElement.
+ * This method supports DICOM objects stored as a file (with meta header) or as a
+ * dataset (without meta header). By default, the presence of a meta header is
+ * detected automatically.
+ * @param fileName name of the file to load (may contain wide chars if support enabled).
+ * Since there are various constructors for the OFFilename class, a "char *", "OFString"
+ * or "wchar_t *" can also be passed directly to this parameter.
+ * @param readXfer transfer syntax used to read the data (auto detection if EXS_Unknown)
+ * @param groupLength flag, specifying how to handle the group length tags
+ * @param maxReadLength maximum number of bytes to be read for an element value.
+ * Element values with a larger size are not loaded until their value is retrieved
+ * (with getXXX()) or loadAllDataIntoMemory() is called.
+ * @param readMode read file with or without meta header, i.e. as a fileformat or a
+ * dataset. Use ERM_fileOnly in order to force the presence of a meta header.
+ * @param stopParsingAtElement parsing of the input stream is stopped when
+ * this tag key or any higher tag is encountered.
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition loadFileUntilTag(const OFFilename &fileName,
+ const E_TransferSyntax readXfer = EXS_Unknown,
+ const E_GrpLenEncoding groupLength = EGL_noChange,
+ const Uint32 maxReadLength = DCM_MaxReadLength,
+ const E_FileReadMode readMode = ERM_autoDetect,
+ const DcmTagKey &stopParsingAtElement = DCM_UndefinedTagKey);
+
/** save object to a DICOM file.
* @param fileName name of the file to save (may contain wide chars if support enabled).
* Since there are various constructors for the OFFilename class, a "char *", "OFString"
/*
*
- * Copyright (C) 1994-2011, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/// comparison equality
OFBool operator==(const DcmHashDictIterator& x) const
- { return (hindex == x.hindex) && (iter == x.iter); }
+ { return iterating ? x.iterating && (hindex == x.hindex) && (iter == x.iter) : !x.iterating; }
/// comparison non-equality
OFBool operator!=(const DcmHashDictIterator& x) const
*/
DcmItem &operator=(const DcmItem &obj);
- /** comparison operator that compares the normalized value of this object
+ /** comparison operator that compares the value of this object
* with a given object of the same type. The tag of the element is also
* considered as the first component that is compared, followed by the
* object types (VR, i.e. DCMTK'S EVR) and the comparison of all value
* This may be an expensive operation.
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
- * -1 if either the value of the first component that does not match
- * is lower in this object than in rhs, or all compared components match
- * but this object has fewer components than rhs. Also returned if rhs
- * cannot be casted to this object type.
- * 1 if either the value of the first component that does not match
- * is greater in this object than in rhs object, or all compared
- * components match but the this component is longer.
+ * -1 if this element has fewer components than the rhs element.
+ * Also -1 if the value of the first component that does not match
+ * is lower in this object than in rhs. Also returned if rhs
+ * cannot be casted to this object type or both objects are of
+ * different VR (i.e. the DcmEVR returned by the element's ident()
+ * call are different).
+ * 1 if either this element has more components than the rhs element, or
+ * if the first component that does not match is greater in this object than
+ * in rhs object.
*/
virtual int compare(const DcmItem& rhs) const;
const E_GrpLenEncoding glenc = EGL_noChange,
const Uint32 maxReadLength = DCM_MaxReadLength);
+ /** This function reads the information of all attributes which
+ * are captured in the input stream and captures this information
+ * in elementList, up to the attribute tag stopParsingAtElement.
+ * Each attribute is represented as an element
+ * in this list. If not all information for an attribute could be
+ * read from the stream, the function returns EC_StreamNotifyClient.
+ * @param inStream The stream which contains the information.
+ * @param ixfer The transfer syntax which was used to encode
+ * the information in inStream.
+ * @param glenc Encoding type for group length; specifies
+ * what will be done with group length tags.
+ * @param maxReadLength Maximum read length for reading an attribute value.
+ * @param stopParsingAtElement parsing of the input stream is stopped when
+ * this tag key or any higher tag is encountered.
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition readUntilTag(DcmInputStream &inStream,
+ const E_TransferSyntax ixfer,
+ const E_GrpLenEncoding glenc = EGL_noChange,
+ const Uint32 maxReadLength = DCM_MaxReadLength,
+ const DcmTagKey &stopParsingAtElement = DCM_UndefinedTagKey);
+
/** write object to a stream
* @param outStream DICOM output stream
* @param oxfer output transfer syntax
DcmItem *item,
const signed long itemNum = -2);
- /** creates new DICOM element from given attribute tag
+ /** creates new DICOM element from given attribute tag.
+ * Creation of unknown attributes (e.g. private tag not being registered
+ * in the dictionary) will result in a DcmElement instance of derived type
+ * DcmOtherByteOtherWord.
* @param tag attribute tag of the element to be created
+ * @param privateCreator private creator of the element, if element tag
+ * is private (default: NULL, i.e. non-private DICOM standard tag)
* @return pointer to newly created element upon success, NULL pointer otherwise
+ *
*/
- static DcmElement *newDicomElement(const DcmTagKey &tag);
+ static DcmElement *newDicomElement(const DcmTagKey &tag,
+ const char *privateCreator = NULL);
- /** creates new DICOM element from given attribute tag
+ /** creates new DICOM element from given attribute tag.
+ * Creation of unknown attributes (e.g. private tag not being registered
+ * in the dictionary) will result in a DcmElement instance of derived type
+ * DcmOtherByteOtherWord.
* @param newElement pointer to newly created element returned in this parameter
* upon success, NULL pointer otherwise
* @param tag attribute tag of the element to be created
+ * @param privateCreator private creator of the element, if element tag
+ * is private (default: NULL, i.e. non-private DICOM standard tag)
* @return EC_Normal upon success, an error code otherwise
*/
static OFCondition newDicomElement(DcmElement *&newElement,
- const DcmTagKey &tag);
+ const DcmTagKey &tag,
+ const char *privateCreator = NULL);
+
+ /** creates new DICOM element from given attribute tag and VR.
+ * Creation of unknown attributes (e.g. private tag not being registered
+ * in the dictionary) will result in a DcmElement instance of derived type
+ * DcmOtherByteOtherWord.
+ * @param newElement pointer to newly created element returned in this parameter
+ * upon success, NULL pointer otherwise
+ * @param tag attribute tag and VR of the element to be created
+ * @return EC_Normal upon success, an error code otherwise
+ */
+ static OFCondition newDicomElementWithVR(DcmElement *&newElement,
+ const DcmTag &tag);
protected:
* @code{.cpp}
struct CustomJsonFormat : DcmJsonFormatPretty
{
- CustomJsonFormat(const OFBool printMetaheaderInformation = OFTrue)
- : DcmJsonFormatPretty(printMetaheaderInformation)
+ CustomJsonFormat(const OFBool printMetaInfo = OFTrue)
+ : DcmJsonFormatPretty(printMetaInfo)
{
}
OFString &value);
/** Constructor
- * @param printMetaheaderInformation parameter that defines if meta information should be written
+ * @param printMetaInfo parameter that defines if meta information should be written
*/
- inline DcmJsonFormat(const OFBool printMetaheaderInformation)
- : printMetaheaderInformation(printMetaheaderInformation)
+ inline DcmJsonFormat(const OFBool printMetaInfo)
+ : printMetaheaderInformation(printMetaInfo)
{
}
* @code{.cpp}
struct BulkDataURIJsonFormat : DcmJsonFormatPretty
{
- CustomJsonFormat(const OFBool printMetaheaderInformation = OFTrue,
+ CustomJsonFormat(const OFBool printMetaInfo = OFTrue,
... bulkDataURIDatabase)
- : DcmJsonFormatPretty(printMetaheaderInformation)
+ : DcmJsonFormatPretty(printMetaInfo)
, TheDatabase(bulkDataURIDatabase)
{
public:
/** DcmJsonFormatPretty constructor
- * @param printMetaheaderInformation Enable/Disable including Metaheader in the output
+ * @param printMetaInfo Enable/Disable including Metaheader in the output
*/
- explicit DcmJsonFormatPretty(const OFBool printMetaheaderInformation = OFTrue);
+ explicit DcmJsonFormatPretty(const OFBool printMetaInfo = OFTrue);
/** Indent to the specific level.
* @param out output stream to which the indention is written.
{
public:
/** DcmJsonFormatCompact constructor
- * @param printMetaheaderInformation Enable/Disable including Metaheader in the output
+ * @param printMetaInfo Enable/Disable including Metaheader in the output
*/
- explicit DcmJsonFormatCompact(const OFBool printMetaheaderInformation = OFTrue);
+ explicit DcmJsonFormatCompact(const OFBool printMetaInfo = OFTrue);
/** Does nothing.
* @param out output stream to which the indention is written.
/** Test whether this object may be used for matching, i.e.\ whether it is not empty.
* @return OFTrue if this object may be used for matching, OFFalse otherwise.
*/
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
explicit
#endif
operator OFBool() const;
/*
*
- * Copyright (C) 1994-2011, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/// List of representations of pixel data
DcmRepresentationList repList;
- /// Iterator to the last dummy element in representation lis
+ /// Iterator to the last dummy element in representation list
DcmRepresentationListIterator repListEnd;
/// Iterator to the original representation. if an uncompressed
return new DcmPixelData(*this);
}
- /** Virtual object copying. This method can be used for DcmObject
+ /** comparison operator that compares the value of this element
+ * with a given element of the same type (e.g. an DcmPixelData with a
+ * DcmPixelData). The tag of the element is also considered as the first
+ * component that is compared, followed by the object types (VR, i.e. DCMTK'S EVR).
+ * The DcmPixelData implementation checks whether the uncompressed data of
+ * both objects are identical, and if not provided, if the compressed data
+ * of both objects is the same, by comparing the pixel items bytewise.
+ * @param rhs the right hand side of the comparison
+ * @return 0 if the object values are equal.
+ * -1 is returned if rhs is considered greater than this object.
+ * 1 is returned if rhs is considered smaller than this object.
+ */
+ virtual int compare(const DcmElement& rhs) const;
+
+ /** virtual object copying. This method can be used for DcmObject
* and derived classes to get a deep copy of an object. Internally
* the assignment operator is called if the given DcmObject parameter
* is of the same type as "this" object instance. If not, an error
* the pixel data tag (7FE0,0010) and OB value representation with undefined length,
* and the "items" contained within the sequence are in fact pixel items (class DcmPixelItem)
* that contain no list of DICOM elements but raw compressed pixel data.
+ * The first item in this pixel sequence must always be the offset table.
*/
class DCMTK_DCMDATA_EXPORT DcmPixelSequence : public DcmSequenceOfItems
{
* @param offsetList list containing offset table entries.
* Upon success, an entry is appended to the list. The offset values are always even,
* so it is expected that odd length pixel items are padded later during writing.
- * @param compressedData pointer to compressed image data, must not be NULL
+ * The offsets are not stored internally.
+ * @param compressedData pointer to compressed image data (copied), must not be NULL
* @param compressedLen number of bytes of compressed image data
* @param fragmentSize maximum fragment size (in kbytes) for compression, 0 for unlimited.
* @return EC_Normal if successful, an error code otherwise
* an expensive operation!
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
- * -1 if either the value of the first component that does not match
- * is lower in this object than in rhs, or all compared components match
- * but this object has fewer components than rhs. Also returned if rhs
- * cannot be casted to this object type.
- * 1 if either the value of the first component that does not match
- * is greater in this object than in rhs object, or all compared
- * components match but the this component is longer.
+ * -1 if this element has fewer components than the rhs element.
+ * Also -1 if the value of the first component that does not match
+ * is lower in this object than in rhs. Also returned if rhs
+ * cannot be casted to this object type or both objects are of
+ * different VR (i.e. the DcmEVR returned by the element's ident()
+ * call are different).
+ * 1 if either this element has more components than the rhs element, or
+ * if the first component that does not match is greater in this object than
+ * in rhs object.
*/
virtual int compare(const DcmElement& rhs) const;
* @return OFTrue if selectCharacterSet() was successfully called before,
* OFFalse if not (or clear() has been called in the meantime).
*/
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
explicit
#endif
operator OFBool() const;
*/
#define UID_XMLEncodingTransferSyntax "1.2.840.10008.1.2.6.2"
+/** Private transfer syntax defined by GE. This transfer syntax is identical to
+ * Implicit VR Little Endian, except that Pixel Data are encoded in big endian.
+ */
+#define UID_PrivateGE_LEI_WithBigEndianPixelDataTransferSyntax "1.2.840.113619.5.2"
+
/*
** Defined SOP Class UIDs according to DICOM standard
*/
#define UID_XAXRFGrayscaleSoftcopyPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.5"
#define UID_GrayscalePlanarMPRVolumetricPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.6"
#define UID_CompositingPlanarMPRVolumetricPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.7"
+#define UID_AdvancedBlendingPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.8"
+#define UID_VolumeRenderingVolumetricPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.9"
+#define UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.10"
+#define UID_MultipleVolumeRenderingVolumetricPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.11"
#define UID_XRayAngiographicImageStorage "1.2.840.10008.5.1.4.1.1.12.1"
#define UID_EnhancedXAImageStorage "1.2.840.10008.5.1.4.1.1.12.1.1"
#define UID_XRayRadiofluoroscopicImageStorage "1.2.840.10008.5.1.4.1.1.12.2"
#define UID_OphthalmicTomographyImageStorage "1.2.840.10008.5.1.4.1.1.77.1.5.4"
#define UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage "1.2.840.10008.5.1.4.1.1.77.1.5.5"
#define UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage "1.2.840.10008.5.1.4.1.1.77.1.5.6"
+#define UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage "1.2.840.10008.5.1.4.1.1.77.1.5.7"
+#define UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage "1.2.840.10008.5.1.4.1.1.77.1.5.8"
#define UID_VLWholeSlideMicroscopyImageStorage "1.2.840.10008.5.1.4.1.1.77.1.6"
#define UID_RETIRED_VLMultiFrameImageStorage "1.2.840.10008.5.1.4.1.1.77.2"
#define UID_LensometryMeasurementsStorage "1.2.840.10008.5.1.4.1.1.78.1"
#define UID_ImplantationPlanSRDocumentStorage "1.2.840.10008.5.1.4.1.1.88.70"
#define UID_AcquisitionContextSRStorage "1.2.840.10008.5.1.4.1.1.88.71"
#define UID_SimplifiedAdultEchoSRStorage "1.2.840.10008.5.1.4.1.1.88.72"
+#define UID_PatientRadiationDoseSRStorage "1.2.840.10008.5.1.4.1.1.88.73"
#define UID_ContentAssessmentResultsStorage "1.2.840.10008.5.1.4.1.1.90.1"
#define UID_EncapsulatedPDFStorage "1.2.840.10008.5.1.4.1.1.104.1"
#define UID_EncapsulatedCDAStorage "1.2.840.10008.5.1.4.1.1.104.2"
*/
const char* getVRName() const ;
- /** get symbolic standard VR name for this object
+ /** get symbolic standard VR name for this object.
* If this object manages a non-standard, internal VR such as EVR_ox,
* this method returns the name of the VR to which the internal VR will
* be mapped when writing the DICOM object.
*/
OFBool usesExtendedLengthEncoding() const;
- /** check if VRs are equivalent
+ /** check if VRs are equivalent.
* VRs are considered equivalent if equal or if one of them is an internal
* VR and the other one is a possible standard VR to which the internal one
* maps.
** (in bytes assuming single byte characters)
*/
- /** return minimum length of a value with this VR (in bytes), assuming
- * single byte characters
+ /** return minimum length of a single value with this VR.
+ * Whether the returned length is in bytes or characters can be determined
+ * by isLengthInChar().
* @return minimum length of a value
*/
Uint32 getMinValueLength() const;
- /** return maximum length of a value with this VR (in bytes), assuming
- * single byte characters
+ /** return maximum length of a single value with this VR.
+ * Whether the returned length is in bytes or characters can be determined
+ * by isLengthInChar().
* @return maximum length of a value
*/
Uint32 getMaxValueLength() const;
*/
const OFString& getDelimiterChars() const;
+ /** check whether the maximum or minimum length of a value with this VR is
+ * in bytes or characters. See getMinValueLength() and getMaxValueLength().
+ * @return true if length is stated in characters, false if in bytes
+ */
+ OFBool isLengthInChar() const;
+
private:
/// the enumerated VR value
DcmEVR vr;
/*
*
- * Copyright (C) 1994-2013, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
const unsigned long pos,
OFBool normalize = OFTrue);
+ // ensure inherited overloads of matches take part in overload resolution
+ using DcmByteString::matches;
+
+ /// @copydoc DcmByteString::matches(OFString,OFString,OFBool)
+ virtual OFBool matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
/* --- static helper functions --- */
/** check whether given string value conforms to the VR "AE" (Application Entity)
* object (if applicable).
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
- * -1 if either the value of the first component that does not match
- * is lower in this object than in rhs, or all compared components match
- * but this object has fewer components than rhs. Also returned if rhs
- * cannot be casted to this object type.
- * 1 if either the value of the first component that does not match
- * is greater in this object than in rhs object, or all compared
- * components match but the this component is longer.
+ * -1 if this element has fewer components than the rhs element.
+ * Also -1 if the value of the first component that does not match
+ * is lower in this object than in rhs. Also returned if rhs
+ * cannot be casted to this object type or both objects are of
+ * different VR (i.e. the DcmEVR returned by the element's ident()
+ * call are different).
+ * 1 if either this element has more components than the rhs element, or
+ * if the first component that does not match is greater in this object than
+ * in rhs object.
*/
virtual int compare(const DcmElement& rhs) const;
/*
*
- * Copyright (C) 1994-2013, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
const unsigned long pos,
OFBool normalize = OFTrue);
+ // ensure inherited overloads of matches take part in overload resolution
+ using DcmByteString::matches;
+
+ /// @copydoc DcmByteString::matches(OFString,OFString,OFBool)
+ virtual OFBool matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
/* --- static helper functions --- */
/** check whether given value conforms to value representation CS (Code String).
const unsigned long pos = 0,
const OFBool supportOldFormat = OFTrue);
+ // ensure inherited overloads of matches take part in overload resolution
+ using DcmByteString::matches;
+
+ /// @copydoc DcmByteString::matches(OFString,OFString,OFBool)
+ virtual OFBool matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
+ /// @copydoc DcmElement::combinationMatches()
+ virtual OFBool combinationMatches(const DcmElement& keySecond,
+ const DcmElement& candidateFirst,
+ const DcmElement& candidateSecond) const;
+
/* --- static helper functions --- */
/** get the current system date.
const OFString &dateTimeSeparator = " ",
const OFString &timeZoneSeparator = " ");
+ // ensure inherited overloads of matches take part in overload resolution
+ using DcmByteString::matches;
+
+ /// @copydoc DcmByteString::matches(OFString,OFString,OFBool)
+ virtual OFBool matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
/* --- static helper functions --- */
/** get the current system date and time.
*/
virtual OFCondition verify(const OFBool autocorrect = OFFalse);
+ /// @copydoc DcmElement::matches()
+ virtual OFBool matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
protected:
/** constructor. Create new element from given tag and length.
* object (if applicable).
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
- * -1 if either the value of the first component that does not match
- * is lower in this object than in rhs, or all compared components match
- * but this object has fewer components than rhs. Also returned if rhs
- * cannot be casted to this object type.
- * 1 if either the value of the first component that does not match
- * is greater in this object than in rhs object, or all compared
- * components match but the this component is longer.
+ * -1 if this element has fewer components than the rhs element.
+ * Also -1 if either the value of the first component that does not match
+ * is lower in this object than in rhs. Also returned if rhs
+ * cannot be casted to this object type or both objects are of
+ * different VR (i.e. the DcmEVR returned by the element's ident()
+ * call are different).
+ * 1 if either this element has more components than the rhs element, or
+ * if the first component that does not match is greater in this object than
+ * in rhs object.
*/
virtual int compare(const DcmElement& rhs) const;
*/
virtual OFCondition verify(const OFBool autocorrect = OFFalse);
+ /// @copydoc DcmElement::matches()
+ virtual OFBool matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
protected:
/** constructor. Create new element from given tag and length.
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual DcmEVR ident() const;
- /** check whether stored value conforms to the VR and to the specified VM
+ /** check whether stored value conforms to the VR and to the specified VM.
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other specific character sets disable the check of the value representation.
* @param vm value multiplicity (according to the data dictionary) to be checked for.
* (See DcmElement::checkVM() for a list of valid values.)
* @param oldFormat parameter not used for this VR (only for DA, TM)
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual DcmEVR ident() const;
- /** check whether stored value conforms to the VR and to the specified VM
+ /** check whether stored value conforms to the VR and to the specified VM.
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other specific character sets disable the check of the value representation.
* @param vm parameter not used for this VR
* @param oldFormat parameter not used for this VR (only for DA, TM)
* @return status of the check, EC_Normal if value is correct, an error code otherwise
* considered as the first component that is compared, followed by the
* object types (VR, i.e. DCMTK'S EVR) and the comparison of all value
* components of the object, preferrably in the order declared in the
- * object (if applicable).
+ * object (if applicable). The implementation for DcmOtherByteOtherWord
+ * does compare the values of two elements in local endianness.
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
- * -1 if either the value of the first component that does not match
- * is lower in this object than in rhs, or all compared components match
- * but this object has fewer components than rhs. Also returned if rhs
- * cannot be casted to this object type.
- * 1 if either the value of the first component that does not match
- * is greater in this object than in rhs object, or all compared
- * components match but the this component is longer.
+ * -1 if this element has fewer components than the rhs element.
+ * Also -1 if the value of the first component that does not match
+ * is lower in this object than in rhs. Also returned if rhs
+ * cannot be casted to this object type or both objects are of
+ * different VR (i.e. the DcmEVR returned by the element's ident()
+ * call are different).
+ * 1 if either this element has more components than the rhs element, or
+ * if the first component that does not match is greater in this object than
+ * in rhs object.
*/
virtual int compare(const DcmElement& rhs) const;
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual DcmEVR ident() const;
- /** check whether stored value conforms to the VR and to the specified VM
+ /** check whether stored value conforms to the VR and to the specified VM.
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other specific character sets disable the check of the value representation.
* @param vm value multiplicity (according to the data dictionary) to be checked for.
* (See DcmElement::checkVM() for a list of valid values.)
* @param oldFormat parameter not used for this VR (only for DA, TM)
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
return new DcmPolymorphOBOW(*this);
}
+ /** Comparison operator that compares the normalized value of this element
+ * with a given element of the same type (e.g. an DcmPolymorphOBOW with a
+ * DcmPolymorphOBOW). The tag of the element is also considered as the first
+ * component that is compared, followed by the object types (VR, i.e. DCMTK'S EVR).
+ * The DcmPolymorphOBOW implementation checks then whether the length of both
+ * elements are equal and if so continues comparing the values serialized to
+ * Little Endian using memcpy.
+ * @param rhs the right hand side of the comparison
+ * @return 0 if the object values are equal.
+ * -1 if this element has fewer components than the rhs element.
+ * Also -1 if the value of the first component that does not match
+ * is lower in this object than in rhs. Also returned if rhs
+ * cannot be casted to this object type or both objects are of
+ * different VR (i.e. the DcmEVR returned by the element's ident()
+ * call are different).
+ * 1 if either this element has more components than the rhs element, or
+ * if the first component that does not match is greater in this object than
+ * in rhs object.
+ */
+ virtual int compare(const DcmElement& rhs) const;
+
/** Virtual object copying. This method can be used for DcmObject
* and derived classes to get a deep copy of an object. Internally
* the assignment operator is called if the given DcmObject parameter
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual DcmEVR ident() const;
- /** check whether stored value conforms to the VR and to the specified VM
+ /** check whether stored value conforms to the VR and to the specified VM.
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other specific character sets disable the check of the value representation.
* @param vm value multiplicity (according to the data dictionary) to be checked for.
* (See DcmElement::checkVM() for a list of valid values.)
* @param oldFormat parameter not used for this VR (only for DA, TM)
* object (if applicable).
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
- * -1 if either the value of the first component that does not match
- * is lower in this object than in rhs, or all compared components match
- * but this object has fewer components than rhs. Also returned if rhs
- * cannot be casted to this object type.
- * 1 if either the value of the first component that does not match
- * is greater in this object than in rhs object, or all compared
- * components match but the this component is longer.
+ * -1 if this element has fewer components than the rhs element.
+ * Also -1 if the value of the first component that does not match
+ * is lower in this object than in rhs. Also returned if rhs
+ * cannot be casted to this object type or both objects are of
+ * different VR (i.e. the DcmEVR returned by the element's ident()
+ * call are different).
+ * 1 if either this element has more components than the rhs element, or
+ * if the first component that does not match is greater in this object than
+ * in rhs object.
*/
virtual int compare(const DcmElement& rhs) const;
*/
virtual OFCondition verify(const OFBool autocorrect = OFFalse);
+ /// @copydoc DcmElement::matches()
+ virtual OFBool matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
protected:
/** constructor. Create new element from given tag and length.
* object (if applicable).
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
- * -1 if either the value of the first component that does not match
- * is lower in this object than in rhs, or all compared components match
- * but this object has fewer components than rhs. Also returned if rhs
- * cannot be casted to this object type.
- * 1 if either the value of the first component that does not match
- * is greater in this object than in rhs object, or all compared
- * components match but the this component is longer.
+ * -1 if this element has fewer components than the rhs element.
+ * Also -1 if the value of the first component that does not match
+ * is lower in this object than in rhs. Also returned if rhs
+ * cannot be casted to this object type or both objects are of
+ * different VR (i.e. the DcmEVR returned by the element's ident()
+ * call are different).
+ * 1 if either this element has more components than the rhs element, or
+ * if the first component that does not match is greater in this object than
+ * in rhs object.
*/
virtual int compare(const DcmElement& rhs) const;
*/
virtual OFCondition verify(const OFBool autocorrect = OFFalse);
+ /// @copydoc DcmElement::matches()
+ virtual OFBool matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
protected:
/** constructor. Create new element from given tag and length.
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual DcmEVR ident() const;
- /** check whether stored value conforms to the VR and to the specified VM
+ /** check whether stored value conforms to the VR and to the specified VM.
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other specific character sets disable the check of the value representation.
* @param vm parameter not used for this VR
* @param oldFormat parameter not used for this VR (only for DA, TM)
* @return status of the check, EC_Normal if value is correct, an error code otherwise
const OFBool createMissingPart = OFFalse,
const OFBool supportOldFormat = OFTrue);
+ // ensure inherited overloads of matches take part in overload resolution
+ using DcmByteString::matches;
+
+ /// @copydoc DcmByteString::matches(OFString,OFString,OFBool)
+ virtual OFBool matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
/* --- static helper functions --- */
/** get the current system time.
private:
+ /// give DcmDate access to our private parts, for combined date time range matching.
+ friend class DcmDate;
+
/** parse the fragment part of a DICOM time string.
* @param string a pointer to the beginning of the fragment portion of a DICOM time string.
* @param size the size (in bytes) of the given string value.
/*
*
- * Copyright (C) 2015-2016, OFFIS e.V.
+ * Copyright (C) 2015-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual DcmEVR ident() const;
- /** check whether stored value conforms to the VR and to the specified VM
+ /** check whether stored value conforms to the VR and to the specified VM.
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other specific character sets disable the check of the value representation.
* @param vm value multiplicity (according to the data dictionary) to be checked for.
* (See DcmElement::checkVM() for a list of valid values.)
* @param oldFormat parameter not used for this VR (only for DA, TM)
/*
*
- * Copyright (C) 1994-2013, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* object (if applicable).
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
- * -1 if either the value of the first component that does not match
- * is lower in this object than in rhs, or all compared components match
- * but this object has fewer components than rhs. Also returned if rhs
- * cannot be casted to this object type.
- * 1 if either the value of the first component that does not match
- * is greater in this object than in rhs object, or all compared
- * components match but the this component is longer.
+ * -1 if this element has fewer components than the rhs element.
+ * Also -1 if the value of the first component that does not match
+ * is lower in this object than in rhs. Also returned if rhs
+ * cannot be casted to this object type or both objects are of
+ * different VR (i.e. the DcmEVR returned by the element's ident()
+ * call are different).
+ * 1 if either this element has more components than the rhs element, or
+ * if the first component that does not match is greater in this object than
+ * in rhs object.
*/
virtual int compare(const DcmElement& rhs) const;
*/
virtual OFCondition verify(const OFBool autocorrect = OFFalse);
+ /// @copydoc DcmElement::matches()
+ virtual OFBool matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
protected:
/** constructor. Create new element from given tag and length.
/*
*
- * Copyright (C) 2014-2016, OFFIS e.V.
+ * Copyright (C) 2014-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
virtual OFCondition getOFStringArray(OFString &stringVal,
OFBool normalize = OFTrue);
+ // ensure inherited overloads of matches take part in overload resolution
+ using DcmByteString::matches;
+
+ /// @copydoc DcmByteString::matches(OFString,OFString,OFBool)
+ virtual OFBool matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
+
/* --- static helper functions --- */
/** check whether given string value conforms to the VR "UR" (Universal Resource Identifier
* object (if applicable).
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
- * -1 if either the value of the first component that does not match
- * is lower in this object than in rhs, or all compared components match
- * but this object has fewer components than rhs. Also returned if rhs
- * cannot be casted to this object type.
- * 1 if either the value of the first component that does not match
- * is greater in this object than in rhs object, or all compared
- * components match but the this component is longer.
+ * -1 if this element has fewer components than the rhs element.
+ * Also -1 if the value of the first component that does not match
+ * is lower in this object than in rhs. Also returned if rhs
+ * cannot be casted to this object type or both objects are of
+ * different VR (i.e. the DcmEVR returned by the element's ident()
+ * call are different).
+ * 1 if either this element has more components than the rhs element, or
+ * if the first component that does not match is greater in this object than
+ * in rhs object.
*/
virtual int compare(const DcmElement& rhs) const;
*/
virtual OFCondition verify(const OFBool autocorrect = OFFalse);
+ /// @copydoc DcmElement::matches()
+ virtual OFBool matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching = OFTrue) const;
protected:
/** constructor. Create new element from given tag and length.
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual DcmEVR ident() const;
- /** check whether stored value conforms to the VR and to the specified VM
+ /** check whether stored value conforms to the VR and to the specified VM.
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other specific character sets disable the check of the value representation.
* @param vm parameter not used for this VR
* @param oldFormat parameter not used for this VR (only for DA, TM)
* @return status of the check, EC_Normal if value is correct, an error code otherwise
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/// HEVC/H.265 Main Profile / Level 5.1
EXS_HEVCMainProfileLevel5_1 = 39,
/// HEVC/H.265 Main 10 Profile / Level 5.1
- EXS_HEVCMain10ProfileLevel5_1 = 40
+ EXS_HEVCMain10ProfileLevel5_1 = 40,
+ /// Private GE Little Endian Implicit with big endian pixel data
+ EXS_PrivateGE_LEI_WithBigEndianPixelData = 41
} E_TransferSyntax;
/** enumeration of byte orders
/// return byte order for this transfer syntax
inline E_ByteOrder getByteOrder() const { return byteOrder; }
+ /// return byte order for this transfer syntax
+ inline E_ByteOrder getPixelDataByteOrder() const { return pixelDataByteOrder; }
+
/// return name string for this transfer syntax
inline const char* getXferName() const { return xferName; }
/// transfer syntax byte order
E_ByteOrder byteOrder;
+ /// transfer syntax byte order for pixel data
+ E_ByteOrder pixelDataByteOrder;
+
/// transfer syntax VR encoding (implicit/explicit)
E_VRType vrType;
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \
../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmdata/dcobject.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/libi2d/i2define.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/libi2d/i2dimgs.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \
../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmdata/dcobject.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \
../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmdata/dcobject.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \
../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmdata/dcobject.h \
return EC_IllegalParameter;
OFCondition cond;
+ resultDset = NULL;
+ OFunique_ptr<DcmDataset> tempDataset;
DCMDATA_LIBI2D_DEBUG("Image2Dcm: Starting conversion of file: " << inputPlug->getImageFile());
// If specified, copy DICOM template file to export file
// remove problematic attributes from dataset
cleanupTemplate(dcmff.getDataset());
// copy from input file
- resultDset = new DcmDataset(*(dcmff.getDataset()));
+ tempDataset.reset(new DcmDataset(*(dcmff.getDataset())));
}
else // otherwise, start with an empty DICOM file
- resultDset = new DcmDataset();
- if (!resultDset)
+ tempDataset.reset(new DcmDataset());
+ if (!tempDataset.get())
return EC_MemoryExhausted;
// Read patient and study or series information if desired and write to export file
if (m_readStudyLevel || m_readSeriesLevel)
{
- cond = applyStudyOrSeriesFromFile(resultDset);
+ cond = applyStudyOrSeriesFromFile(tempDataset.get());
if (cond.bad())
{
- delete resultDset; resultDset = NULL;
return cond;
}
}
// Increment instance number
if (m_incInstNoFromFile)
{
- cond = incrementInstanceNumber(resultDset);
+ cond = incrementInstanceNumber(tempDataset.get());
if (cond.bad())
{
- delete resultDset; resultDset = NULL;
return cond;
}
}
// Insert Latin 1 as standard character set if desired
if (m_insertLatin1)
- cond = insertLatin1(resultDset);
+ cond = insertLatin1(tempDataset.get());
if (cond.bad())
return cond;
// Generate and insert UIDs as necessary
- generateUIDs(resultDset);
+ generateUIDs(tempDataset.get());
// Read and insert pixel data
- cond = readAndInsertPixelData(inputPlug, resultDset, proposedTS);
+ cond = readAndInsertPixelData(inputPlug, tempDataset.get(), proposedTS);
if (cond.bad())
{
- delete resultDset; resultDset = NULL;
return cond;
}
{
if (srcIsLossy)
{
- cond = resultDset->putAndInsertOFStringArray(DCM_LossyImageCompression, "01");
+ cond = tempDataset->putAndInsertOFStringArray(DCM_LossyImageCompression, "01");
if (cond.good() && !comprMethod.empty())
- cond = resultDset->putAndInsertOFStringArray(DCM_LossyImageCompressionMethod, comprMethod);
+ cond = tempDataset->putAndInsertOFStringArray(DCM_LossyImageCompressionMethod, comprMethod);
if (cond.bad()) return makeOFCondition(OFM_dcmdata, 18, OF_error, "Unable to write attribute Lossy Image Compression and/or Lossy Image Compression Method to result dataset");
}
}
DCMDATA_LIBI2D_DEBUG("Image2Dcm: No information regarding lossy compression available");
// Insert SOP Class specific attributes (and values)
- cond = outPlug->convert(*resultDset);
+ cond = outPlug->convert(*tempDataset);
if (cond.bad())
{
- delete resultDset; resultDset = NULL;
return cond;
}
// At last, apply override keys on dataset
- applyOverrideKeys(resultDset);
+ cond = applyOverrideKeys(tempDataset.get());
+ if (cond.bad())
+ {
+ return cond;
+ }
// Do some very basic attribute checking (e. g. existence (type 2) and values (type 1))
if (!m_disableAttribChecks)
{
OFString err;
- err = isValid(*resultDset);
- err += outPlug->isValid(*resultDset);
+ err = isValid(*tempDataset);
+ err += outPlug->isValid(*tempDataset);
if (!err.empty())
{
- delete resultDset; resultDset = NULL;
return makeOFCondition(OFM_dcmdata, 18, OF_error, err.c_str());
}
}
+ resultDset = tempDataset.release();
return EC_Normal;
}
/*
*
- * Copyright (C) 2007-2016, OFFIS e.V.
+ * Copyright (C) 2007-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
// Only pixel data up to 2^32 bytes is supported (DICOM) and maximum size for "new" operator = size_t
if ( ( OFstatic_cast(unsigned long, filesize) > OFstatic_cast(unsigned long, 4294967294UL) ) ||
- ( OFstatic_cast(unsigned long, filesize) > OFstatic_cast(unsigned long, OFstatic_cast(size_t, -1) ) ) )
+ ( OFstatic_cast(unsigned long, filesize) > OFstatic_cast(unsigned long, -1) ) )
{
DCMDATA_LIBI2D_ERROR("I2DJpegSource: JPEG file length longer than 2^32 bytes (or larger than size_t capacity), aborting");
return EC_MemoryExhausted;
// Allocate buffer for raw JPEG data
// Only pixel data up to 2^32 bytes is supported (DICOM)
if ( ( OFstatic_cast(unsigned long, rawStreamSize) > OFstatic_cast(unsigned long, 4294967294UL) ) ||
- ( OFstatic_cast(unsigned long, rawStreamSize) > OFstatic_cast(unsigned long, OFstatic_cast(size_t, -1) ) ) )
+ ( OFstatic_cast(unsigned long, rawStreamSize) > OFstatic_cast(unsigned long, -1) ) )
{
DCMDATA_LIBI2D_ERROR("I2DJpegSource: Raw JPEG stream length longer than 2^32 bytes (or larger than size_t capacity), aborting");
return EC_MemoryExhausted;
# create library from source files
+INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}")
+
DCMTK_ADD_LIBRARY(dcmdata
cmdlnarg dcbytstr dcchrstr dccodec dcdatset dcdatutl dcddirif dcdicdir dcdicent
dcdict dcdictbi dcdirrec dcelem dcerror dcfilefo dcfilter dchashdi dcistrma
DCMTK_TARGET_LINK_MODULES(mkdeftag ofstd oflog)
ADD_CUSTOM_TARGET(updatedeftag
- COMMAND mkdeftag -o ${dcmdata_SOURCE_DIR}/include/dcmtk/dcmdata/dcdeftag.h ${DICTIONARIES}
+ COMMAND mkdeftag -o "${dcmdata_SOURCE_DIR}/include/dcmtk/dcmdata/dcdeftag.h" ${DICTIONARIES}
DEPENDS mkdeftag
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMENT "Generate a new include file of defined tags")
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h
dcbytstr.o: dcbytstr.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
- ../include/dcmtk/dcmdata/dcstack.h
+ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcmatch.h
dcchrstr.o: dcchrstr.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dcjson.h \
- ../include/dcmtk/dcmdata/dcchrstr.h ../include/dcmtk/dcmdata/dcbytstr.h \
- ../include/dcmtk/dcmdata/dcelem.h
+ ../include/dcmtk/dcmdata/dcmatch.h ../include/dcmtk/dcmdata/dcchrstr.h \
+ ../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dcelem.h
dccodec.o: dccodec.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dccodec.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcdatset.h \
../include/dcmtk/dcmdata/dcitem.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdict.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../include/dcmtk/dcmdata/dchashdi.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dcmetinf.h \
../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcvrulup.h ../include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmdata/dcpixseq.h ../include/dcmtk/dcmdata/dcofsetl.h \
../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dcvrae.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmdata/dcspchrs.h \
- ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h
+ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h
dcelem.o: dcelem.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h
dcistrma.o: dcistrma.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dcistrma.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrut.h \
../include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
../include/dcmtk/dcmdata/dcjson.h
dcjson.o: dcjson.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcmatch.o: dcmatch.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \
../include/dcmtk/dcmdata/dcmatch.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmdata/dcvrdt.h \
../../ofstd/include/dcmtk/ofstd/ofdatime.h \
../../ofstd/include/dcmtk/ofstd/oftime.h \
- ../include/dcmtk/dcmdata/dcvrtm.h
+ ../include/dcmtk/dcmdata/dcvrtm.h \
+ ../../ofstd/include/dcmtk/ofstd/diag/push.def \
+ ../../ofstd/include/dcmtk/ofstd/diag/vsprfw.def \
+ ../../ofstd/include/dcmtk/ofstd/diag/pop.def
dcmetinf.o: dcmetinf.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcostrmz.h ../include/dcmtk/dcmdata/dcerror.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dcstack.h
dcpixel.o: dcpixel.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
../include/dcmtk/dcmdata/dccodec.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dclist.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcdeftag.h \
- ../include/dcmtk/dcmdata/dcitem.h ../include/dcmtk/dcmdata/dcpcache.h
+ ../include/dcmtk/dcmdata/dcitem.h ../include/dcmtk/dcmdata/dcpcache.h \
+ ../include/dcmtk/dcmdata/dcpxitem.h
dcpixseq.o: dcpixseq.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcswap.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcrleccd.h ../include/dcmtk/dcmdata/dcrlecp.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcrlecce.h ../include/dcmtk/dcmdata/dcrlecp.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcsequen.o: dcsequen.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h
dctag.o: dctag.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h
dcuid.o: dcuid.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../ofstd/include/dcmtk/ofstd/ofcrc32.h \
../../ofstd/include/dcmtk/ofstd/ofnetdb.h
dcvr.o: dcvr.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h
dcvrae.o: dcvrae.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dcvrae.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
- ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
+ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
+ ../include/dcmtk/dcmdata/dcmatch.h
dcvras.o: dcvras.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dcvras.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
../include/dcmtk/dcmdata/dcjson.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
- ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
+ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
+ ../include/dcmtk/dcmdata/dcmatch.h
dcvrda.o: dcvrda.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dcvrda.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofdate.h
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../include/dcmtk/dcmdata/dcvrtm.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../include/dcmtk/dcmdata/dcmatch.h
dcvrds.o: dcvrds.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dcvrds.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofdatime.h \
../../ofstd/include/dcmtk/ofstd/ofdate.h \
../../ofstd/include/dcmtk/ofstd/oftime.h \
- ../include/dcmtk/dcmdata/dcvrda.h ../include/dcmtk/dcmdata/dcvrtm.h
+ ../include/dcmtk/dcmdata/dcvrda.h ../include/dcmtk/dcmdata/dcvrtm.h \
+ ../include/dcmtk/dcmdata/dcmatch.h
dcvrfd.o: dcvrfd.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvrfd.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../ofstd/include/dcmtk/ofstd/ofuuid.h \
../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvrobow.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcjson.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcswap.h
dcvrol.o: dcvrol.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dcswap.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrsh.o: dcvrsh.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrss.o: dcvrss.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrst.o: dcvrst.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
- ../../ofstd/include/dcmtk/ofstd/oftime.h
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../include/dcmtk/dcmdata/dcmatch.h
dcvruc.o: dcvruc.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dcvruc.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcchrstr.h \
../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvrui.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrulup.o: dcvrulup.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrur.o: dcvrur.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
- ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
+ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
+ ../include/dcmtk/dcmdata/dcmatch.h
dcvrus.o: dcvrus.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcelem.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrut.o: dcvrut.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcchrstr.h \
../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcuid.h
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdicent.h ../include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcdicent.h ../include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
/*
*
- * Copyright (C) 1996-2012, OFFIS e.V.
+ * Copyright (C) 1996-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
int fderr = dup(fileno(stdout));
if (fderr != fileno(stderr))
{
- char buf[256];
DCMDATA_ERROR("INTERNAL ERROR: cannot map stderr to stdout: "
- << OFStandard::strerror(errno, buf, sizeof(buf)));
+ << OFStandard::getLastSystemErrorCode().message());
}
}
-#ifndef NO_IOS_BASE_ASSIGN
- /* make cout refer to cerr. This does not work with all iostream implementations :-( */
- cout = cerr;
-#endif
-
/* make stdout the same as stderr */
*stdout = *stderr;
/* make sure the buffering is removed */
if (setvbuf(stdout, NULL, _IONBF, 0 ) != 0 )
{
- char buf[256];
DCMDATA_ERROR("INTERNAL ERROR: cannot unbuffer stdout: "
- << OFStandard::strerror(errno, buf, sizeof(buf)));
+ << OFStandard::getLastSystemErrorCode().message());
}
if (setvbuf(stderr, NULL, _IONBF, 0 ) != 0 )
{
- char buf[256];
DCMDATA_ERROR("INTERNAL ERROR: cannot unbuffer stderr: "
- << OFStandard::strerror(errno, buf, sizeof(buf)));
+ << OFStandard::getLastSystemErrorCode().message());
}
#endif /* __BORLANDC__ */
#endif
#include "dcmtk/dcmdata/dcjson.h"
#include "dcmtk/dcmdata/dcbytstr.h"
#include "dcmtk/dcmdata/dcvr.h"
+#include "dcmtk/dcmdata/dcmatch.h"
#define INCLUDE_CSTDLIB
#define INCLUDE_CSTDIO
myThis = OFconst_cast(DcmByteString*, this);
myRhs = OFstatic_cast(DcmByteString*, OFconst_cast(DcmElement*, &rhs));
- /* iterate over all components and test equality */
+ /* check number of components. */
+ unsigned long rhsVM = myRhs->getVM();
unsigned long thisVM = myThis->getVM();
+ if (thisVM < rhsVM)
+ {
+ return -1;
+ }
+ else if (thisVM > rhsVM)
+ {
+ return 1;
+ }
+
+ /* iterate over all components and test equality */
for (unsigned long count = 0; count < thisVM; count++)
{
OFString val;
return result;
}
}
- else
- {
- break; // values equal until this point (rhs shorter)
- }
}
}
-
- /* we get here if all values are equal. Now look at the number of components. */
- unsigned long rhsVM = myRhs->getVM();
- if (thisVM < rhsVM)
- {
- return -1;
- }
- else if (thisVM > rhsVM)
- {
- return 1;
- }
-
- /* all values as well as VM equal: objects are equal */
+ /* all values equal */
return 0;
}
/* always report success */
return EC_Normal;
}
+
+
+OFBool DcmByteString::matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ if (ident() == candidate.ident())
+ {
+ // some const casts to call the getter functions, I do not modify the values, I promise!
+ DcmByteString& key = OFconst_cast(DcmByteString&,*this);
+ DcmElement& can = OFconst_cast(DcmElement&,candidate);
+ OFString a, b;
+ for (unsigned long ui = 0; ui < key.getVM(); ++ui)
+ for (unsigned long uj = 0; uj < can.getVM(); ++uj)
+ if( key.getOFString( a, ui, OFTrue ).good() && can.getOFString( b, uj, OFTrue ).good() && matches( a, b, enableWildCardMatching ) )
+ return OFTrue;
+ return key.getVM() == 0;
+ }
+ return OFFalse;
+}
+
+
+OFBool DcmByteString::matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ OFstatic_cast(void,enableWildCardMatching);
+ // Universal Matching || Single Value Matching
+ return key.empty() || key == candidate;
+}
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dcitem.h" /* for class DcmItem */
#include "dcmtk/dcmdata/dcdeftag.h" /* for tag definitions */
#include "dcmtk/dcmdata/dcjson.h" /* json helper classes */
+#include "dcmtk/dcmdata/dcmatch.h"
//
// This implementation does not support 16 bit character sets. Since 8 bit
{
return DcmVR(EVR_UN).getDelimiterChars();
}
+
+
+OFBool DcmCharString::matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ if (enableWildCardMatching)
+ return DcmAttributeMatching::wildCardMatching(key.c_str(), key.length(), candidate.c_str(), candidate.length());
+ else
+ return DcmByteString::matches(key, candidate, OFFalse);
+}
const E_TransferSyntax xfer,
const E_GrpLenEncoding glenc,
const Uint32 maxReadLength)
+{
+ return DcmDataset::readUntilTag(inStream, xfer, glenc, maxReadLength, DCM_UndefinedTagKey);
+}
+
+OFCondition DcmDataset::readUntilTag(DcmInputStream &inStream,
+ const E_TransferSyntax xfer,
+ const E_GrpLenEncoding glenc,
+ const Uint32 maxReadLength,
+ const DcmTagKey &stopParsingAtElement)
{
/* check if the stream variable reported an error */
errorFlag = inStream.status();
}
/* pass processing the task to class DcmItem */
if (errorFlag.good())
- errorFlag = DcmItem::read(inStream, OriginalXfer, glenc, maxReadLength);
+ errorFlag = DcmItem::readUntilTag(inStream, OriginalXfer, glenc, maxReadLength, stopParsingAtElement);
}
const E_TransferSyntax readXfer,
const E_GrpLenEncoding groupLength,
const Uint32 maxReadLength)
+{
+ return DcmDataset::loadFileUntilTag(fileName, readXfer, groupLength, maxReadLength, DCM_UndefinedTagKey);
+}
+
+OFCondition DcmDataset::loadFileUntilTag(const OFFilename &fileName,
+ const E_TransferSyntax readXfer,
+ const E_GrpLenEncoding groupLength,
+ const Uint32 maxReadLength,
+ const DcmTagKey &stopParsingAtElement)
{
OFCondition l_error = EC_InvalidFilename;
/* check parameters first */
{
/* read data from file */
transferInit();
- l_error = read(fileStream, readXfer, groupLength, maxReadLength);
+ l_error = readUntilTag(fileStream, readXfer, groupLength, maxReadLength, stopParsingAtElement);
transferEnd();
}
}
#define INCLUDE_CSTDIO
#define INCLUDE_CCTYPE
-#define INCLUDE_CERRNO
#include "dcmtk/ofstd/ofstdinc.h"
#include "dcmtk/dcmdata/dcddirif.h"
compare(sopClass, UID_MacularGridThicknessAndVolumeReportStorage) ||
compare(sopClass, UID_ImplantationPlanSRDocumentStorage) ||
compare(sopClass, UID_AcquisitionContextSRStorage) ||
- compare(sopClass, UID_SimplifiedAdultEchoSRStorage))
+ compare(sopClass, UID_SimplifiedAdultEchoSRStorage) ||
+ compare(sopClass, UID_PatientRadiationDoseSRStorage))
{
result = ERT_SRDocument;
}
compare(sopClass, UID_XAXRFGrayscaleSoftcopyPresentationStateStorage) ||
compare(sopClass, UID_GrayscalePlanarMPRVolumetricPresentationStateStorage) ||
compare(sopClass, UID_CompositingPlanarMPRVolumetricPresentationStateStorage) ||
+ compare(sopClass, UID_AdvancedBlendingPresentationStateStorage) ||
+ compare(sopClass, UID_VolumeRenderingVolumetricPresentationStateStorage) ||
+ compare(sopClass, UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage) ||
+ compare(sopClass, UID_MultipleVolumeRenderingVolumetricPresentationStateStorage) ||
compare(sopClass, UID_BasicStructuredDisplayStorage))
{
result = ERT_Presentation;
compare(sopClassUID, UID_MultiframeSingleBitSecondaryCaptureImageStorage) ||
compare(sopClassUID, UID_MultiframeTrueColorSecondaryCaptureImageStorage) ||
compare(sopClassUID, UID_NuclearMedicineImageStorage) ||
+ compare(sopClassUID, UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage) ||
compare(sopClassUID, UID_OphthalmicPhotography16BitImageStorage) ||
compare(sopClassUID, UID_OphthalmicPhotography8BitImageStorage) ||
compare(sopClassUID, UID_OphthalmicTomographyImageStorage) ||
compare(mediaSOPClassUID, UID_MacularGridThicknessAndVolumeReportStorage) ||
compare(mediaSOPClassUID, UID_ImplantationPlanSRDocumentStorage) ||
compare(mediaSOPClassUID, UID_AcquisitionContextSRStorage) ||
- compare(mediaSOPClassUID, UID_SimplifiedAdultEchoSRStorage);
+ compare(mediaSOPClassUID, UID_SimplifiedAdultEchoSRStorage) ||
+ compare(mediaSOPClassUID, UID_PatientRadiationDoseSRStorage);
}
/* is it one of the waveform SOP Classes? */
if (!found)
compare(mediaSOPClassUID, UID_XAXRFGrayscaleSoftcopyPresentationStateStorage) ||
compare(mediaSOPClassUID, UID_GrayscalePlanarMPRVolumetricPresentationStateStorage) ||
compare(mediaSOPClassUID, UID_CompositingPlanarMPRVolumetricPresentationStateStorage) ||
+ compare(mediaSOPClassUID, UID_AdvancedBlendingPresentationStateStorage) ||
+ compare(mediaSOPClassUID, UID_VolumeRenderingVolumetricPresentationStateStorage) ||
+ compare(mediaSOPClassUID, UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage) ||
+ compare(mediaSOPClassUID, UID_MultipleVolumeRenderingVolumetricPresentationStateStorage) ||
compare(mediaSOPClassUID, UID_BasicStructuredDisplayStorage);
}
/* is it one of the encapsulated document SOP Classes? */
if (!result)
{
/* create error message from error code */
- char buffer[255];
DCMDATA_ERROR("copying files: " << fromFilename << " to " << toFilename
- << ": " << OFStandard::strerror(errno, buffer, 255));
+ << ": " << OFStandard::getLastSystemErrorCode().message());
}
return result;
}
#define INCLUDE_CSTDLIB
#define INCLUDE_CSTDIO
-#define INCLUDE_CERRNO
#define INCLUDE_LIBC
#define INCLUDE_UNISTD
#include "dcmtk/ofstd/ofstdinc.h"
{
if (!OFStandard::renameFile(dicomDirFileName, backupFilename))
{
- char buf[256];
- const char *text = OFStandard::strerror(errno, buf, sizeof(buf));
- if (text == NULL) text = "(unknown error code)";
- errorFlag = makeOFCondition(OFM_dcmdata, 19, OF_error, text);
+ OFString buffer = OFStandard::getLastSystemErrorCode().message();
+ errorFlag = makeOFCondition(OFM_dcmdata, 19, OF_error, buffer.c_str());
}
}
#else
if (!OFStandard::deleteFile(dicomDirFileName))
{
- char buf[256];
- const char *text = OFStandard::strerror(errno, buf, sizeof(buf));
- if (text == NULL) text = "(unknown error code)";
- errorFlag = makeOFCondition(OFM_dcmdata, 19, OF_error, text);
+ OFString buffer = OFStandard::getLastSystemErrorCode().message();
+ errorFlag = makeOFCondition(OFM_dcmdata, 19, OF_error, buffer.c_str());
}
#endif
}
if (errorFlag == EC_Normal && !OFStandard::renameFile(tempFilename, dicomDirFileName))
{
- char buf[256];
- const char *text = OFStandard::strerror(errno, buf, sizeof(buf));
- if (text == NULL) text = "(unknown error code)";
- errorFlag = makeOFCondition(OFM_dcmdata, 19, OF_error, text);
+ OFString buffer = OFStandard::getLastSystemErrorCode().message();
+ errorFlag = makeOFCondition(OFM_dcmdata, 19, OF_error, buffer.c_str());
}
modified = OFFalse;
**
** User: joergr
** Host: thinkpad
-** Date: 2017-01-31 14:11:02
+** Date: 2017-06-15 10:51:06
** Prog: /home/joergr/Source/dcmtk-full/public/dcmdata/libsrc/mkdictbi
**
** From: ../data/dicom.dic
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0010, 0x0221, 0x0010, 0x0221,
- EVR_SQ, "GeneticModificationsSequence", 1, 1, "DICOM/CP_1619",
+ EVR_SQ, "GeneticModificationsSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0010, 0x0222, 0x0010, 0x0222,
- EVR_UC, "GeneticModificationsDescription", 1, 1, "DICOM/CP_1619",
+ EVR_UC, "GeneticModificationsDescription", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0010, 0x0223, 0x0010, 0x0223,
- EVR_LO, "GeneticModificationsNomenclature", 1, 1, "DICOM/CP_1619",
+ EVR_LO, "GeneticModificationsNomenclature", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0010, 0x0229, 0x0010, 0x0229,
- EVR_SQ, "GeneticModificationsCodeSequence", 1, 1, "DICOM/CP_1619",
+ EVR_SQ, "GeneticModificationsCodeSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0010, 0x1000, 0x0010, 0x1000,
- EVR_LO, "OtherPatientIDs", 1, -1, "DICOM",
+ EVR_LO, "RETIRED_OtherPatientIDs", 1, -1, "DICOM/retired",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0010, 0x1001, 0x0010, 0x1001,
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0010, 0x1090, 0x0010, 0x1090,
- EVR_LO, "MedicalRecordLocator", 1, 1, "DICOM",
+ EVR_LO, "RETIRED_MedicalRecordLocator", 1, 1, "DICOM/retired",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0010, 0x1100, 0x0010, 0x1100,
EVR_OF, "TwoDimensionalToThreeDimensionalMapData", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x0022, 0x1612, 0x0022, 0x1612,
+ EVR_SQ, "DerivationAlgorithmSequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1615, 0x0022, 0x1615,
+ EVR_SQ, "OphthalmicImageTypeCodeSequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1616, 0x0022, 0x1616,
+ EVR_LO, "OphthalmicImageTypeDescription", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1618, 0x0022, 0x1618,
+ EVR_SQ, "ScanPatternTypeCodeSequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1620, 0x0022, 0x1620,
+ EVR_SQ, "ReferencedSurfaceMeshIdentificationSequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1622, 0x0022, 0x1622,
+ EVR_CS, "OphthalmicVolumetricPropertiesFlag", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1624, 0x0022, 0x1624,
+ EVR_FL, "OphthalmicAnatomicReferencePointXCoordinate", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1626, 0x0022, 0x1626,
+ EVR_FL, "OphthalmicAnatomicReferencePointYCoordinate", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1628, 0x0022, 0x1628,
+ EVR_SQ, "OphthalmicEnFaceImageQualityRatingSequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1630, 0x0022, 0x1630,
+ EVR_DS, "QualityThreshold", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1640, 0x0022, 0x1640,
+ EVR_SQ, "OCTBscanAnalysisAcquisitionParametersSequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1642, 0x0022, 0x1642,
+ EVR_UL, "NumberofBscansPerFrame", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1643, 0x0022, 0x1643,
+ EVR_FL, "BscanSlabThickness", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1644, 0x0022, 0x1644,
+ EVR_FL, "DistanceBetweenBscanSlabs", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1645, 0x0022, 0x1645,
+ EVR_FL, "BscanCycleTime", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1646, 0x0022, 0x1646,
+ EVR_FL, "BscanCycleTimeVector", 1, -1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1649, 0x0022, 0x1649,
+ EVR_FL, "AscanRate", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1650, 0x0022, 0x1650,
+ EVR_FL, "BscanRate", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0022, 0x1658, 0x0022, 0x1658,
+ EVR_UL, "SurfaceMeshZPixelOffset", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
#ifdef ENABLE_PRIVATE_TAGS
, { 0x0023, 0x0000, 0x0023, 0x0000,
EVR_DS, "CRDRE", 1, 1, "PrivateTag",
EVR_DS, "EntranceDoseInmGy", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x0040, 0x8303, 0x0040, 0x8303,
+ EVR_CS, "EntranceDoseDerivation", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x0040, 0x9092, 0x0040, 0x9092,
EVR_SQ, "ParametricMapFrameTypeSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0068, 0x62f0, 0x0068, 0x62f0,
- EVR_FD, "ViewOrientationModifier", 9, 9, "DICOM",
+ EVR_SQ, "ViewOrientationModifierCodeSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0068, 0x62f2, 0x0068, 0x62f2,
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0070, 0x1206, 0x0070, 0x1206,
- EVR_CS, "CompositingMethod", 1, 1, "DICOM",
+ EVR_CS, "RETIRED_CompositingMethod", 1, 1, "DICOM/retired",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0070, 0x1207, 0x0070, 0x1207,
EVR_CS, "ImageVolumeGeometry", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x0070, 0x1209, 0x0070, 0x1209,
+ EVR_UI, "VolumetricPresentationInputSetUID", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x120a, 0x0070, 0x120a,
+ EVR_SQ, "VolumetricPresentationInputSetSequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x120b, 0x0070, 0x120b,
+ EVR_CS, "GlobalCrop", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x120c, 0x0070, 0x120c,
+ EVR_US, "GlobalCroppingSpecificationIndex", 1, -1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x120d, 0x0070, 0x120d,
+ EVR_CS, "RenderingMethod", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x0070, 0x1301, 0x0070, 0x1301,
EVR_SQ, "VolumeCroppingSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
EVR_FD, "MPRViewHeight", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x0070, 0x1602, 0x0070, 0x1602,
+ EVR_CS, "RenderProjection", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1603, 0x0070, 0x1603,
+ EVR_FD, "ViewpointPosition", 3, 3, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1604, 0x0070, 0x1604,
+ EVR_FD, "ViewpointLookAtPoint", 3, 3, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1605, 0x0070, 0x1605,
+ EVR_FD, "ViewpointUpDirection", 3, 3, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1606, 0x0070, 0x1606,
+ EVR_FD, "RenderFieldOfView", 6, 6, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1607, 0x0070, 0x1607,
+ EVR_FD, "SamplingStepSize", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1701, 0x0070, 0x1701,
+ EVR_CS, "ShadingStyle", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1702, 0x0070, 0x1702,
+ EVR_FD, "AmbientReflectionIntensity", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1703, 0x0070, 0x1703,
+ EVR_FD, "LightDirection", 3, 3, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1704, 0x0070, 0x1704,
+ EVR_FD, "DiffuseReflectionIntensity", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1705, 0x0070, 0x1705,
+ EVR_FD, "SpecularReflectionIntensity", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1706, 0x0070, 0x1706,
+ EVR_FD, "Shininess", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x0070, 0x1801, 0x0070, 0x1801,
EVR_SQ, "PresentationStateClassificationComponentSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
EVR_FD, "AnimationStepSize", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x0070, 0x1a06, 0x0070, 0x1a06,
+ EVR_FD, "SwivelRange", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1a07, 0x0070, 0x1a07,
+ EVR_OD, "VolumetricCurveUpDirections", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1a08, 0x0070, 0x1a08,
+ EVR_SQ, "VolumeStreamSequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1a09, 0x0070, 0x1a09,
+ EVR_LO, "RGBATransferFunctionDescription", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1b01, 0x0070, 0x1b01,
+ EVR_SQ, "AdvancedBlendingSequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1b02, 0x0070, 0x1b02,
+ EVR_US, "BlendingInputNumber", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1b03, 0x0070, 0x1b03,
+ EVR_SQ, "BlendingDisplayInputSequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1b04, 0x0070, 0x1b04,
+ EVR_SQ, "BlendingDisplaySequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1b06, 0x0070, 0x1b06,
+ EVR_CS, "BlendingMode", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1b07, 0x0070, 0x1b07,
+ EVR_CS, "TimeSeriesBlending", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1b08, 0x0070, 0x1b08,
+ EVR_CS, "GeometryForDisplay", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1b11, 0x0070, 0x1b11,
+ EVR_SQ, "ThresholdSequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1b12, 0x0070, 0x1b12,
+ EVR_SQ, "ThresholdValueSequence", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1b13, 0x0070, 0x1b13,
+ EVR_CS, "ThresholdType", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0070, 0x1b14, 0x0070, 0x1b14,
+ EVR_FD, "ThresholdValue", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x0072, 0x0002, 0x0072, 0x0002,
EVR_SH, "HangingProtocolName", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0076, 0x0034, 0x0076, 0x0034,
- EVR_CS, "ComponentTypeCodeSequence", 1, 1, "DICOM",
+ EVR_SQ, "ComponentTypeCodeSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0076, 0x0036, 0x0076, 0x0036,
EVR_DS, "BeamDoseSpecificationPoint", 3, 3, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x300a, 0x0083, 0x300a, 0x0083,
+ EVR_UI, "ReferencedDoseReferenceUID", 1, 1, "DICOM",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x300a, 0x0084, 0x300a, 0x0084,
EVR_DS, "BeamDose", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTDLIB
#define INCLUDE_CSTDIO
#define INCLUDE_CSTRING
-#define INCLUDE_CERRNO
#define INCLUDE_CCTYPE
#define INCLUDE_LIBC
#define INCLUDE_UNISTD
{ // filename exists
if (unlink(localFileName) != 0)
{
- char buf[256];
- const char *text = OFStandard::strerror(errno, buf, sizeof(buf));
- if (text == NULL) text = "(unknown error code)";
- errorFlag = makeOFCondition(OFM_dcmdata, 19, OF_error, text);
+ OFString buffer = OFStandard::getLastSystemErrorCode().message();
+ errorFlag = makeOFCondition(OFM_dcmdata, 19, OF_error, buffer.c_str());
}
delete[] localFileName;
} else { // no referenced file exists
{
DcmXfer xferSyn(xfer);
DcmEVR vr = getVR();
- /* These don't use extended length encoding, but when writing, they are
- * converted to EVR_UN which does use extended length encoding.
- * (EVR_na should never happen here, it's just handled for completeness) */
+
+ /* These VRs don't use extended length encoding, but when writing, they are
+ * converted to EVR_UN, which DOES use extended length encoding.
+ * (EVR_na should never happen here, it's just handled for completeness)
+ */
if (vr == EVR_UNKNOWN2B || vr == EVR_na)
vr = EVR_UN;
- const Uint32 headerLength = xferSyn.sizeofTagHeader(vr);
+
+ /* compute length of element value */
const Uint32 elemLength = getLength(xfer, enctype);
+
+ /* Create an object that represents this object's "valid" data type */
+ DcmVR myvalidvr(vr);
+
+ if ((elemLength) > 0xffff && (! myvalidvr.usesExtendedLengthEncoding()) && xferSyn.isExplicitVR())
+ {
+ /* special case: we are writing in explicit VR, the VR of this
+ * element uses a 2-byte length encoding, but the element length is
+ * too large for a 2-byte length field. We need to write this element
+ * as VR=UN (or VR=OB) and adjust the length calculation accordingly.
+ * Since UN and OB always have the same header length, we can simply
+ * assume that we are using UN.
+ */
+ vr = EVR_UN;
+ }
+
+ /* now compute length of header */
+ const Uint32 headerLength = xferSyn.sizeofTagHeader(vr);
+
if (OFStandard::check32BitAddOverflow(headerLength, elemLength))
return DCM_UndefinedLength;
else
OFBool DcmElement::canWriteXfer(const E_TransferSyntax newXfer,
const E_TransferSyntax /*oldXfer*/)
{
- OFBool canWrite = (newXfer != EXS_Unknown);
- if (canWrite)
- {
- /* check whether element value exceeds length field (in case of 16 bit) */
- if (DcmXfer(newXfer).isExplicitVR() && !DcmVR(getVR()).usesExtendedLengthEncoding())
- {
- const Uint32 length = getLength(newXfer);
- if (length > 0xffff)
- {
- DCMDATA_DEBUG("DcmElement::canWriteXfer() Length of element " << getTagName() << " " << getTag()
- << " exceeds maximum of 16-bit length field (" << length << " > 65535 bytes)");
- canWrite = OFFalse;
- }
- }
- }
- return canWrite;
+ return (newXfer != EXS_Unknown);
}
/* if this is not an illegal call, go ahead and create a DcmXfer */
/* object based on the transfer syntax which was passed */
DcmXfer inXfer(ixfer);
+
/* determine the transfer syntax's byte ordering */
- fByteOrder = inXfer.getByteOrder();
+ if (getTag() == DCM_PixelData)
+ fByteOrder = inXfer.getPixelDataByteOrder();
+ else fByteOrder = inXfer.getByteOrder();
+
/* check if the stream reported an error */
errorFlag = inStream.status();
/* if we encountered the end of the stream, set the error flag correspondingly */
if (fLoadValue)
{
offile_off_t skipped = inStream.skip(getLengthField());
- if (skipped < getLengthField())
+ if (skipped < OFstatic_cast(offile_off_t, getLengthField()))
{
/* If desired, specific parser errors will be ignored */
if (dcmIgnoreParsingErrors.get())
OFCondition DcmElement::write(DcmOutputStream &outStream,
const E_TransferSyntax oxfer,
- const E_EncodingType /*enctype*/,
+ const E_EncodingType enctype,
DcmWriteCache *wcache)
{
DcmWriteCache wcache2;
+ /* Create an object that represents this object's data type */
+ DcmVR myvr(getVR());
+
+ /* create an object that represents the transfer syntax */
+ DcmXfer outXfer(oxfer);
+
+ /* getValidEVR() will convert post 1993 VRs to "OB" if these are disabled */
+ DcmEVR vr = myvr.getValidEVR();
+
+ /* compute length of element value */
+ const Uint32 elemLength = getLength(oxfer, enctype);
+
+ /* Create an object that represents this object's "valid" data type */
+ DcmVR myvalidvr(vr);
+
+ if ((elemLength) > 0xffff && (! myvalidvr.usesExtendedLengthEncoding()) && outXfer.isExplicitVR())
+ {
+ /* special case: we are writing in explicit VR, the VR of this
+ * element uses a 2-byte length encoding, but the element length is
+ * too large for a 2-byte length field. We need to write this element
+ * as VR=UN (or VR=OB if the generation of UN is disabled).
+ * In this method, the variable "vr" is only used to determine the
+ * output byte order, which is always the same for OB and UN.
+ * Therefore, we do not need to distinguish between these two.
+ */
+ vr = EVR_UN;
+ }
+
/* In case the transfer state is not initialized, this is an illegal call */
if (getTransferState() == ERW_notInitialized)
errorFlag = EC_IllegalCall;
errorFlag = outStream.status();
if (errorFlag.good())
{
- /* create an object that represents the transfer syntax */
- DcmXfer outXfer(oxfer);
+ E_ByteOrder outByteOrder;
+
+ /* determine the transfer syntax's byte ordering for this element */
+ if (getTag() == DCM_PixelData)
+ outByteOrder = outXfer.getPixelDataByteOrder();
+ else outByteOrder = outXfer.getByteOrder();
+
+ /* UN and OB element content always needs to be written in little endian.
+ We need to set this manually for the case that we are converting
+ elements to UN or OB while writing because some post-1993 VRs are disabled */
+ if ((vr == EVR_OB) || (vr == EVR_UN)) outByteOrder = EBO_LittleEndian;
/* pointer to element value if value resides in memory or old-style
* write behaviour is active (i.e. everything loaded into memory upon write)
{
/* get this element's value. Mind the byte ordering (little */
/* or big endian) of the transfer syntax which shall be used */
- value = OFstatic_cast(Uint8 *, getValue(outXfer.getByteOrder()));
+ value = OFstatic_cast(Uint8 *, getValue(outByteOrder));
if (value) accessPossible = OFTrue;
}
else
if (!wcache) wcache = &wcache2;
/* initialize cache object. This is safe even if the object was already initialized */
- wcache->init(this, getLengthField(), getTransferredBytes(), outXfer.getByteOrder());
+ wcache->init(this, getLengthField(), getTransferredBytes(), outByteOrder);
/* access first block of element content */
errorFlag = wcache->fillBuffer(*this);
* in the buffer, check if the buffer is still sufficient for the requirements
* of this element, which may need only 8 instead of 12 bytes.
*/
- if ((outStream.avail() >= DCM_TagInfoLength) ||
- (outStream.avail() >= getTagAndLengthSize(oxfer)))
+ if ((outStream.avail() >= OFstatic_cast(offile_off_t, DCM_TagInfoLength)) ||
+ (outStream.avail() >= OFstatic_cast(offile_off_t, getTagAndLengthSize(oxfer))))
{
/* if there is no value, Length (member variable) shall be set to 0 */
if (! accessPossible) setLengthField(0);
if (bytesToRead > 0)
{
// here we read the main block of data
- if (bytesToRead != readStream->read(targetBufferChar, bytesToRead))
+ if (OFstatic_cast(offile_off_t, bytesToRead) != readStream->read(targetBufferChar, bytesToRead))
return EC_InvalidStream;
// swap to desired byte order. fByteOrder contains the byte order in file.
}
return result;
}
+
+OFBool DcmElement::matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ OFstatic_cast(void,candidate);
+ OFstatic_cast(void,enableWildCardMatching);
+ return OFFalse;
+}
+
+OFBool DcmElement::combinationMatches(const DcmElement& keySecond,
+ const DcmElement& candidateFirst,
+ const DcmElement& candidateSecond) const
+{
+ OFstatic_cast(void,keySecond);
+ OFstatic_cast(void,candidateFirst);
+ OFstatic_cast(void,candidateSecond);
+ return OFFalse;
+}
const E_TransferSyntax xfer,
const E_GrpLenEncoding glenc,
const Uint32 maxReadLength)
+{
+ return DcmFileFormat::readUntilTag(inStream,xfer,glenc,maxReadLength,DCM_UndefinedTagKey);
+}
+OFCondition DcmFileFormat::readUntilTag(DcmInputStream &inStream,
+ const E_TransferSyntax xfer,
+ const E_GrpLenEncoding glenc,
+ const Uint32 maxReadLength,
+ const DcmTagKey &stopParsingAtElement)
{
if (getTransferState() == ERW_notInitialized)
errorFlag = EC_IllegalCall;
{
if (dataset && dataset->transferState() != ERW_ready)
{
- errorFlag = dataset->read(inStream, newxfer, glenc, maxReadLength);
+ errorFlag = dataset->readUntilTag(inStream, newxfer, glenc, maxReadLength,stopParsingAtElement);
}
}
}
setTransferState(ERW_ready);
}
return errorFlag;
-} // DcmFileFormat::read()
+} // DcmFileFormat::readUntilTag()
// ********************************
// ********************************
-
OFCondition DcmFileFormat::loadFile(const OFFilename &fileName,
const E_TransferSyntax readXfer,
const E_GrpLenEncoding groupLength,
const Uint32 maxReadLength,
const E_FileReadMode readMode)
+{
+ return DcmFileFormat::loadFileUntilTag(fileName, readXfer, groupLength, maxReadLength, readMode, DCM_UndefinedTagKey);
+}
+
+
+OFCondition DcmFileFormat::loadFileUntilTag(
+ const OFFilename &fileName,
+ const E_TransferSyntax readXfer,
+ const E_GrpLenEncoding groupLength,
+ const Uint32 maxReadLength,
+ const E_FileReadMode readMode,
+ const DcmTagKey &stopParsingAtElement)
{
if (readMode == ERM_dataset)
- return getDataset()->loadFile(fileName, readXfer, groupLength, maxReadLength);
+ return getDataset()->loadFileUntilTag(fileName, readXfer, groupLength, maxReadLength, stopParsingAtElement);
OFCondition l_error = EC_InvalidFilename;
/* check parameters first */
FileReadMode = readMode;
/* read data from file */
transferInit();
- l_error = read(fileStream, readXfer, groupLength, maxReadLength);
+ l_error = readUntilTag(fileStream, readXfer, groupLength, maxReadLength, stopParsingAtElement);
transferEnd();
/* restore old value */
FileReadMode = oldMode;
myThis = OFconst_cast(DcmItem*, this);
myRhs = OFconst_cast(DcmItem*, &rhs);
- // iterate over all items and test equality
+ // check length, i.e. number of elements in item
unsigned long thisVM = myThis->card();
+ unsigned long rhsVM = myRhs->card();
+ if (thisVM < rhsVM)
+ {
+ return -1;
+ }
+ else if (thisVM > rhsVM)
+ {
+ return 1;
+ }
+ // iterate over all items and test equality
for (unsigned long count = 0; count < thisVM; count++)
{
DcmElement* val = myThis->getElement(count);
}
// otherwise they are equal, continue comparison
}
- else
- {
- break; // values equal until this point (rhs shorter)
- }
}
}
- // we get here if all values are equal. Now look at the
- // number of components
- unsigned long rhsVM = myRhs->card();
- if (thisVM < rhsVM)
- {
- return -1;
- }
- else if (thisVM > rhsVM)
- {
- return 1;
- }
-
// all values as well as VM equal: objects are equal
return 0;
}
DcmTag &tag)
{
/* handle special cases where the VR can be determined by some other element values */
- if (((tag == DCM_WaveformData) || (tag == DCM_WaveformPaddingValue)) && (tag.getEVR() == EVR_ox))
+ if (((tag == DCM_WaveformData) || (tag == DCM_WaveformPaddingValue) ||
+ (tag == DCM_ChannelMinimumValue) || (tag == DCM_ChannelMaximumValue)) && (tag.getEVR() == EVR_ox))
{
/* case 1 (WaveformData and others): see section 8.3 in PS 3.5 */
Uint16 bitsAlloc;
}
else if (((tag == DCM_PixelPaddingValue) || (tag == DCM_PixelPaddingRangeLimit) ||
(tag == DCM_HistogramFirstBinValue) || (tag == DCM_HistogramLastBinValue) ||
- (tag == DCM_ZeroVelocityPixelValue)) && (tag.getEVR() == EVR_xs))
+ (tag == DCM_ZeroVelocityPixelValue) || (tag == DCM_SmallestImagePixelValue) ||
+ (tag == DCM_LargestImagePixelValue) || (tag == DCM_SmallestPixelValueInSeries) ||
+ (tag == DCM_LargestPixelValueInSeries) || (tag == DCM_LUTDescriptor) ||
+ (tag == DCM_RealWorldValueLastValueMapped) || (tag == DCM_RealWorldValueFirstValueMapped)) &&
+ (tag.getEVR() == EVR_xs))
{
/* case 2 (PixelPaddingValue and others): see section C.7.5.1, C.7.6.16.x and C.11.5 in PS 3.3 */
Uint16 pixelRep;
/* check if either 4 (for implicit transfer syntaxes) or 6 (for explicit transfer */
/* syntaxes) bytes are available in (i.e. can be read from) inStream. if an error */
/* occurred while performing this check return this error */
- if (inStream.avail() < (xferSyn.isExplicitVR() ? 6u:4u))
+ if (inStream.avail() < OFstatic_cast(offile_off_t, xferSyn.isExplicitVR() ? 6 : 4))
return EC_StreamNotifyClient;
/* determine the byte ordering of the transfer syntax which was passed; */
/* the next thing we want to do is read the value in the length field from inStream. */
/* determine if there is a corresponding amount of bytes (for the length field) still */
/* available in inStream. If not, return an error. */
- if (inStream.avail() < xferSyn.sizeofTagHeader(newEVR) - bytesRead)
+ if (inStream.avail() < OFstatic_cast(offile_off_t, xferSyn.sizeofTagHeader(newEVR) - bytesRead))
{
inStream.putback(); // the UnsetPutbackMark is in readSubElement
bytesRead = 0;
inStream.putback();
}
}
- else if (valueLength > remainingItemBytes)
+ else if (OFstatic_cast(offile_off_t, valueLength) > remainingItemBytes)
{
DCMDATA_WARN("DcmItem: Element " << newTag.getTagName() << " " << newTag
<< " larger (" << valueLength << ") than remaining bytes ("
const E_TransferSyntax xfer,
const E_GrpLenEncoding glenc,
const Uint32 maxReadLength)
+{
+ return DcmItem::readUntilTag(inStream, xfer, glenc, maxReadLength, DCM_UndefinedTagKey);
+}
+
+OFCondition DcmItem::readUntilTag(DcmInputStream & inStream,
+ const E_TransferSyntax xfer,
+ const E_GrpLenEncoding glenc,
+ const Uint32 maxReadLength,
+ const DcmTagKey &stopParsingAtElement)
{
/* check if this is an illegal call; if so set the error flag and do nothing, else go ahead */
if (getTransferState() == ERW_notInitialized)
/* in case of implicit VR, check whether the "default VR" is really appropriate */
if (DcmXfer(xfer).isImplicitVR())
checkAndUpdateVR(*this, newTag);
- /* read the actual data value which belongs to this element */
- /* (attribute) and insert this information into the elementList */
- errorFlag = readSubElement(inStream, newTag, newValueLength, xfer, glenc, maxReadLength);
- /* if reading was successful, we read the entire data value information */
- /* for this element; hence lastElementComplete is true again */
- if (errorFlag.good())
+
+ /* check if we want to stop parsing at this point, in the main dataset only */
+ if( (stopParsingAtElement != DCM_UndefinedTagKey) && (newTag.getXTag()>=stopParsingAtElement) && ident() == EVR_dataset)
+ {
+ lastElementComplete = OFTrue;
+ readStopElem = OFTrue;
+ DCMDATA_WARN("DcmItem: Element " << newTag.getTagName() << " " << newTag
+ << " encountered, skipping rest of dataset");
+ }
+ else
+ {
+ /* read the actual data value which belongs to this element */
+ /* (attribute) and insert this information into the elementList */
+ errorFlag = readSubElement(inStream, newTag, newValueLength, xfer, glenc, maxReadLength);
+ /* if reading was successful, we read the entire data value information */
+ /* for this element; hence lastElementComplete is true again */
+ if (errorFlag.good())
lastElementComplete = OFTrue;
- /* in data or command sets, group 0x0001 to 0x0003, 0x0005, 0x0007 and 0xFFFF are not allowed. */
- /* (we cannot check for group 0x0000 since we do not know whether we read a data or command set.)*/
- if (!newTag.hasValidGroup() || (newTag.getGroup() == 0x0002))
- DCMDATA_WARN("DcmItem: Invalid Element " << newTag << " found in data set");
+
+ /* in data or command sets, group 0x0001 to 0x0003, 0x0005, 0x0007 and 0xFFFF are not allowed. */
+ /* (we cannot check for group 0x0000 since we do not know whether we read a data or command set.)*/
+ if (!newTag.hasValidGroup() || (newTag.getGroup() == 0x0002))
+ DCMDATA_WARN("DcmItem: Invalid Element " << newTag << " found in data set");
+ }
}
} else {
/* if lastElementComplete is false, we have only read the current element's */
// ********************************
-DcmElement* DcmItem::newDicomElement(const DcmTagKey& tag)
+DcmElement* DcmItem::newDicomElement(const DcmTagKey& tag,
+ const char *privateCreator)
{
- DcmTag temp(tag);
+ DcmTag temp(tag, privateCreator);
DcmElement* elem = NULL;
- OFBool readAsUN = OFFalse;
- newDicomElement(
- elem,
- temp,
- 0, // Length
- NULL, // Private creator
- readAsUN); // read as VR UN (result ignored)
+ OFBool readAsUN = OFFalse;
+ newDicomElement(
+ elem,
+ temp,
+ 0, // Length
+ NULL, // Private creator
+ readAsUN); // read as VR UN (result ignored)
return elem;
}
+OFCondition DcmItem::newDicomElementWithVR(DcmElement*& newElement, const DcmTag& tag)
+{
+ DcmTag temp(tag);
+ OFBool readAsUN = OFFalse;
+ return newDicomElement(
+ newElement,
+ temp,
+ 0, // Length
+ NULL, // Private creator
+ readAsUN); // read as VR UN (result ignored)
+}
+
+
OFCondition DcmItem::newDicomElement(DcmElement*& newElement,
- const DcmTagKey& tag)
+ const DcmTagKey& tag,
+ const char *privateCreator)
{
- DcmTag temp(tag);
+ DcmTag temp(tag, privateCreator);
newElement = NULL;
OFBool readAsUN = OFFalse;
return newDicomElement(
// Method for holding and determine if BulkDataURI should be printed.
// This also manipulate uri String, if BulkDataURI should be printed.
-OFBool DcmJsonFormat::asBulkDataURI(const DcmTagKey& tag, OFString& uri)
+OFBool DcmJsonFormat::asBulkDataURI(const DcmTagKey& /*tag*/, OFString& /*uri*/)
{
return false;
}
//Class for formatted output
-DcmJsonFormatPretty::DcmJsonFormatPretty(const OFBool printMetaheaderInformation)
-: DcmJsonFormat(printMetaheaderInformation)
+DcmJsonFormatPretty::DcmJsonFormatPretty(const OFBool printMetaInfo)
+: DcmJsonFormat(printMetaInfo)
, m_IndentionLevel(0)
{
//Class for unformatted output
-DcmJsonFormatCompact::DcmJsonFormatCompact(const OFBool printMetaheaderInformation)
-: DcmJsonFormat(printMetaheaderInformation)
+DcmJsonFormatCompact::DcmJsonFormatCompact(const OFBool printMetaInfo)
+: DcmJsonFormat(printMetaInfo)
{
}
-void DcmJsonFormatCompact::printIndention(STD_NAMESPACE ostream& out)
+void DcmJsonFormatCompact::printIndention(STD_NAMESPACE ostream& /*out*/)
{}
void DcmJsonFormatCompact::increaseIndention()
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/ofstd/ofmem.h"
+#include "dcmtk/ofstd/ofdiag.h"
#include "dcmtk/dcmdata/dcmatch.h"
#include "dcmtk/dcmdata/dcvr.h"
#include "dcmtk/dcmdata/dcvrda.h"
{
if( !dateQuerySize )
return rangeMatchingTime( timeQueryData, timeQuerySize, timeCandidateData, timeCandidateSize );
+ if( !timeQuerySize )
+ return rangeMatchingDate( dateQueryData, dateQuerySize, dateCandidateData, dateCandidateSize );
OFDateTime candidate;
if( DcmDate::getOFDateFromString( OFreinterpret_cast( const char*, dateCandidateData ), dateCandidateSize, candidate.Date ).bad() )
return OFFalse;
const DashSeparated dateQuery( dateQueryData, dateQuerySize );
const DashSeparated timeQuery( timeQueryData, timeQuerySize );
// check that both date/time ranges have the same structure
- if( ( dateQuery.first == dateQuery.second ) != ( timeQuery.first != timeQuery.second ) )
+ if( ( dateQuery.first != dateQuery.second ) != ( timeQuery.first != timeQuery.second ) )
return OFFalse;
if( ( !dateQuery.firstSize && timeQuery.firstSize ) || ( !dateQuery.secondSize && timeQuery.secondSize ) )
return OFFalse;
DcmAttributeMatching::operator OFBool() const
{
+#include DCMTK_DIAGNOSTIC_PUSH
+#include DCMTK_DIAGNOSTIC_IGNORE_VISUAL_STUDIO_PERFORMANCE_WARNING
return m_pMatch;
+#include DCMTK_DIAGNOSTIC_POP
}
OFBool DcmAttributeMatching::operator!() const
/* map "UN" to "OB" if generation of "UN" is disabled */
DcmVR outvr(getTag().getVR().getValidEVR());
- if (outvr.usesExtendedLengthEncoding())
+ if (Length > 0xffff || outvr.usesExtendedLengthEncoding())
{
- return 12;
+ // we are either using extended length encoding or the
+ // element length is > 64k (i.e. we have to convert to OB/UN).
+ // In any case we need a 12-byte header field.
+ // This is also the case for any object with undefined length,
+ // so we don't need to check that as a special case.
+ return 12;
}
}
return 8;
/* getValidEVR() will convert datatype "UN" to "OB" if generation of "UN" is disabled */
DcmEVR vr = myvr.getValidEVR();
+ myvr.setVR(vr);
+
+ if (Length > 0xffff && (!myvr.usesExtendedLengthEncoding()))
+ {
+ // Attribute length is larger than 64 kBytes.
+ // We need to encode this as UN (or OB, if generation of UN is disabled
+ if (dcmEnableUnknownVRGeneration.get()) vr = EVR_UN; else vr = EVR_OB;
+ myvr.setVR(vr);
+ }
/* get name of data type */
const char *vrname = myvr.getValidVRName();
outStream.write(&valueLength, 2); // write length, 2 bytes wide
writtenBytes += 2; // remember that 2 bytes were written in total
}
- /* ... if not, report an error message and return an error code. */
+ /* ... if not, report an error message and return an error code.
+ * This should never happen because we automatically convert such
+ * elements to UN/OB, but just in case, we leave the check in here.
+ */
else {
DcmTag tag(Tag);
DCMDATA_ERROR("DcmObject: Length of element " << tag.getTagName() << " " << tag
/*
*
- * Copyright (C) 2002-2012, OFFIS e.V.
+ * Copyright (C) 2002-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dcerror.h"
#define INCLUDE_CSTDIO
-#define INCLUDE_CERRNO
#include "dcmtk/ofstd/ofstdinc.h"
{
if (!file_.fopen(filename, "wb"))
{
- char buf[256];
- const char *text = OFStandard::strerror(errno, buf, sizeof(buf));
- if (text == NULL) text = "(unknown error code)";
- status_ = makeOFCondition(OFM_dcmdata, 19, OF_error, text);
+ OFString buffer = OFStandard::getLastSystemErrorCode().message();
+ status_ = makeOFCondition(OFM_dcmdata, 19, OF_error, buffer.c_str());
}
}
/*
*
- * Copyright (C) 1997-2010, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dcpixseq.h"
#include "dcmtk/dcmdata/dcdeftag.h"
#include "dcmtk/dcmdata/dcitem.h"
+#include "dcmtk/dcmdata/dcpxitem.h"
//
// class DcmRepresentationEntry
return *this;
}
-
-OFCondition DcmPixelData::copyFrom(const DcmObject& rhs)
-{
- if (this != &rhs)
- {
- if (rhs.ident() != ident()) return EC_IllegalCall;
- *this = OFstatic_cast(const DcmPixelData &, rhs);
- }
- return EC_Normal;
-}
-
-
// methods in alphabetical order
Uint32
const DcmRepresentationEntry findEntry(repType, repParam, NULL);
DcmRepresentationListIterator resultIt(repListEnd);
+ // find out whether we have the desired target representation available. Three possibilities:
+ // 1. we have uncompressed data, and target is uncompressed (conversion betweeen uncompressed always possible)
+ // 2. we have uncompressed and want compressed, but we are forced to write uncompressed anyway
+ // 3. we want to go to compressed, and already have the desired representation available
if ((!toType.isEncapsulated() && existUnencapsulated) ||
(toType.isEncapsulated() && writeUnencapsulated(repType) && existUnencapsulated) ||
(toType.isEncapsulated() && findRepresentationEntry(findEntry, resultIt) == EC_Normal))
// representation found
result = OFTrue;
}
+ // otherwise let's see whether we know how to convert to the target representation
else
{
// representation not found, check if we have a codec that can create the
// desired representation.
if (original == repListEnd)
{
+ // we have uncompressed data, check whether we know how to go from uncompressed to desired compression
result = DcmCodecList::canChangeCoding(EXS_LittleEndianExplicit, toType.getXfer());
}
else if (toType.isEncapsulated())
{
- result = DcmCodecList::canChangeCoding(EXS_LittleEndianExplicit, toType.getXfer());
-
+ // we have already compressed data, check whether we know how to transcode
+ result = DcmCodecList::canChangeCoding((*original)->repType, toType.getXfer());
if (!result)
{
// direct transcoding is not possible. Check if we can decode and then encode.
}
else
{
+ // target transfer syntax is uncompressed, look whether decompression is possible
result = DcmCodecList::canChangeCoding((*original)->repType, EXS_LittleEndianExplicit);
}
}
}
-void
-DcmPixelData::clearRepresentationList(
+int DcmPixelData::compare(const DcmElement& rhs) const
+{
+ // check tag and VR
+ int result = DcmElement::compare(rhs);
+ if (result != 0)
+ {
+ return result;
+ }
+
+ // cast away constness (dcmdata is not const correct...)
+ DcmPixelData* myThis = NULL;
+ DcmPixelData* myRhs = NULL;
+ myThis = OFconst_cast(DcmPixelData*, this);
+ myRhs = OFstatic_cast(DcmPixelData*, OFconst_cast(DcmElement*, &rhs));
+
+ if (myThis->existUnencapsulated && myRhs->existUnencapsulated)
+ {
+ // we have uncompressed representations, which can be compared using DcmPolymorphOBOW::compare
+ return DcmPolymorphOBOW::compare(rhs);
+ }
+
+ // both do not have uncompressed data, we must compare compressed ones.
+ // check both have a current representation at all.
+ if ((myThis->current == myThis->repList.end()) && (myRhs->current != myRhs->repList.end())) return -1;
+ if ((myThis->current != myThis->repList.end()) && (myRhs->current == myRhs->repList.end())) return 1;
+ if ((myThis->current == myThis->repList.end()) && (myRhs->current == myRhs->repList.end()))
+ {
+ // if one of both have uncompressed data at least, that one is considered "bigger"
+ if (myThis->existUnencapsulated) return 1;
+ if (myRhs->existUnencapsulated) return -1;
+ else return 0;
+ }
+
+ // both have compressed data: compare current representation (only)
+ if ((myThis->current != myThis->repList.end()) && (myRhs->current != myRhs->repList.end()) )
+ {
+ E_TransferSyntax myRep = (*(myThis->current))->repType;
+ E_TransferSyntax rhsRep = (*(myRhs->current))->repType;
+ DcmXfer myXfer(myRep);
+ DcmXfer rhsXfer(rhsRep);
+ // if both transfer syntaxes are different, we have to perform more checks to
+ // find out whether the related pixel data is comparable; this is the case
+ // for all uncompressed transfer syntaxes, except Big Endian with OW data
+ // since it uses a different memory layout, and we do not want to byte-swap
+ // the values for the comparison.
+ if (myRep != rhsRep)
+ {
+ return 1;
+ }
+ else
+ {
+ // For compressed, compare pixel items bytewise
+ DcmPixelSequence* myPix = (*(myThis->current))->pixSeq;
+ DcmPixelSequence* rhsPix = (*(myRhs->current))->pixSeq;
+ if (!myPix && rhsPix) return -1;
+ if (myPix && !rhsPix) return 1;
+ if (!myPix && !rhsPix) return 0;
+ // Check number of pixel items
+ long unsigned int myNumPix = myPix->card();
+ long unsigned int rhsNumPix = rhsPix->card();
+ if (myNumPix < rhsNumPix) return -1;
+ if (myNumPix > rhsNumPix) return 1;
+ // loop over pixel items, both have the same number of pixel items
+ for (unsigned long n = 0; n < myNumPix; n++)
+ {
+ DcmPixelItem* myPixItem = NULL;
+ DcmPixelItem* rhsPixItem = NULL;
+ if (myPix->getItem(myPixItem, n).good() && rhsPix->getItem(rhsPixItem, n).good())
+ {
+ // compare them value by value, using DcmOtherByteOtherWord::compare() method
+ int result = myPixItem->compare(*rhsPixItem);
+ if (result != 0)
+ {
+ return result;
+ }
+ }
+ else
+ {
+ DCMDATA_ERROR("Internal error: Could not get pixel item #" << n << " from Pixel Sequence");
+ return 1;
+ }
+ }
+ return 0;
+ }
+ }
+ // if one of both have a current representation; consider that one "bigger".
+ // if none has a current one, consider both equal (neither uncompressed or compressed data present).
+ else
+ {
+ if (myThis->current != myThis->repList.end()) return 1;
+ if (myRhs->current != myRhs->repList.end()) return -1;
+ else return 0;
+ }
+}
+
+OFCondition DcmPixelData::copyFrom(const DcmObject& rhs)
+{
+ if (this != &rhs)
+ {
+ if (rhs.ident() != ident()) return EC_IllegalCall;
+ *this = OFstatic_cast(const DcmPixelData &, rhs);
+ }
+ return EC_Normal;
+}
+
+void DcmPixelData::clearRepresentationList(
DcmRepresentationListIterator leaveInList)
{
/* define iterators to go through all representations in the list */
myThis = OFconst_cast(DcmSequenceOfItems*, this);
myRhs = OFstatic_cast(DcmSequenceOfItems*, OFconst_cast(DcmElement*, &rhs));
- /* iterate over all items and test equality */
+ /* check number of items */
+ unsigned long rhsVM = myRhs->card();
unsigned long thisVM = myThis->card();
+ if (thisVM < rhsVM)
+ {
+ return -1;
+ }
+ else if (thisVM > rhsVM)
+ {
+ return 1;
+ }
+
+ /* iterate over all items and test equality */
for (unsigned long count = 0; count < thisVM; count++)
{
DcmItem* val = myThis->getItem(count);
return result;
}
}
- else
- {
- break; // values equal until this point (rhs shorter)
- }
}
}
- /* we get here if all values are equal. Now look at the number of components. */
- unsigned long rhsVM = myRhs->card();
- if (thisVM < rhsVM)
- {
- return -1;
- }
- else if (thisVM > rhsVM)
- {
- return 1;
- }
-
/* all values as well as VM equal: objects are equal */
return 0;
}
* in the buffer, check if the buffer is still sufficient for the requirements
* of this element, which may need only 8 instead of 12 bytes.
*/
- if ((outStream.avail() >= DCM_TagInfoLength) ||
- (outStream.avail() >= getTagAndLengthSize(oxfer)))
+ if ((outStream.avail() >= OFstatic_cast(offile_off_t, DCM_TagInfoLength)) ||
+ (outStream.avail() >= OFstatic_cast(offile_off_t, getTagAndLengthSize(oxfer))))
{
if (enctype == EET_ExplicitLength)
setLengthField(getLength(oxfer, enctype));
* in the buffer, check if the buffer is still sufficient for the requirements
* of this element, which may need only 8 instead of 12 bytes.
*/
- if ((outStream.avail() >= DCM_TagInfoLength) ||
- (outStream.avail() >= getTagAndLengthSize(oxfer)))
+ if ((outStream.avail() >= OFstatic_cast(offile_off_t, DCM_TagInfoLength)) ||
+ (outStream.avail() >= OFstatic_cast(offile_off_t, getTagAndLengthSize(oxfer))))
{
if (enctype == EET_ExplicitLength)
setLengthField(getLength(oxfer, enctype));
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#ifdef HAVE_WINDOWS_H
-#include <windows.h> /* this includes either winsock.h or winsock2.h */
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h> /* include winsock.h directly i.e. on MacOS */
-#endif
+// on Windows, we need Winsock2 for getting network adapter information
+#include <winsock2.h>
+#include <iphlpapi.h>
#endif
#define INCLUDE_CSTDLIB
#include "dcmtk/ofstd/ofcrc32.h"
#include "dcmtk/ofstd/ofdefine.h"
#include "dcmtk/ofstd/ofstd.h"
+#include "dcmtk/ofstd/ofvector.h"
#include "dcmtk/ofstd/ofnetdb.h"
struct UIDNameMap {
{ UID_HEVCMain10ProfileLevel5_1TransferSyntax, "HEVCMain10Profile/Level5.1" },
{ UID_RFC2557MIMEEncapsulationTransferSyntax, "RFC2557MIMEEncapsulation" },
{ UID_XMLEncodingTransferSyntax, "XMLEncoding" },
+ { UID_PrivateGE_LEI_WithBigEndianPixelDataTransferSyntax, "PrivateGELittleEndianImplicitWithBigEndianPixelData" },
// Storage (DICOM)
{ UID_AcquisitionContextSRStorage, "AcquisitionContextSRStorage" },
+ { UID_AdvancedBlendingPresentationStateStorage, "AdvancedBlendingPresentationStateStorage" },
{ UID_AmbulatoryECGWaveformStorage, "AmbulatoryECGWaveformStorage" },
{ UID_ArterialPulseWaveformStorage, "ArterialPulseWaveformStorage" },
{ UID_AutorefractionMeasurementsStorage, "AutorefractionMeasurementsStorage" },
{ UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage, "MultiframeGrayscaleWordSecondaryCaptureImageStorage" },
{ UID_MultiframeSingleBitSecondaryCaptureImageStorage, "MultiframeSingleBitSecondaryCaptureImageStorage" },
{ UID_MultiframeTrueColorSecondaryCaptureImageStorage, "MultiframeTrueColorSecondaryCaptureImageStorage" },
+ { UID_MultipleVolumeRenderingVolumetricPresentationStateStorage, "MultipleVolumeRenderingVolumetricPresentationStateStorage" },
{ UID_NuclearMedicineImageStorage, "NuclearMedicineImageStorage" },
{ UID_OphthalmicAxialMeasurementsStorage, "OphthalmicAxialMeasurementsStorage" },
+ { UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage, "OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage" },
+ { UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage, "OphthalmicOpticalCoherenceTomographyEnFaceImageStorage" },
{ UID_OphthalmicPhotography16BitImageStorage, "OphthalmicPhotography16BitImageStorage" },
{ UID_OphthalmicPhotography8BitImageStorage, "OphthalmicPhotography8BitImageStorage" },
{ UID_OphthalmicThicknessMapStorage, "OphthalmicThicknessMapStorage" },
{ UID_OphthalmicTomographyImageStorage, "OphthalmicTomographyImageStorage" },
{ UID_OphthalmicVisualFieldStaticPerimetryMeasurementsStorage, "OphthalmicVisualFieldStaticPerimetryMeasurementsStorage" },
{ UID_ParametricMapStorage, "ParametricMapStorage" },
+ { UID_PatientRadiationDoseSRStorage, "PatientRadiationDoseSRStorage" },
{ UID_PositronEmissionTomographyImageStorage, "PositronEmissionTomographyImageStorage" },
{ UID_ProcedureLogStorage, "ProcedureLogStorage" },
{ UID_PseudoColorSoftcopyPresentationStateStorage, "PseudoColorSoftcopyPresentationStateStorage" },
{ UID_RTTreatmentSummaryRecordStorage, "RTTreatmentSummaryRecordStorage" },
{ UID_SecondaryCaptureImageStorage, "SecondaryCaptureImageStorage" },
{ UID_SegmentationStorage, "SegmentationStorage" },
+ { UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage, "SegmentedVolumeRenderingVolumetricPresentationStateStorage" },
{ UID_SimplifiedAdultEchoSRStorage, "SimplifiedAdultEchoSRStorage" },
{ UID_SpatialFiducialsStorage, "SpatialFiducialsStorage" },
{ UID_SpatialRegistrationStorage, "SpatialRegistrationStorage" },
{ UID_VLPhotographicImageStorage, "VLPhotographicImageStorage" },
{ UID_VLSlideCoordinatesMicroscopicImageStorage, "VLSlideCoordinatesMicroscopicImageStorage" },
{ UID_VLWholeSlideMicroscopyImageStorage, "VLWholeSlideMicroscopyImageStorage" },
+ { UID_VolumeRenderingVolumetricPresentationStateStorage, "VolumeRenderingVolumetricPresentationStateStorage" },
{ UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, "WideFieldOphthalmicPhotographyStereographicProjectionImageStorage" },
{ UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, "WideFieldOphthalmicPhotography3DCoordinatesImageStorage" },
{ UID_XAXRFGrayscaleSoftcopyPresentationStateStorage, "XAXRFGrayscaleSoftcopyPresentationStateStorage" },
const char* dcmAllStorageSOPClassUIDs[] = {
UID_AcquisitionContextSRStorage,
+ UID_AdvancedBlendingPresentationStateStorage,
UID_AmbulatoryECGWaveformStorage,
UID_ArterialPulseWaveformStorage,
UID_AutorefractionMeasurementsStorage,
UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage,
UID_MultiframeSingleBitSecondaryCaptureImageStorage,
UID_MultiframeTrueColorSecondaryCaptureImageStorage,
+ UID_MultipleVolumeRenderingVolumetricPresentationStateStorage,
UID_NuclearMedicineImageStorage,
UID_OphthalmicAxialMeasurementsStorage,
+ UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage,
+ UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage,
UID_OphthalmicPhotography16BitImageStorage,
UID_OphthalmicPhotography8BitImageStorage,
UID_OphthalmicThicknessMapStorage,
UID_OphthalmicTomographyImageStorage,
UID_OphthalmicVisualFieldStaticPerimetryMeasurementsStorage,
UID_ParametricMapStorage,
+ UID_PatientRadiationDoseSRStorage,
UID_PositronEmissionTomographyImageStorage,
UID_ProcedureLogStorage,
UID_PseudoColorSoftcopyPresentationStateStorage,
UID_RTTreatmentSummaryRecordStorage,
UID_SecondaryCaptureImageStorage,
UID_SegmentationStorage,
+ UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage,
UID_SimplifiedAdultEchoSRStorage,
UID_SpatialFiducialsStorage,
UID_SpatialRegistrationStorage,
UID_VLPhotographicImageStorage,
UID_VLSlideCoordinatesMicroscopicImageStorage,
UID_VLWholeSlideMicroscopyImageStorage,
+ UID_VolumeRenderingVolumetricPresentationStateStorage,
UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage,
UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage,
UID_XAXRFGrayscaleSoftcopyPresentationStateStorage,
UID_XRayRadiofluoroscopicImageStorage,
// recently approved
// UID_AcquisitionContextSRStorage,
+// UID_AdvancedBlendingPresentationStateStorage,
// UID_BreastProjectionXRayImageStorageForPresentation,
// UID_BreastProjectionXRayImageStorageForProcessing,
// UID_CompositingPlanarMPRVolumetricPresentationStateStorage,
// UID_CTPerformedProcedureProtocolStorage,
// UID_ExtensibleSRStorage,
// UID_GrayscalePlanarMPRVolumetricPresentationStateStorage
+// UID_MultipleVolumeRenderingVolumetricPresentationStateStorage,
+// UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage,
+// UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage,
// UID_ParametricMapStorage,
+// UID_PatientRadiationDoseSRStorage,
// UID_RadiopharmaceuticalRadiationDoseSRStorage,
// UID_RTBrachyApplicationSetupDeliveryInstructionStorage,
+// UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage,
// UID_SimplifiedAdultEchoSRStorage,
// UID_TractographyResultsStorage,
+// UID_VolumeRenderingVolumetricPresentationStateStorage,
// UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage,
// UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage,
// non-patient
UID_MultiframeSingleBitSecondaryCaptureImageStorage,
UID_MultiframeTrueColorSecondaryCaptureImageStorage,
UID_NuclearMedicineImageStorage,
+ UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage,
+ UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage,
UID_OphthalmicPhotography16BitImageStorage,
UID_OphthalmicPhotography8BitImageStorage,
UID_OphthalmicThicknessMapStorage,
*/
static const DcmModalityTable modalities[] = {
{ UID_AcquisitionContextSRStorage, "SRa", 4096 },
+ { UID_AdvancedBlendingPresentationStateStorage, "PSa", 4096 },
{ UID_AmbulatoryECGWaveformStorage, "ECA", 4096 },
{ UID_ArterialPulseWaveformStorage, "WVa", 4096 },
{ UID_AutorefractionMeasurementsStorage, "OPa", 4096 },
{ UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage, "SCw", 512 * 512 * 2 },
{ UID_MultiframeSingleBitSecondaryCaptureImageStorage, "SCs", 1024 * 1024 }, /* roughly an A4 300dpi scan */
{ UID_MultiframeTrueColorSecondaryCaptureImageStorage, "SCc", 512 * 512 * 3 },
+ { UID_MultipleVolumeRenderingVolumetricPresentationStateStorage, "VPm" , 4096 },
{ UID_NuclearMedicineImageStorage, "NM", 64 * 64 * 2 },
{ UID_OphthalmicAxialMeasurementsStorage, "OPx", 4096 },
+ { UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage, "OCb" , 768 * 576 },
+ { UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage, "OCe", 768 * 576 * 2 },
{ UID_OphthalmicPhotography16BitImageStorage, "OPw", 768 * 576 * 6 },
{ UID_OphthalmicPhotography8BitImageStorage, "OPb", 768 * 576 * 3 },
{ UID_OphthalmicThicknessMapStorage, "OPm", 768 * 576 },
{ UID_OphthalmicTomographyImageStorage, "OPt", 768 * 576 * 3 },
{ UID_OphthalmicVisualFieldStaticPerimetryMeasurementsStorage, "OPp", 4096 },
{ UID_ParametricMapStorage, "PM", 256 * 256 * 4 },
+ { UID_PatientRadiationDoseSRStorage, "SRq", 4096 },
{ UID_PositronEmissionTomographyImageStorage, "PI", 512 * 512 * 2 },
{ UID_ProcedureLogStorage, "SRp", 4096 },
{ UID_PseudoColorSoftcopyPresentationStateStorage, "PSp", 4096 },
{ UID_RTTreatmentSummaryRecordStorage, "RTs", 4096 },
{ UID_SecondaryCaptureImageStorage, "SC", 512 * 512 * 2 },
{ UID_SegmentationStorage, "SG", 4096 },
+ { UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage, "VPs", 4096 },
{ UID_SimplifiedAdultEchoSRStorage, "SRu", 4096 },
{ UID_SpatialFiducialsStorage, "FID", 4096 },
{ UID_SpatialRegistrationStorage, "RGs", 4096 },
{ UID_VLMicroscopicImageStorage, "VLm", 768 * 576 * 3 },
{ UID_VLPhotographicImageStorage, "VLp", 768 * 576 * 3 },
{ UID_VLSlideCoordinatesMicroscopicImageStorage, "VLs", 768 * 576 * 3 },
- { UID_VLWholeSlideMicroscopyImageStorage, "VLw", 10000 * 10000 * 3},
+ { UID_VLWholeSlideMicroscopyImageStorage, "VLw", 10000 * 10000 * 3 },
+ { UID_VolumeRenderingVolumetricPresentationStateStorage, "VPv", 4096 },
{ UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, "OWs", 768 * 576 * 3 },
{ UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, "OW3", 768 * 576 * 3 },
{ UID_XAXRFGrayscaleSoftcopyPresentationStateStorage, "PSx", 4096 },
#ifndef HAVE_GETHOSTID
#if defined(HAVE_SYSINFO) && defined(HAVE_SYS_SYSTEMINFO_H)
+/* Implementation of gethostid() based on sysinfo().
+ * This implementation is used, for example, on Solaris.
+ */
#include <sys/systeminfo.h>
static long gethostid(void)
{
- char buf[256];
if (sysinfo(SI_HW_SERIAL, buf, 128) == -1) {
- DCMDATA_FATAL("sysinfo: " << OFStandard::strerror(errno, buf, sizeof(buf)));
+ DCMDATA_FATAL("sysinfo: " << OFStandard::getLastSystemErrorCode().message());
exit(1);
}
#ifdef HAVE_STRTOUL
*/
#if (defined(HAVE_GETHOSTNAME) && defined(HAVE_GETHOSTBYNAME)) || defined(HAVE_WINDOWS_H)
-// 16K should be large enough to handle everything pointed to by a struct hostent
-#define GETHOSTBYNAME_R_BUFSIZE 16384
-
-/* On Windows systems specify a routine to determine the MAC address of the Ethernet adapter */
-/* Special handling for MinGW which does not yet (as of MinGW 2.0) support snmp.h */
-#if defined(HAVE_WINDOWS_H) && !defined(__MINGW32__)
-
-#include <snmp.h>
-
-// Visual C++ prior to version 6 declared different type names
-// in <snmp.h>, so we need to define a mapping
-#if _MSC_VER < 1200
-typedef RFC1157VarBind SnmpVarBind;
-typedef RFC1157VarBindList SnmpVarBindList;
-typedef AsnInteger AsnInteger32;
-#define SNMP_PDU_GETNEXT ASN_RFC1157_GETNEXTREQUEST
-#endif
-
-
-typedef int(WINAPI *pSnmpUtilOidCpy) (
- OUT AsnObjectIdentifier *pOidDst,
- IN AsnObjectIdentifier *pOidSrc);
+#ifdef _WIN32
-typedef int(WINAPI *pSnmpUtilOidNCmp) (
- IN AsnObjectIdentifier *pOid1,
- IN AsnObjectIdentifier *pOid2,
- IN UINT nSubIds);
-
-typedef void(WINAPI *pSnmpUtilVarBindFree) (
- IN OUT SnmpVarBind *pVb);
-
-typedef bool(WINAPI *pSnmpExtensionInit) (
- IN DWORD dwTimeZeroReference,
- OUT HANDLE *hPollForTrapEvent,
- OUT AsnObjectIdentifier *supportedView);
-
-typedef bool(WINAPI *pSnmpExtensionQuery) (
- IN BYTE requestType,
- IN OUT SnmpVarBindList *variableBindings,
- OUT AsnInteger32 *errorStatus,
- OUT AsnInteger32 *errorIndex);
-
-typedef struct _ASTAT_
-{
- ADAPTER_STATUS adapt;
- NAME_BUFFER NameBuff[30];
-} ASTAT, *PASTAT;
-
-/* get the MAC address of the (first) Ethernet adapter (6 bytes) */
-static unsigned char *getMACAddress(unsigned char buffer[6])
+/* On Windows systems specify a routine to determine the MAC address of the Ethernet adapter.
+ * This implementation uses Win32 system calls available on Windows 2000 and newer.
+ * A different implementation supporting Windows 95 was used in DCMTK releases up to 3.6.0,
+ * but that implementation does not work reliably anymore on Windows 10.
+ */
+static IP_ADAPTER_INFO* getMACAddresses(OFVector<Uint8>& buffer)
{
- OFBool success = OFFalse;
- /* init return variable */
- memzero(buffer, 6 * sizeof(unsigned char));
- NCB ncb;
- memzero(&ncb, sizeof(ncb));
- /* reset the LAN adapter */
- ncb.ncb_command = NCBRESET;
- /* it is considered bad practice to hardcode the LANA number (should enumerate
- adapters first), but at least this approach also works on Windows 9x */
- ncb.ncb_lana_num = 0;
- if (Netbios(&ncb) == NRC_GOODRET)
- {
- ASTAT Adapter;
- /* prepare to get the adapter status block */
- memzero(&ncb, sizeof(ncb));
- ncb.ncb_command = NCBASTAT;
- /* it is considered bad practice to hardcode the LANA number (should enumerate
- adapters first), but at least this approach also works on Windows 9x */
- ncb.ncb_lana_num = 0;
- strcpy((char *)ncb.ncb_callname, "*");
- ncb.ncb_buffer = (unsigned char *)&Adapter;
- ncb.ncb_length = sizeof(Adapter);
- /* get the adapter's info */
- if (Netbios(&ncb) == 0)
- {
- /* store the MAC address */
- buffer[0] = Adapter.adapt.adapter_address[0];
- buffer[1] = Adapter.adapt.adapter_address[1];
- buffer[2] = Adapter.adapt.adapter_address[2];
- buffer[3] = Adapter.adapt.adapter_address[3];
- buffer[4] = Adapter.adapt.adapter_address[4];
- buffer[5] = Adapter.adapt.adapter_address[5];
- success = OFTrue;
- }
- }
- /* check whether NetBIOS routines succeeded, if not try the SNMP approach */
- if (!success)
- {
- HINSTANCE m_hInst1, m_hInst2;
- /* load the "SNMP Utility Library" dll and get the addresses of the functions necessary */
- m_hInst1 = LoadLibrary("snmpapi.dll");
- if (m_hInst1 >= (HINSTANCE)HINSTANCE_ERROR)
- {
- pSnmpUtilOidCpy m_Copy = (pSnmpUtilOidCpy)GetProcAddress(m_hInst1, "SnmpUtilOidCpy");
- pSnmpUtilOidNCmp m_Compare = (pSnmpUtilOidNCmp)GetProcAddress(m_hInst1, "SnmpUtilOidNCmp");
- pSnmpUtilVarBindFree m_BindFree = (pSnmpUtilVarBindFree)GetProcAddress(m_hInst1, "SnmpUtilVarBindFree");
- /* load the "SNMP Internet MIB" dll and get the addresses of the functions necessary */
- m_hInst2 = LoadLibrary("inetmib1.dll");
- if (m_hInst2 >= (HINSTANCE)HINSTANCE_ERROR)
- {
- HANDLE PollForTrapEvent;
- AsnObjectIdentifier SupportedView;
- UINT OID_ifEntryType[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 3};
- UINT OID_ifEntryNum[] = {1, 3, 6, 1, 2, 1, 2, 1};
- UINT OID_ipMACEntAddr[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 6};
- AsnObjectIdentifier MIB_ifMACEntAddr = {sizeof(OID_ipMACEntAddr) / sizeof(UINT), OID_ipMACEntAddr};
- AsnObjectIdentifier MIB_ifEntryType = {sizeof(OID_ifEntryType) / sizeof(UINT), OID_ifEntryType};
- SnmpVarBindList varBindList;
- SnmpVarBind varBind[2];
- AsnInteger32 errorStatus;
- AsnInteger32 errorIndex;
- AsnObjectIdentifier MIB_NULL = {0, 0};
- int ret;
- int dtmp;
- int j = 0;
- pSnmpExtensionInit m_Init = (pSnmpExtensionInit)GetProcAddress(m_hInst2, "SnmpExtensionInit");
- pSnmpExtensionQuery m_Query = (pSnmpExtensionQuery)GetProcAddress(m_hInst2, "SnmpExtensionQuery");
- m_Init(GetTickCount(), &PollForTrapEvent, &SupportedView);
- /* initialize the variable list to be retrieved by m_Query */
- varBindList.list = varBind;
- varBind[0].name = MIB_NULL;
- varBind[1].name = MIB_NULL;
- varBindList.len = 2;
- /* copy in the OID of ifType, the type of interface */
- m_Copy(&varBind[0].name, &MIB_ifEntryType);
- /* copy in the OID of ifPhysAddress, the address */
- m_Copy(&varBind[1].name, &MIB_ifMACEntAddr);
- do {
- /* Submit the query. Responses will be loaded into varBindList.
- We can expect this call to succeed a # of times corresponding
- to the # of adapters reported to be in the system */
- ret = m_Query(SNMP_PDU_GETNEXT, &varBindList, &errorStatus, &errorIndex);
- if (!ret)
- ret = 1;
- else
- {
- /* confirm that the proper type has been returned */
- ret = m_Compare(&varBind[0].name, &MIB_ifEntryType, MIB_ifEntryType.idLength);
- }
- if (!ret)
- {
- j++;
- dtmp = varBind[0].value.asnValue.number;
- /* type 6 describes ethernet interfaces */
- if (dtmp == 6)
- {
- /* confirm that we have an address here */
- ret = m_Compare(&varBind[1].name, &MIB_ifMACEntAddr,MIB_ifMACEntAddr.idLength);
- if ((!ret) && (varBind[1].value.asnValue.address.stream != NULL))
- {
- if ((varBind[1].value.asnValue.address.stream[0] == 0x44) &&
- (varBind[1].value.asnValue.address.stream[1] == 0x45) &&
- (varBind[1].value.asnValue.address.stream[2] == 0x53) &&
- (varBind[1].value.asnValue.address.stream[3] == 0x54) &&
- (varBind[1].value.asnValue.address.stream[4] == 0x00))
- {
- /* ignore all dial-up networking adapters */
- continue;
- }
- if ((varBind[1].value.asnValue.address.stream[0] == 0x00) &&
- (varBind[1].value.asnValue.address.stream[1] == 0x00) &&
- (varBind[1].value.asnValue.address.stream[2] == 0x00) &&
- (varBind[1].value.asnValue.address.stream[3] == 0x00) &&
- (varBind[1].value.asnValue.address.stream[4] == 0x00) &&
- (varBind[1].value.asnValue.address.stream[5] == 0x00))
- {
- /* ignore NULL addresses returned by other network interfaces */
- continue;
- }
- /* store the MAC address */
- buffer[0] = varBind[1].value.asnValue.address.stream[0];
- buffer[1] = varBind[1].value.asnValue.address.stream[1];
- buffer[2] = varBind[1].value.asnValue.address.stream[2];
- buffer[3] = varBind[1].value.asnValue.address.stream[3];
- buffer[4] = varBind[1].value.asnValue.address.stream[4];
- buffer[5] = varBind[1].value.asnValue.address.stream[5];
- ret = 1; // we found an address -> exit
- }
- }
- }
- } while (!ret); /* Stop only on an error. An error will occur when we
- go exhaust the list of interfaces to be examined */
- FreeLibrary(m_hInst2);
- /* free the bindings */
- m_BindFree(&varBind[0]);
- m_BindFree(&varBind[1]);
- }
- FreeLibrary(m_hInst1);
- }
- }
- return buffer;
+ // get adapter info using OFVector to allocate memory
+ DWORD bufferSize = 0;
+ DWORD status = GetAdaptersInfo(OFnullptr, &bufferSize);
+ if (status == ERROR_BUFFER_OVERFLOW)
+ {
+ buffer.resize(bufferSize);
+ status = GetAdaptersInfo(OFreinterpret_cast(IP_ADAPTER_INFO*, &*buffer.begin()), &bufferSize);
+ }
+ if (status == ERROR_SUCCESS)
+ return OFreinterpret_cast(IP_ADAPTER_INFO*, &*buffer.begin());
+ // print out the error message for debugging
+ OFString message;
+ LPVOID errBuf = OFnullptr;
+ if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
+ OFnullptr, status, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), OFreinterpret_cast(LPTSTR, &errBuf), 0, OFnullptr) > 0)
+ {
+ message = OFstatic_cast(const char*, errBuf);
+ // remove "\r\n"
+ if (message.size() >= 2 && message.substr(message.length() - 2) == "\r\n")
+ message = message.substr(0, message.length() - 2);
+ }
+ LocalFree(errBuf);
+ if (!message.empty())
+ {
+ DCMDATA_WARN("GetAdaptersInfo() failed with the error: '" << message << '\'');
+ }
+ else
+ {
+ DCMDATA_WARN("GetAdaptersInfo() failed with an unknown error");
+ }
+ // a null pointer indicates that no adapter is available
+ return OFnullptr;
}
#endif
char name[1024];
char **p = NULL;
struct in_addr in;
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD(1, 1);
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+
+ OFStandard::initializeNetwork();
+
/*
** Define the hostid to be the system's main TCP/IP address.
** This is not perfect but it is better than nothing (i.e. using zero)
}
}
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+
+ OFStandard::shutdownNetwork();
#endif /* defined(HAVE_GETHOSTNAME) && defined(HAVE_GETHOSTBYNAME) */
/* on Windows systems determine some system specific information (e.g. MAC address) */
#ifdef HAVE_WINDOWS_H
}
/* concatenate the host specific elements and compute a 32-bit checksum */
crc.addBlock(&result /*ip address*/, OFstatic_cast(unsigned long, sizeof(result)));
-#ifndef __MINGW32__
- /* on MinGW, getMacAddress() is not yet available. */
- unsigned char buffer[6];
- crc.addBlock(getMACAddress(buffer), sizeof(buffer));
-#endif
+ // add the MAC addresses of all adapters
+ {
+ OFVector<Uint8> buffer;
+ for (IP_ADAPTER_INFO* adapterInfo = getMACAddresses(buffer); adapterInfo; adapterInfo = adapterInfo->Next)
+ crc.addBlock(adapterInfo->Address, adapterInfo->AddressLength);
+ }
crc.addBlock(&serialNumber, OFstatic_cast(unsigned long, sizeof(serialNumber)));
crc.addBlock(&systemInfo.wProcessorLevel, OFstatic_cast(unsigned long, sizeof(systemInfo.wProcessorLevel)));
crc.addBlock(&systemInfo.wProcessorRevision, OFstatic_cast(unsigned long, sizeof(systemInfo.wProcessorRevision)));
#define DCMVR_PROP_EXTENDEDLENGTHENCODING 0x04
#define DCMVR_PROP_ISASTRING 0x08
#define DCMVR_PROP_ISAFFECTEDBYCHARSET 0x10
+#define DCMVR_PROP_ISLENGTHINCHAR 0x20
struct DcmVREntry {
DcmEVR vr; // Enumeration Value of Value representation
const char* vrName; // Name of Value representation
const OFString* delimiterChars; // Delimiter characters, switch to default charset
size_t fValWidth; // Length of minimal unit, used for swapping
- int propertyFlags; // Normal, internal, non-standard vr
- Uint32 minValueLength; // Minimum length of a single value (bytes)
- Uint32 maxValueLength; // Maximum length of a single value (bytes)
+ int propertyFlags; // Normal, internal, non-standard VR, etc.
+ Uint32 minValueLength; // Minimum length of a single value (bytes or characters)
+ Uint32 maxValueLength; // Maximum length of a single value (bytes or characters)
};
static const OFString noDelimiters; // none
{ EVR_FL, "FL", &noDelimiters, sizeof(Float32), DCMVR_PROP_NONE, 4, 4 },
{ EVR_FD, "FD", &noDelimiters, sizeof(Float64), DCMVR_PROP_NONE, 8, 8 },
{ EVR_IS, "IS", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING, 0, 12 },
- { EVR_LO, "LO", &bsDelimiter, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET, 0, 64 },
- { EVR_LT, "LT", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET, 0, 10240 },
+ { EVR_LO, "LO", &bsDelimiter, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET | DCMVR_PROP_ISLENGTHINCHAR, 0, 64 },
+ { EVR_LT, "LT", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET | DCMVR_PROP_ISLENGTHINCHAR, 0, 10240 },
{ EVR_OB, "OB", &noDelimiters, sizeof(Uint8), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
- { EVR_OD, "OD", &noDelimiters, sizeof(Float64), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
- { EVR_OF, "OF", &noDelimiters, sizeof(Float32), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
+ { EVR_OD, "OD", &noDelimiters, sizeof(Float64), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, 4294967288U },
+ { EVR_OF, "OF", &noDelimiters, sizeof(Float32), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, 4294967292U },
{ EVR_OL, "OL", &noDelimiters, sizeof(Uint32), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
{ EVR_OW, "OW", &noDelimiters, sizeof(Uint16), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
- { EVR_PN, "PN", &pnDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET, 0, 64 },
- { EVR_SH, "SH", &bsDelimiter, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET, 0, 16 },
+ { EVR_PN, "PN", &pnDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET | DCMVR_PROP_ISLENGTHINCHAR, 0, 64 },
+ { EVR_SH, "SH", &bsDelimiter, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET | DCMVR_PROP_ISLENGTHINCHAR, 0, 16 },
{ EVR_SL, "SL", &noDelimiters, sizeof(Sint32), DCMVR_PROP_NONE, 4, 4 },
{ EVR_SQ, "SQ", &noDelimiters, 0, DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
{ EVR_SS, "SS", &noDelimiters, sizeof(Sint16), DCMVR_PROP_NONE, 2, 2 },
- { EVR_ST, "ST", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET, 0, 1024 },
+ { EVR_ST, "ST", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET | DCMVR_PROP_ISLENGTHINCHAR, 0, 1024 },
{ EVR_TM, "TM", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING, 0, 16 },
- { EVR_UC, "UC", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_ISAFFECTEDBYCHARSET, 0, DCM_UndefinedLength },
+ { EVR_UC, "UC", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_ISAFFECTEDBYCHARSET, 0, 4294967294U },
{ EVR_UI, "UI", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING, 0, 64 },
{ EVR_UL, "UL", &noDelimiters, sizeof(Uint32), DCMVR_PROP_NONE, 4, 4 },
- { EVR_UR, "UR", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING|DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
+ { EVR_UR, "UR", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING|DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, 4294967294U },
{ EVR_US, "US", &noDelimiters, sizeof(Uint16), DCMVR_PROP_NONE, 2, 2 },
- { EVR_UT, "UT", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_ISAFFECTEDBYCHARSET, 0, DCM_UndefinedLength },
+ { EVR_UT, "UT", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_ISAFFECTEDBYCHARSET, 0, 4294967294U },
{ EVR_ox, "ox", &noDelimiters, sizeof(Uint8), DCMVR_PROP_NONSTANDARD | DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
{ EVR_xs, "xs", &noDelimiters, sizeof(Uint16), DCMVR_PROP_NONSTANDARD, 2, 2 },
{ EVR_lt, "lt", &noDelimiters, sizeof(Uint16), DCMVR_PROP_NONSTANDARD | DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
{
return *DcmVRDict[vr].delimiterChars;
}
+
+/* returns true if VR length is in char */
+OFBool
+DcmVR::isLengthInChar() const
+{
+ return (DcmVRDict[vr].propertyFlags & DCMVR_PROP_ISLENGTHINCHAR) ? OFTrue : OFFalse;
+}
/*
*
- * Copyright (C) 1994-2010, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/dcmdata/dcvrae.h"
+#include "dcmtk/dcmdata/dcmatch.h"
#define MAX_AE_LENGTH 16
{
return DcmByteString::checkStringValue(value, vm, "ae", 13, MAX_AE_LENGTH);
}
+
+
+OFBool DcmApplicationEntity::matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ if (enableWildCardMatching)
+ return DcmAttributeMatching::wildCardMatching(key.c_str(), key.length(), candidate.c_str(), candidate.length());
+ else
+ return DcmByteString::matches(key, candidate, OFFalse);
+}
myThis = OFconst_cast(DcmAttributeTag*, this);
myRhs = OFstatic_cast(DcmAttributeTag*, OFconst_cast(DcmElement*, &rhs));
- /* iterate over all components and test equality */
+ /* compare VMs */
unsigned long thisVM = myThis->getVM();
+ unsigned long rhsVM = myRhs->getVM();
+ if (thisVM < rhsVM)
+ {
+ return -1;
+ }
+ else if (thisVM > rhsVM)
+ {
+ return 1;
+ }
+
+ /* iterate over all components and test equality */
for (unsigned long count = 0; count < thisVM; count++)
{
DcmTagKey val;
}
/* otherwise they are equal, continue comparison */
}
- else
- {
- break; // values equal until this point (rhs shorter)
- }
}
}
- /* we get here if all values are equal. Now look at the number of components. */
- unsigned long rhsVM = myRhs->getVM();
- if (thisVM < rhsVM)
- {
- return -1;
- }
- else if (thisVM > rhsVM)
- {
- return 1;
- }
-
/* all values as well as VM equal: objects are equal */
return 0;
}
/*
*
- * Copyright (C) 1994-2010, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/ofstdinc.h"
#include "dcmtk/dcmdata/dcvrcs.h"
+#include "dcmtk/dcmdata/dcmatch.h"
#define MAX_CS_LENGTH 16
{
return DcmByteString::checkStringValue(value, vm, "cs", 10, MAX_CS_LENGTH);
}
+
+
+OFBool DcmCodeString::matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ if (enableWildCardMatching)
+ return DcmAttributeMatching::wildCardMatching(key.c_str(), key.length(), candidate.c_str(), candidate.length());
+ else
+ return DcmByteString::matches(key, candidate, OFFalse);
+}
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/dcmdata/dcvrda.h"
+#include "dcmtk/dcmdata/dcvrtm.h"
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
+#include "dcmtk/dcmdata/dcmatch.h"
// ********************************
}
return result;
}
+
+OFBool DcmDate::matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ OFstatic_cast(void,enableWildCardMatching);
+ return DcmAttributeMatching::rangeMatchingDate(key.c_str(), key.length(), candidate.c_str(), candidate.length());
+}
+
+OFBool DcmDate::combinationMatches(const DcmElement& keySecond,
+ const DcmElement& candidateFirst,
+ const DcmElement& candidateSecond) const
+{
+ if (keySecond.ident() == EVR_TM && candidateFirst.ident() == EVR_DA && candidateSecond.ident() == EVR_TM)
+ {
+ // do many const casts, but we do not modify the value, I promise...
+ DcmDate& queryDate = OFconst_cast(DcmDate&, *this);
+ DcmDate& candidateDate = OFconst_cast(DcmDate&, OFstatic_cast(const DcmDate&, candidateFirst));
+ DcmTime& queryTime = OFconst_cast(DcmTime&, OFstatic_cast(const DcmTime&, keySecond));
+ DcmTime& candidateTime = OFconst_cast(DcmTime&, OFstatic_cast(const DcmTime&, candidateSecond));
+ OFString a0, a1, b0, b1;
+ // no support for VM>1 so far!
+ return queryDate.getOFString( a0, 0, OFTrue ).good() && queryTime.getOFString( a1, 0, OFTrue ).good() &&
+ candidateDate.getOFString( b0, 0, OFTrue ).good() && candidateTime.getOFString( b1, 0, OFTrue ).good() &&
+ DcmAttributeMatching::rangeMatchingDateTime
+ (
+ a0.c_str(), a0.length(), a1.c_str(), a1.length(), b0.c_str(), b0.length(), b1.c_str(), b1.length()
+ );
+ }
+ return OFFalse;
+}
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dcvrdt.h"
#include "dcmtk/dcmdata/dcvrda.h"
#include "dcmtk/dcmdata/dcvrtm.h"
+#include "dcmtk/dcmdata/dcmatch.h"
#include "dcmtk/ofstd/ofstring.h"
#include "dcmtk/ofstd/ofstd.h"
}
return result;
}
+
+
+OFBool DcmDateTime::matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ OFstatic_cast(void,enableWildCardMatching);
+ return DcmAttributeMatching::rangeMatchingDateTime(key.c_str(), key.length(), candidate.c_str(), candidate.length());
+}
myThis = OFconst_cast(DcmFloatingPointDouble*, this);
myRhs = OFstatic_cast(DcmFloatingPointDouble*, OFconst_cast(DcmElement*, &rhs));
- /* iterate over all components and test equality */
+ /* check whether VMs are equal */
unsigned long thisVM = myThis->getVM();
+ unsigned long rhsVM = myRhs->getVM();
+ if (thisVM < rhsVM)
+ {
+ return -1;
+ }
+ else if (thisVM > rhsVM)
+ {
+ return 1;
+ }
+
+ /* iterate over all components and test equality */
for (unsigned long count = 0; count < thisVM; count++)
{
Float64 val = 0;
return -1;
}
}
- else
- {
- break; // values equal until this point (rhs shorter)
- }
}
}
- /* we get here if all values are equal. Now look at the number of components */
- unsigned long rhsVM = myRhs->getVM();
- if (thisVM < rhsVM)
- {
- return -1;
- }
- else if (thisVM > rhsVM)
- {
- return 1;
- }
-
/* all values as well as VM equal: objects are equal */
return 0;
}
errorFlag = EC_Normal;
return errorFlag;
}
+
+
+OFBool DcmFloatingPointDouble::matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ OFstatic_cast(void,enableWildCardMatching);
+ if (ident() == candidate.ident())
+ {
+ // some const casts to call the getter functions, I do not modify the values, I promise!
+ DcmFloatingPointDouble& key = OFconst_cast(DcmFloatingPointDouble&,*this);
+ DcmElement& can = OFconst_cast(DcmElement&,candidate);
+ Float64 a, b;
+ for( unsigned long ui = 0; ui < key.getVM(); ++ui )
+ for( unsigned long uj = 0; uj < can.getVM(); ++uj )
+ if( key.getFloat64( a, ui ).good() && can.getFloat64( b, uj ).good() && a == b )
+ return OFTrue;
+ return key.getVM() == 0;
+ }
+ return OFFalse;
+}
myThis = OFconst_cast(DcmFloatingPointSingle*, this);
myRhs = OFstatic_cast(DcmFloatingPointSingle*, OFconst_cast(DcmElement*, &rhs));
- // iterate over all components and test equality */
+ /* check whether VMs are equal */
unsigned long thisVM = myThis->getVM();
+ unsigned long rhsVM = myRhs->getVM();
+ if (thisVM < rhsVM)
+ {
+ return -1;
+ }
+ else if (thisVM > rhsVM)
+ {
+ return 1;
+ }
+
+ // iterate over all components and test equality */
for (unsigned long count = 0; count < thisVM; count++)
{
Float32 val = 0;
return -1;
}
}
- else
- {
- break; // values equal until this point (rhs shorter)
- }
}
}
- /* we get here if all values are equal. Now look at the number of components. */
- unsigned long rhsVM = myRhs->getVM();
- if (thisVM < rhsVM)
- {
- return -1;
- }
- else if (thisVM > rhsVM)
- {
- return 1;
- }
-
/* all values as well as VM equal: objects are equal */
return 0;
}
errorFlag = EC_Normal;
return errorFlag;
}
+
+
+OFBool DcmFloatingPointSingle::matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ OFstatic_cast(void,enableWildCardMatching);
+ if (ident() == candidate.ident())
+ {
+ // some const casts to call the getter functions, I do not modify the values, I promise!
+ DcmFloatingPointSingle& key = OFconst_cast(DcmFloatingPointSingle&,*this);
+ DcmElement& can = OFconst_cast(DcmElement&,candidate);
+ Float32 a, b;
+ for( unsigned long ui = 0; ui < key.getVM(); ++ui )
+ for( unsigned long uj = 0; uj < can.getVM(); ++uj )
+ if( key.getFloat32( a, ui ).good() && can.getFloat32( b, uj ).good() && a == b )
+ return OFTrue;
+ return key.getVM() == 0;
+ }
+ return OFFalse;
+}
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
OFString charset;
/* try to determine the value of the SpecificCharacterSet element */
- getSpecificCharacterSet(charset);
+ if (getSpecificCharacterSet(charset) == EC_CorruptedData)
+ charset = "UNKNOWN";
l_error = DcmLongString::checkStringValue(strVal, vm, charset);
}
return l_error;
/*
*
- * Copyright (C) 1994-2013, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
OFString charset;
/* try to determine the value of the SpecificCharacterSet element */
- getSpecificCharacterSet(charset);
+ if (getSpecificCharacterSet(charset) == EC_CorruptedData)
+ charset = "UNKNOWN";
l_error = DcmLongText::checkStringValue(strVal, charset);
}
return l_error;
myThis = OFconst_cast(DcmOtherByteOtherWord*, this);
myRhs = OFstatic_cast(DcmOtherByteOtherWord*, OFconst_cast(DcmElement*, &rhs));
+ /* check equality of length */
unsigned long thisLength = myThis->getLength();
unsigned long rhsLength= myRhs->getLength();
- Uint8* thisData = OFstatic_cast(Uint8*, myThis->getValue());
- Uint8* rhsData = OFstatic_cast(Uint8*, myRhs->getValue());
- unsigned long maxLength = (thisLength > rhsLength) ? rhsLength : thisLength;
- /* iterate over all components and test equality */
- for (unsigned long count = 0; count < maxLength; count++)
- {
- if (thisData[count] > rhsData[count])
- {
- return 1;
- }
- else if (thisData[count] < rhsData[count])
- {
- return -1;
- }
- /* otherwise they are equal, continue comparison */
- }
-
- /* we get here if all values are equal. Now look at the number of components. */
if (thisLength < rhsLength)
{
- return -1;
+ return -1;
}
else if (thisLength > rhsLength)
{
- return 1;
+ return 1;
}
-
- /* all values as well as VM equal: objects are equal */
- return 0;
+ /* finally, check equality of values. getValue() makes sure byte
+ * swapping is applied as necessary. */
+ void* thisData = myThis->getValue();
+ void* rhsData = myRhs->getValue();
+ return memcmp(thisData, rhsData, thisLength);
}
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
OFString charset;
/* try to determine the value of the SpecificCharacterSet element */
- getSpecificCharacterSet(charset);
+ if (getSpecificCharacterSet(charset) == EC_CorruptedData)
+ charset = "UNKNOWN";
l_error = DcmPersonName::checkStringValue(strVal, vm, charset);
}
return l_error;
/*
*
- * Copyright (C) 1997-2010, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
return *this;
}
+int DcmPolymorphOBOW::compare(const DcmElement& rhs) const
+{
+ /* check tag and VR */
+ int result = DcmElement::compare(rhs);
+ if (result != 0)
+ {
+ return result;
+ }
+
+ /* cast away constness (dcmdata is not const correct...) */
+ DcmPolymorphOBOW* myThis = NULL;
+ DcmPolymorphOBOW* myRhs = NULL;
+ myThis = OFconst_cast(DcmPolymorphOBOW*, this);
+ myRhs = OFstatic_cast(DcmPolymorphOBOW*, OFconst_cast(DcmElement*, &rhs));
+
+ /* check whether length is the same */
+ Uint32 myLength = myThis->getLength();
+ Uint32 rhsLength = myRhs->getLength();
+ if (myLength < rhsLength)
+ return -1;
+ else if (myLength > rhsLength)
+ return 1;
+ /* finally check whether values are the same */
+ else
+ {
+ // Get values, always compare in Little Endian byte order (only relevant for OW)
+ void* myValue = myThis->getValue(EBO_LittleEndian);
+ void* rhsValue = myRhs->getValue(EBO_LittleEndian);
+ int result = memcmp(myValue, rhsValue, myLength);
+ if (result < 0)
+ return -1;
+ else if (result > 0)
+ return 1;
+ else
+ return 0;
+ }
+ /* we never get here */
+}
+
OFCondition DcmPolymorphOBOW::copyFrom(const DcmObject& rhs)
{
if (this != &rhs)
DcmXfer oXferSyn(oxfer);
if (getTransferState() == ERW_init)
{
- if (getTag().getEVR() == EVR_OB && oXferSyn.isImplicitVR() && getByteOrder() == EBO_BigEndian)
+ if (getTag().getEVR() == EVR_OB && oXferSyn.isImplicitVR())
{
- // VR is OB and it will be written as OW in LittleEndianImplicit.
- setTagVR(EVR_OW);
- if (currentVR == EVR_OB) setByteOrder(EBO_LittleEndian);
- currentVR = EVR_OB;
- changeVR = OFTrue;
+ // This element was read or created as OB, but we are writing in
+ // implicit VR transfer syntax (which always uses OW). Therefore,
+ // change the VR associated with the tag to OW.
+ setTagVR(EVR_OW);
+
+ // If the data is currently in OB representation in memory,
+ // adjust the VR to OW and update the current byte order.
+ // OB data is equivalent to OW data in little endian byte order.
+ if (currentVR == EVR_OB)
+ {
+ setByteOrder(EBO_LittleEndian);
+ currentVR = EVR_OW;
+ }
+
+ // remember that we have changed the VR associated with the tag
+ changeVR = OFTrue;
}
+
else if (getTag().getEVR() == EVR_OW && currentVR == EVR_OB)
{
+ // the element was originally read/created as OW
+ // but is currently in OB format. Change back to OW.
+
+ // OB data is equivalent to OW data in little endian byte order.
setByteOrder(EBO_LittleEndian);
currentVR = EVR_OW;
}
errorFlag = DcmOtherByteOtherWord::write(outStream, oxfer, enctype, wcache);
if (getTransferState() == ERW_ready && changeVR)
{
- // VR must be OB again. No Swapping is needed since the written
- // transfer syntax was LittleEndianImplicit and so no swapping
- // took place.
+ // Change the VR associated with the tag
+ // (not the current VR!) back from OW to OB
setTagVR(EVR_OB);
}
return errorFlag;
DcmXfer oXferSyn(oxfer);
if (getTransferState() == ERW_init)
{
- if (getTag().getEVR() == EVR_OB && oXferSyn.isImplicitVR() && getByteOrder() == EBO_BigEndian)
+ if (getTag().getEVR() == EVR_OB && oXferSyn.isImplicitVR())
{
- // VR is OB and it will be written as OW in LittleEndianImplicit.
- setTagVR(EVR_OW);
- if (currentVR == EVR_OB) setByteOrder(EBO_LittleEndian);
- currentVR = EVR_OB;
- changeVR = OFTrue;
+ // This element was read or created as OB, but we are writing in
+ // implicit VR transfer syntax (which always uses OW). Therefore,
+ // change the VR associated with the tag to OW.
+ setTagVR(EVR_OW);
+
+ // If the data is currently in OB representation in memory,
+ // adjust the VR to OW and update the current byte order.
+ // OB data is equivalent to OW data in little endian byte order.
+ if (currentVR == EVR_OB)
+ {
+ setByteOrder(EBO_LittleEndian);
+ currentVR = EVR_OW;
+ }
+
+ // remember that we have changed the VR associated with the tag
+ changeVR = OFTrue;
}
+
else if (getTag().getEVR() == EVR_OW && currentVR == EVR_OB)
{
+ // the element was originally read/created as OW
+ // but is currently in OB format. Change back to OW.
+
+ // OB data is equivalent to OW data in little endian byte order.
setByteOrder(EBO_LittleEndian);
currentVR = EVR_OW;
}
errorFlag = DcmOtherByteOtherWord::writeSignatureFormat(outStream, oxfer, enctype, wcache);
if (getTransferState() == ERW_ready && changeVR)
{
- // VR must be OB again. No Swapping is needed since the written
- // transfer syntax was LittleEndianImplicit and so no swapping
- // took place.
+ // Change the VR associated with the tag
+ // (not the current VR!) back from OW to OB
setTagVR(EVR_OB);
}
return errorFlag;
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
OFString charset;
/* try to determine the value of the SpecificCharacterSet element */
- getSpecificCharacterSet(charset);
+ if (getSpecificCharacterSet(charset) == EC_CorruptedData)
+ charset = "UNKNOWN";
l_error = DcmShortString::checkStringValue(strVal, vm, charset);
}
return l_error;
myThis = OFconst_cast(DcmSignedLong*, this);
myRhs = OFstatic_cast(DcmSignedLong*, OFconst_cast(DcmElement*, &rhs));
- /* iterate over all components and test equality */
+ /* check whether VMs are equal */
unsigned long thisVM = myThis->getVM();
+ unsigned long rhsVM = myRhs->getVM();
+ if (thisVM < rhsVM)
+ {
+ return -1;
+ }
+ else if (thisVM > rhsVM)
+ {
+ return 1;
+ }
+
+ /* iterate over all components and test equality */
for (unsigned long count = 0; count < thisVM; count++)
{
Sint32 val = 0;
}
/* otherwise they are equal, continue comparison */
}
- else
- {
- break; // values equal until this point (rhs shorter)
- }
}
}
- /* we get here if all values are equal. Now look at the number of components. */
- unsigned long rhsVM = myRhs->getVM();
- if (thisVM < rhsVM)
- {
- return -1;
- }
- else if (thisVM > rhsVM)
- {
- return 1;
- }
-
/* all values as well as VM equal: objects are equal */
return 0;
}
errorFlag = EC_Normal;
return errorFlag;
}
+
+
+OFBool DcmSignedLong::matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ OFstatic_cast(void,enableWildCardMatching);
+ if (ident() == candidate.ident())
+ {
+ // some const casts to call the getter functions, I do not modify the values, I promise!
+ DcmSignedLong& key = OFconst_cast(DcmSignedLong&,*this);
+ DcmElement& can = OFconst_cast(DcmElement&,candidate);
+ Sint32 a, b;
+ for( unsigned long ui = 0; ui < key.getVM(); ++ui )
+ for( unsigned long uj = 0; uj < can.getVM(); ++uj )
+ if( key.getSint32( a, ui ).good() && can.getSint32( b, uj ).good() && a == b )
+ return OFTrue;
+ return key.getVM() == 0;
+ }
+ return OFFalse;
+}
myThis = OFconst_cast(DcmSignedShort*, this);
myRhs = OFstatic_cast(DcmSignedShort*, OFconst_cast(DcmElement*, &rhs));
- /* iterate over all components and test equality */
+ /* check whether VMs are equal */
unsigned long thisVM = myThis->getVM();
+ unsigned long rhsVM = myRhs->getVM();
+ if (thisVM < rhsVM)
+ {
+ return -1;
+ }
+ else if (thisVM > rhsVM)
+ {
+ return 1;
+ }
+
+ /* iterate over all components and test equality */
for (unsigned long count = 0; count < thisVM; count++)
{
Sint16 val = 0;
}
/* otherwise they are equal, continue comparison */
}
- else
- {
- break; // values equal until this point (rhs shorter)
- }
}
}
- /* we get here if all values are equal. Now look at the number of components. */
- unsigned long rhsVM = myRhs->getVM();
- if (thisVM < rhsVM)
- {
- return -1;
- }
- else if (thisVM > rhsVM)
- {
- return 1;
- }
-
/* all values as well as VM equal: objects are equal */
return 0;
}
errorFlag = EC_Normal;
return errorFlag;
}
+
+
+OFBool DcmSignedShort::matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ OFstatic_cast(void,enableWildCardMatching);
+ if (ident() == candidate.ident())
+ {
+ // some const casts to call the getter functions, I do not modify the values, I promise!
+ DcmSignedShort& key = OFconst_cast(DcmSignedShort&,*this);
+ DcmElement& can = OFconst_cast(DcmElement&,candidate);
+ Sint16 a, b;
+ for( unsigned long ui = 0; ui < key.getVM(); ++ui )
+ for( unsigned long uj = 0; uj < can.getVM(); ++uj )
+ if( key.getSint16( a, ui ).good() && can.getSint16( b, uj ).good() && a == b )
+ return OFTrue;
+ return key.getVM() == 0;
+ }
+ return OFFalse;
+}
/*
*
- * Copyright (C) 1994-2013, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
OFString charset;
/* try to determine the value of the SpecificCharacterSet element */
- getSpecificCharacterSet(charset);
+ if (getSpecificCharacterSet(charset) == EC_CorruptedData)
+ charset = "UNKNOWN";
l_error = DcmShortText::checkStringValue(strVal, charset);
}
return l_error;
/*
*
- * Copyright (C) 1994-2013, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
+#include "dcmtk/dcmdata/dcmatch.h"
#define MAX_TM_LENGTH 16
}
return OFFalse;
}
+
+
+OFBool DcmTime::matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ OFstatic_cast(void,enableWildCardMatching);
+ return DcmAttributeMatching::rangeMatchingTime(key.c_str(), key.length(), candidate.c_str(), candidate.length());
+}
/*
*
- * Copyright (C) 2015, OFFIS e.V.
+ * Copyright (C) 2015-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
OFString charset;
/* try to determine the value of the SpecificCharacterSet element */
- getSpecificCharacterSet(charset);
+ if (getSpecificCharacterSet(charset) == EC_CorruptedData)
+ charset = "UNKNOWN";
l_error = DcmUnlimitedCharacters::checkStringValue(strVal, vm, charset);
}
return l_error;
myThis = OFconst_cast(DcmUnsignedLong*, this);
myRhs = OFstatic_cast(DcmUnsignedLong*, OFconst_cast(DcmElement*, &rhs));
- /* iterate over all components and test equality */
+ /* check whether VMs are equal */
unsigned long thisVM = myThis->getVM();
+ unsigned long rhsVM = myRhs->getVM();
+ if (thisVM < rhsVM)
+ {
+ return -1;
+ }
+ else if (thisVM > rhsVM)
+ {
+ return 1;
+ }
+
+ /* iterate over all components and test equality */
for (unsigned long count = 0; count < thisVM; count++)
{
Uint32 val = 0;
return -1;
}
}
- else
- {
- break; // values equal until this point (rhs shorter)
- }
}
}
- /* we get here if all values are equal. Now look at the number of components. */
- unsigned long rhsVM = myRhs->getVM();
- if (thisVM < rhsVM)
- {
- return -1;
- }
- else if (thisVM > rhsVM)
- {
- return 1;
- }
-
/* all values as well as VM equal: objects are equal */
return 0;
}
errorFlag = EC_Normal;
return errorFlag;
}
+
+
+OFBool DcmUnsignedLong::matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ OFstatic_cast(void,enableWildCardMatching);
+ if (ident() == candidate.ident())
+ {
+ // some const casts to call the getter functions, I do not modify the values, I promise!
+ DcmUnsignedLong& key = OFconst_cast(DcmUnsignedLong&,*this);
+ DcmElement& can = OFconst_cast(DcmElement&,candidate);
+ Uint32 a, b;
+ for( unsigned long ui = 0; ui < key.getVM(); ++ui )
+ for( unsigned long uj = 0; uj < can.getVM(); ++uj )
+ if( key.getUint32( a, ui ).good() && can.getUint32( b, uj ).good() && a == b )
+ return OFTrue;
+ return key.getVM() == 0;
+ }
+ return OFFalse;
+}
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/dcmdata/dcvrur.h"
+#include "dcmtk/dcmdata/dcmatch.h"
// ********************************
{
return DcmByteString::checkStringValue(value, "" /* vm */, "ur", 19, 0 /* maxLen: no check */);
}
+
+
+OFBool DcmUniversalResourceIdentifierOrLocator::matches(const OFString& key,
+ const OFString& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ if (enableWildCardMatching)
+ return DcmAttributeMatching::wildCardMatching(key.c_str(), key.length(), candidate.c_str(), candidate.length());
+ else
+ return DcmByteString::matches(key, candidate, OFFalse);
+}
myThis = OFconst_cast(DcmUnsignedShort*, this);
myRhs = OFstatic_cast(DcmUnsignedShort*, OFconst_cast(DcmElement*, &rhs));
- /* iterate over all components and test equality */
+ /* check whether VMs are equal */
unsigned long thisVM = myThis->getVM();
+ unsigned long rhsVM = myRhs->getVM();
+ if (thisVM < rhsVM)
+ {
+ return -1;
+ }
+ else if (thisVM > rhsVM)
+ {
+ return 1;
+ }
+
+ /* iterate over all components and test equality */
for (unsigned long count = 0; count < thisVM; count++)
{
Uint16 val = 0;
return -1;
}
}
- else
- {
- break; // values equal until this point (rhs shorter)
- }
}
}
- /* we get here if all values are equal. Now look at the number of components. */
- unsigned long rhsVM = myRhs->getVM();
- if (thisVM < rhsVM)
- {
- return -1;
- }
- else if (thisVM > rhsVM)
- {
- return 1;
- }
-
/* all values as well as VM equal: objects are equal */
return 0;
}
errorFlag = EC_Normal;
return errorFlag;
}
+
+
+OFBool DcmUnsignedShort::matches(const DcmElement& candidate,
+ const OFBool enableWildCardMatching) const
+{
+ OFstatic_cast(void,enableWildCardMatching);
+ if (ident() == candidate.ident())
+ {
+ // some const casts to call the getter functions, I do not modify the values, I promise!
+ DcmUnsignedShort& key = OFconst_cast(DcmUnsignedShort&,*this);
+ DcmElement& can = OFconst_cast(DcmElement&,candidate);
+ Uint16 a, b;
+ for( unsigned long ui = 0; ui < key.getVM(); ++ui )
+ for( unsigned long uj = 0; uj < can.getVM(); ++uj )
+ if( key.getUint16( a, ui ).good() && can.getUint16( b, uj ).good() && a == b )
+ return OFTrue;
+ return key.getVM() == 0;
+ }
+ return OFFalse;
+}
/*
*
- * Copyright (C) 1998-2014, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
OFString charset;
/* try to determine the value of the SpecificCharacterSet element */
- getSpecificCharacterSet(charset);
+ if (getSpecificCharacterSet(charset) == EC_CorruptedData)
+ charset = "UNKNOWN";
l_error = DcmUnlimitedText::checkStringValue(strVal, charset);
}
return l_error;
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
const char *xferName;
E_TransferSyntax xfer;
E_ByteOrder byteOrder;
+ E_ByteOrder pixelDataByteOrder;
E_VRType vrType;
E_JPEGEncapsulated encapsulated;
Uint32 JPEGProcess8;
"Little Endian Implicit",
EXS_LittleEndianImplicit,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Implicit,
EJE_NotEncapsulated,
0L, 0L,
"Virtual Big Endian Implicit",
EXS_BigEndianImplicit,
EBO_BigEndian,
+ EBO_BigEndian,
EVT_Implicit,
EJE_NotEncapsulated,
0L, 0L,
"Little Endian Explicit",
EXS_LittleEndianExplicit,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_NotEncapsulated,
0L, 0L,
"Big Endian Explicit",
EXS_BigEndianExplicit,
EBO_BigEndian,
+ EBO_BigEndian,
EVT_Explicit,
EJE_NotEncapsulated,
0L, 0L,
"JPEG Baseline",
EXS_JPEGProcess1,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
1L, 1L,
"JPEG Extended, Process 2+4",
EXS_JPEGProcess2_4,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
2L ,4L,
"JPEG Extended, Process 3+5",
EXS_JPEGProcess3_5,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
3L ,5L,
"JPEG Spectral Selection, Non-hierarchical, Process 6+8",
EXS_JPEGProcess6_8,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
6L ,8L,
"JPEG Spectral Selection, Non-hierarchical, Process 7+9",
EXS_JPEGProcess7_9,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
7L ,9L,
"JPEG Full Progression, Non-hierarchical, Process 10+12",
EXS_JPEGProcess10_12,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
10L ,12L,
"JPEG Full Progression, Non-hierarchical, Process 11+13",
EXS_JPEGProcess11_13,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
11L ,13L,
"JPEG Lossless, Non-hierarchical, Process 14",
EXS_JPEGProcess14,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
14L ,14L,
"JPEG Lossless, Non-hierarchical, Process 15",
EXS_JPEGProcess15,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
15L ,15L,
"JPEG Extended, Hierarchical, Process 16+18",
EXS_JPEGProcess16_18,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
16L ,18L,
"JPEG Extended, Hierarchical, Process 17+19",
EXS_JPEGProcess17_19,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
17L ,19L,
"JPEG Spectral Selection, Hierarchical, Process 20+22",
EXS_JPEGProcess20_22,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
20L ,22L,
"JPEG Spectral Selection, Hierarchical, Process 21+23",
EXS_JPEGProcess21_23,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
21L ,23L,
"JPEG Full Progression, Hierarchical, Process 24+26",
EXS_JPEGProcess24_26,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
24L ,26L,
"JPEG Full Progression, Hierarchical, Process 25+27",
EXS_JPEGProcess25_27,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
25L ,27L,
"JPEG Lossless, Hierarchical, Process 28",
EXS_JPEGProcess28,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
28L ,28L,
"JPEG Lossless, Hierarchical, Process 29",
EXS_JPEGProcess29,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
29L ,29L,
"JPEG Lossless, Non-hierarchical, 1st Order Prediction",
EXS_JPEGProcess14SV1,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
14L ,14L,
"RLE Lossless",
EXS_RLELossless,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"Deflated Explicit VR Little Endian",
EXS_DeflatedLittleEndianExplicit,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_NotEncapsulated,
0L, 0L,
"JPEG-LS Lossless",
EXS_JPEGLSLossless,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"JPEG-LS Lossy (Near-lossless)",
EXS_JPEGLSLossy,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"JPEG 2000 (Lossless only)",
EXS_JPEG2000LosslessOnly,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"JPEG 2000 (Lossless or Lossy)",
EXS_JPEG2000,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"JPEG 2000 Part 2 Multicomponent Image Compression (Lossless only)",
EXS_JPEG2000MulticomponentLosslessOnly,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"JPEG 2000 Part 2 Multicomponent Image Compression (Lossless or Lossy)",
EXS_JPEG2000Multicomponent,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"JPIP Referenced",
EXS_JPIPReferenced,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_NotEncapsulated, // in fact, pixel data shall be referenced via (0028,7FE0) Pixel Data Provider URL
0L, 0L,
"JPIP Referenced Deflate",
EXS_JPIPReferencedDeflate,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_NotEncapsulated, // in fact, pixel data shall be referenced via (0028,7FE0) Pixel Data Provider URL
0L, 0L,
"MPEG2 Main Profile @ Main Level", // changed with DICOM 2016e to: MPEG2 Main Profile / Main Level
EXS_MPEG2MainProfileAtMainLevel,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"MPEG2 Main Profile @ High Level", // changed with DICOM 2016e to: MPEG2 Main Profile / High Level
EXS_MPEG2MainProfileAtHighLevel,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"MPEG-4 AVC/H.264 High Profile / Level 4.1",
EXS_MPEG4HighProfileLevel4_1,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1",
EXS_MPEG4BDcompatibleHighProfileLevel4_1,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video",
EXS_MPEG4HighProfileLevel4_2_For2DVideo,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video",
EXS_MPEG4HighProfileLevel4_2_For3DVideo,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2",
EXS_MPEG4StereoHighProfileLevel4_2,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"HEVC/H.265 Main Profile / Level 5.1",
EXS_HEVCMainProfileLevel5_1,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
"HEVC/H.265 Main 10 Profile / Level 5.1",
EXS_HEVCMain10ProfileLevel5_1,
EBO_LittleEndian,
+ EBO_LittleEndian,
EVT_Explicit,
EJE_Encapsulated,
0L, 0L,
OFTrue,
OFFalse,
+ ESC_none },
+ // entry #41
+ { UID_PrivateGE_LEI_WithBigEndianPixelDataTransferSyntax,
+ "Private GE Little Endian Implicit with big endian pixel data",
+ EXS_PrivateGE_LEI_WithBigEndianPixelData,
+ EBO_LittleEndian,
+ EBO_BigEndian,
+ EVT_Implicit,
+ EJE_NotEncapsulated,
+ 0L, 0L,
+ OFFalse,
+ OFFalse,
ESC_none }
};
xferName(ERROR_XferName),
xferSyn(EXS_Unknown),
byteOrder(EBO_unknown),
+ pixelDataByteOrder(EBO_unknown),
vrType(EVT_Implicit),
encapsulated(EJE_NotEncapsulated),
JPEGProcess8(0L),
i++;
if ((i < DIM_OF_XferNames) && (XferNames[i].xfer == xfer))
{
- xferSyn = XferNames[i].xfer;
- xferID = XferNames[i].xferID;
- xferName = XferNames[i].xferName;
- byteOrder = XferNames[i].byteOrder;
- vrType = XferNames[i].vrType;
- encapsulated = XferNames[i].encapsulated;
- JPEGProcess8 = XferNames[i].JPEGProcess8;
- JPEGProcess12 = XferNames[i].JPEGProcess12;
- lossy = XferNames[i].lossy;
- retired = XferNames[i].retired;
- streamCompression = XferNames[i].streamCompression;
+ xferSyn = XferNames[i].xfer;
+ xferID = XferNames[i].xferID;
+ xferName = XferNames[i].xferName;
+ byteOrder = XferNames[i].byteOrder;
+ pixelDataByteOrder = XferNames[i].pixelDataByteOrder;
+ vrType = XferNames[i].vrType;
+ encapsulated = XferNames[i].encapsulated;
+ JPEGProcess8 = XferNames[i].JPEGProcess8;
+ JPEGProcess12 = XferNames[i].JPEGProcess12;
+ lossy = XferNames[i].lossy;
+ retired = XferNames[i].retired;
+ streamCompression = XferNames[i].streamCompression;
}
}
xferName(ERROR_XferName),
xferSyn(EXS_Unknown),
byteOrder(EBO_unknown),
+ pixelDataByteOrder(EBO_unknown),
vrType(EVT_Implicit),
encapsulated(EJE_NotEncapsulated),
JPEGProcess8(0L),
i++;
if ((i < DIM_OF_XferNames) && (strcmp(XferNames[i].xferID, xname) == 0))
{
- xferSyn = XferNames[i].xfer;
- xferID = XferNames[i].xferID;
- xferName = XferNames[i].xferName;
- byteOrder = XferNames[i].byteOrder;
- vrType = XferNames[i].vrType;
- encapsulated = XferNames[i].encapsulated;
- JPEGProcess8 = XferNames[i].JPEGProcess8;
- JPEGProcess12 = XferNames[i].JPEGProcess12;
- lossy = XferNames[i].lossy;
- retired = XferNames[i].retired;
- streamCompression = XferNames[i].streamCompression;
+ xferSyn = XferNames[i].xfer;
+ xferID = XferNames[i].xferID;
+ xferName = XferNames[i].xferName;
+ byteOrder = XferNames[i].byteOrder;
+ pixelDataByteOrder = XferNames[i].pixelDataByteOrder;
+ vrType = XferNames[i].vrType;
+ encapsulated = XferNames[i].encapsulated;
+ JPEGProcess8 = XferNames[i].JPEGProcess8;
+ JPEGProcess12 = XferNames[i].JPEGProcess12;
+ lossy = XferNames[i].lossy;
+ retired = XferNames[i].retired;
+ streamCompression = XferNames[i].streamCompression;
}
else
{
i++;
if ((i < DIM_OF_XferNames) && (strcmp(XferNames[i].xferName, xname) == 0))
{
- xferSyn = XferNames[i].xfer;
- xferID = XferNames[i].xferID;
- xferName = XferNames[i].xferName;
- byteOrder = XferNames[i].byteOrder;
- vrType = XferNames[i].vrType;
- encapsulated = XferNames[i].encapsulated;
- JPEGProcess8 = XferNames[i].JPEGProcess8;
- JPEGProcess12 = XferNames[i].JPEGProcess12;
- lossy = XferNames[i].lossy;
- retired = XferNames[i].retired;
- streamCompression = XferNames[i].streamCompression;
+ xferSyn = XferNames[i].xfer;
+ xferID = XferNames[i].xferID;
+ xferName = XferNames[i].xferName;
+ byteOrder = XferNames[i].byteOrder;
+ pixelDataByteOrder = XferNames[i].pixelDataByteOrder;
+ vrType = XferNames[i].vrType;
+ encapsulated = XferNames[i].encapsulated;
+ JPEGProcess8 = XferNames[i].JPEGProcess8;
+ JPEGProcess12 = XferNames[i].JPEGProcess12;
+ lossy = XferNames[i].lossy;
+ retired = XferNames[i].retired;
+ streamCompression = XferNames[i].streamCompression;
}
}
}
xferName(newXfer.xferName),
xferSyn(newXfer.xferSyn),
byteOrder(newXfer.byteOrder),
+ pixelDataByteOrder(newXfer.pixelDataByteOrder),
vrType(newXfer.vrType),
encapsulated(newXfer.encapsulated),
JPEGProcess8(newXfer.JPEGProcess8),
i++;
if ((i < DIM_OF_XferNames) && (XferNames[i].xfer == xfer))
{
- xferSyn = XferNames[i].xfer;
- xferID = XferNames[i].xferID;
- xferName = XferNames[i].xferName;
- byteOrder = XferNames[i].byteOrder;
- vrType = XferNames[i].vrType;
- encapsulated = XferNames[i].encapsulated;
- JPEGProcess8 = XferNames[i].JPEGProcess8;
- JPEGProcess12 = XferNames[i].JPEGProcess12;
- lossy = XferNames[i].lossy;
- retired = XferNames[i].retired;
- streamCompression = XferNames[i].streamCompression;
+ xferSyn = XferNames[i].xfer;
+ xferID = XferNames[i].xferID;
+ xferName = XferNames[i].xferName;
+ byteOrder = XferNames[i].byteOrder;
+ pixelDataByteOrder = XferNames[i].pixelDataByteOrder;
+ vrType = XferNames[i].vrType;
+ encapsulated = XferNames[i].encapsulated;
+ JPEGProcess8 = XferNames[i].JPEGProcess8;
+ JPEGProcess12 = XferNames[i].JPEGProcess12;
+ lossy = XferNames[i].lossy;
+ retired = XferNames[i].retired;
+ streamCompression = XferNames[i].streamCompression;
} else {
- xferSyn = EXS_Unknown;
- xferID = "";
- xferName = ERROR_XferName;
- byteOrder = EBO_unknown;
- vrType = EVT_Implicit;
- encapsulated = EJE_NotEncapsulated;
- JPEGProcess8 = 0L;
- JPEGProcess12 = 0L;
- lossy = OFFalse;
- retired = OFFalse;
- streamCompression = ESC_none;
+ xferSyn = EXS_Unknown;
+ xferID = "";
+ xferName = ERROR_XferName;
+ byteOrder = EBO_unknown;
+ pixelDataByteOrder = EBO_unknown;
+ vrType = EVT_Implicit;
+ encapsulated = EJE_NotEncapsulated;
+ JPEGProcess8 = 0L;
+ JPEGProcess12 = 0L;
+ lossy = OFFalse;
+ retired = OFFalse;
+ streamCompression = ESC_none;
}
return *this;
}
{
if (this != &newXfer)
{
- xferSyn = newXfer.xferSyn;
- xferID = newXfer.xferID;
- xferName = newXfer.xferName;
- byteOrder = newXfer.byteOrder;
- vrType = newXfer.vrType;
- encapsulated = newXfer.encapsulated;
- JPEGProcess8 = newXfer.JPEGProcess8;
- JPEGProcess12 = newXfer.JPEGProcess12;
- lossy = newXfer.lossy;
- retired = newXfer.retired;
- streamCompression = newXfer.streamCompression;
+ xferSyn = newXfer.xferSyn;
+ xferID = newXfer.xferID;
+ xferName = newXfer.xferName;
+ byteOrder = newXfer.byteOrder;
+ pixelDataByteOrder = newXfer.pixelDataByteOrder;
+ vrType = newXfer.vrType;
+ encapsulated = newXfer.encapsulated;
+ JPEGProcess8 = newXfer.JPEGProcess8;
+ JPEGProcess12 = newXfer.JPEGProcess12;
+ lossy = newXfer.lossy;
+ retired = newXfer.retired;
+ streamCompression = newXfer.streamCompression;
}
return *this;
}
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-
-#ifdef HAVE_WINDOWS_H
-#include <windows.h> /* this includes either winsock.h or winsock2.h */
-#elif defined(HAVE_WINSOCK_H)
-#include <winsock.h> /* include winsock.h directly i.e. on MacOS */
-#endif
-
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dcdict.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
#include "dcmtk/ofstd/ofstring.h"
int i = 0;
FILE* fout = NULL;
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
prepareCmdLineArgs(argc, argv, "mkdeftag");
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-
-
-#ifdef HAVE_WINDOWS_H
-#include <windows.h> /* this includes either winsock.h or winsock2.h */
-#elif defined(HAVE_WINSOCK_H)
-#include <winsock.h> /* include winsock.h directly i.e. on MacOS */
-#endif
-
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dcdict.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
#include "dcmtk/ofstd/ofstring.h"
FILE* fout = NULL;
DcmDictEntry* e = NULL;
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
prepareCmdLineArgs(argc, argv, "mkdictbi");
/*
*
- * Copyright (C) 2010, OFFIS e.V.
+ * Copyright (C) 2010-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
if (yylex_init(&scanner))
{
- char buf[256];
DCMDATA_WARN("Error while setting up lexer: "
- << OFStandard::strerror(errno, buf, sizeof(buf)));
+ << OFStandard::getLastSystemErrorCode().message());
return 16;
}
# declare executables
-DCMTK_ADD_EXECUTABLE(dcmdata_tests tests tpread ti2dbmp tchval tpath tvrdatim telemlen tparser tdict tvrds tvrfd tvrpn tvrui tvrol tstrval tspchrs tparent tfilter tvrcomp tmatch)
+DCMTK_ADD_EXECUTABLE(dcmdata_tests tests tpread ti2dbmp tchval tpath tvrdatim telemlen tparser tdict tvrds tvrfd tvrpn tvrui tvrol tstrval tspchrs tparent tfilter tvrcomp tmatch tnewdcme tgenuid)
# make sure executables are linked to the corresponding libraries
DCMTK_TARGET_LINK_MODULES(dcmdata_tests i2d dcmdata oflog ofstd)
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcfilefo.h \
../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcfilefo.h \
../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \
../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcdatset.h \
../include/dcmtk/dcmdata/dcitem.h ../include/dcmtk/dcmdata/dcpcache.h
+tgenuid.o: tgenuid.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../../ofstd/include/dcmtk/ofstd/oftest.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
+ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h
ti2dbmp.o: ti2dbmp.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcmatch.h
+tnewdcme.o: tnewdcme.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../../ofstd/include/dcmtk/ofstd/oftest.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
+ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../include/dcmtk/dcmdata/dcitem.h ../include/dcmtk/dcmdata/dctypes.h \
+ ../include/dcmtk/dcmdata/dcobject.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
+ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
+ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
+ ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcpcache.h \
+ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcdict.h \
+ ../include/dcmtk/dcmdata/dchashdi.h ../include/dcmtk/dcmdata/dcdicent.h
tparent.o: tparent.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcfilefo.h \
../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcfilefo.h \
../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcfilefo.h \
../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcfilefo.h \
../include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \
../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tracelog.h \
../include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
../include/dcmtk/dcmdata/dctypes.h
tstrval.o: tstrval.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcvras.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmdata/dcvrat.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrobow.h \
- ../include/dcmtk/dcmdata/dcvrsl.h ../include/dcmtk/dcmdata/dcvrss.h \
- ../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcvrus.h \
- ../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dcpxitem.h \
- ../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcvrpobw.h \
- ../include/dcmtk/dcmdata/dcovlay.h ../include/dcmtk/dcmdata/dcpixel.h
+ ../include/dcmtk/dcmdata/dcvrpobw.h ../include/dcmtk/dcmdata/dcvrsl.h \
+ ../include/dcmtk/dcmdata/dcvrss.h ../include/dcmtk/dcmdata/dcvrul.h \
+ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcdeftag.h \
+ ../include/dcmtk/dcmdata/dcpxitem.h ../include/dcmtk/dcmdata/dcofsetl.h \
+ ../include/dcmtk/dcmdata/dcpixel.h ../include/dcmtk/dcmdata/dcovlay.h \
+ ../include/dcmtk/dcmdata/dcpixseq.h
tvrdatim.o: tvrdatim.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
LOCALINCLUDES = -I$(top_srcdir)/include -I$(ofstddir)/include -I$(oflogdir)/include
LIBDIRS = -L$(top_srcdir)/libsrc -L$(top_srcdir)/libi2d -L$(ofstddir)/libsrc \
-L$(oflogdir)/libsrc
-LOCALLIBS = -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(CHARCONVLIBS)
+LOCALLIBS = -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS)
I2DLIBS = -li2d
objs = tests.o tpread.o ti2dbmp.o tchval.o tpath.o tvrdatim.o telemlen.o tparser.o \
tdict.o tvrds.o tvrfd.o tvrui.o tvrol.o tstrval.o tspchrs.o tvrpn.o \
- tparent.o tfilter.o tvrcomp.o tmatch.o
+ tparent.o tfilter.o tvrcomp.o tmatch.o tnewdcme.o tgenuid.o
progs = tests
/*
*
- * Copyright (C) 2011-2016 OFFIS e.V.
+ * Copyright (C) 2011-2017 OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFTEST_REGISTER(dcmdata_specificCharacterSet_4);
OFTEST_REGISTER(dcmdata_attribute_filter);
OFTEST_REGISTER(dcmdata_attribute_matching);
+OFTEST_REGISTER(dcmdata_newDicomElementPrivate);
+OFTEST_REGISTER(dcmdata_generateUniqueIdentifier);
OFTEST_MAIN("dcmdata")
--- /dev/null
+/*
+ *
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmdata
+ *
+ * Author: Marco Eichelberg
+ *
+ * Purpose: test program for function dcmGenerateUniqueIdentifier
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/ofstd/oftest.h"
+#include "dcmtk/dcmdata/dcuid.h"
+
+
+OFTEST(dcmdata_generateUniqueIdentifier)
+{
+ // test generation of UIDs. We generate 10000 UIDs in quick
+ // succession and check if they are pair-wise different.
+ // This will also catch any application error during UID generation.
+
+ char uid[65];
+ OFString previousuid;
+
+ // This variable name will be printed on the console if the test fails.
+ // In fact a generated UID is not unique if this variable is false!
+ OFBool generated_uid_is_not_unique;
+
+ for (size_t i = 0; i < 10000; ++i)
+ {
+ // generate UID
+ dcmGenerateUniqueIdentifier(uid);
+
+ // compare with the previously generated UID, should be different.
+ generated_uid_is_not_unique = (previousuid != uid);
+ OFCHECK(generated_uid_is_not_unique);
+ previousuid = uid;
+
+ // if we have found a non-unique UID, the test has failed.
+ // Break out of the loop.
+ if (! generated_uid_is_not_unique) break;
+ }
+}
--- /dev/null
+/*
+ *
+ * Copyright (C) 2017, Open Connections GmbH
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation are maintained by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmdata
+ *
+ * Author: Michael Onken
+ *
+ * Purpose: Tests for DcmItem's newDicomElement() helper methods
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/ofstd/oftest.h"
+#include "dcmtk/dcmdata/dcitem.h"
+#include "dcmtk/dcmdata/dcelem.h"
+#include "dcmtk/dcmdata/dcitem.h"
+#include "dcmtk/dcmdata/dcdict.h"
+#include "dcmtk/dcmdata/dcdicent.h"
+
+// Definitions of private tag info we use in this test
+
+#define PRIVATE_CREATOR_NAME "John Doe Testing Corporation"
+#define PRIVATE_ELEMENT_STRINGELEM 0x0029, 0x1000
+#define PRIVATE_ELEMENT_NOTINDICT 0x0029, 0x1111
+#define PRIVATE_STRING_VALUE "Test Value"
+
+/** Register private tag(s) in runtime dictionary
+ */
+void registerPrivateTag()
+
+{
+ DcmDataDictionary &dict = dcmDataDict.wrlock();
+ dict.addEntry(new DcmDictEntry(PRIVATE_ELEMENT_STRINGELEM, EVR_LO, "StringAttributeForTesting", 1, 1, "private", OFTrue, PRIVATE_CREATOR_NAME));
+ dcmDataDict.unlock();
+
+}
+
+
+OFTEST(dcmdata_newDicomElementPrivate)
+{
+ // Pre-register the private tags we want to use for this test in the dictionary
+ registerPrivateTag();
+
+ // Test cases when constructing a known, private element:
+
+ // API 1: Construct DICOM element and get it as a return value.
+ DcmElement *elem = DcmItem::newDicomElement(DcmTagKey(PRIVATE_ELEMENT_STRINGELEM), PRIVATE_CREATOR_NAME);
+ // Check whether creation as well as tag and value assignment are correct
+ OFCHECK(elem);
+ OFCHECK(elem->putOFStringArray(PRIVATE_STRING_VALUE).good());
+ OFCHECK(elem->getTag().getXTag() == DcmTagKey(PRIVATE_ELEMENT_STRINGELEM));
+ OFCHECK(elem->getVR() == EVR_LO);
+ OFCHECK(elem->putOFStringArray(PRIVATE_STRING_VALUE).good());
+ char *charVal = NULL;
+ OFCHECK(elem->getString(charVal).good());
+ OFCHECK(OFString(charVal) == PRIVATE_STRING_VALUE);
+ charVal = NULL;
+
+ // API 2: Construct DICOM element and get it as parameter output value
+ DcmElement* elem2 = NULL;
+ // Check whether creation as well as tag and value assignment are correct
+ OFCHECK(DcmItem::newDicomElement(elem2, DcmTagKey(PRIVATE_ELEMENT_STRINGELEM), PRIVATE_CREATOR_NAME).good());
+ OFCHECK(elem2->getTag().getXTag() == DcmTagKey(PRIVATE_ELEMENT_STRINGELEM));
+ OFCHECK(elem->getVR() == EVR_LO);
+ OFCHECK(elem2->putOFStringArray(PRIVATE_STRING_VALUE).good());
+ OFCHECK(elem2->getString(charVal).good());
+ OFCHECK(OFString(charVal) == PRIVATE_STRING_VALUE);
+
+ delete elem;
+ delete elem2;
+
+ // Test cases when constructing an unknown, private element resulting in creation
+ // with VR "EVR_UNKNOWN":
+
+ // API 1
+ DcmElement *elem_un = NULL;
+ elem_un = DcmItem::newDicomElement(DcmTagKey(PRIVATE_ELEMENT_NOTINDICT), PRIVATE_CREATOR_NAME);
+ OFCHECK(elem_un);
+ OFCHECK(elem_un->getTag().getXTag() == DcmTagKey(PRIVATE_ELEMENT_NOTINDICT));
+ OFCHECK(elem_un->getVR() == EVR_UNKNOWN);
+ delete elem_un;
+
+ // API 2
+ elem_un = NULL;
+ OFCHECK(DcmItem::newDicomElement(elem_un, DcmTagKey(PRIVATE_ELEMENT_NOTINDICT), PRIVATE_CREATOR_NAME).good());
+ OFCHECK(elem_un);
+ OFCHECK(elem_un->getVR() == EVR_UNKNOWN);
+ delete elem_un;
+}
/*
*
- * Copyright (C) 2012, OFFIS e.V.
+ * Copyright (C) 2012-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFCHECK(item->getParent() == seq);
testParents(ff);
- elem = new DcmLongString(DCM_OtherPatientIDs);
+ elem = new DcmLongString(DCM_RETIRED_OtherPatientIDs);
OFCHECK(elem->getParent() == NULL);
cond = item->insert(elem);
OFCHECK(cond.good());
OFCHECK(item->getParent() == seq);
testParents(ff);
- elem = new DcmLongString(DCM_OtherPatientIDs);
+ elem = new DcmLongString(DCM_RETIRED_OtherPatientIDs);
OFCHECK(elem->getParent() == NULL);
cond = item->insert(elem);
OFCHECK(cond.good());
testParents(ff);
elem = item->remove(1);
- OFCHECK_EQUAL(elem->getTag(), DCM_OtherPatientIDs);
+ OFCHECK_EQUAL(elem->getTag(), DCM_RETIRED_OtherPatientIDs);
OFCHECK(elem->getParent() == NULL);
delete elem;
testParents(ff);
/*
*
- * Copyright (C) 2008-2011, OFFIS e.V.
+ * Copyright (C) 2008-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFTEST(dcmdata_pathAccess)
{
- // TODO TODO TODO TODO TODO TODO TODO TODO
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
/* make sure data dictionary is loaded */
if (!dcmDataDict.isDictionaryLoaded())
/*
*
- * Copyright (C) 1994-2011, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/ofstd/oftest.h"
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */
OFTEST(dcmdata_partialElementAccess)
{
- // TODO TODO TODO TODO???
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
/* make sure data dictionary is loaded */
if (!dcmDataDict.isDictionaryLoaded())
/*
*
- * Copyright (C) 2015, OFFIS e.V.
+ * Copyright (C) 2015-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* D-26121 Oldenburg, Germany
*
*
- * Module: ofstd
+ * Module: dcmdata
*
* Author: Michael Onken
*
- * Purpose: tests for compare() as well as < and > operators of VR classes
+ * Purpose: tests for compare() operator of VR classes
*
*/
#include "dcmtk/dcmdata/dcvrfd.h"
#include "dcmtk/dcmdata/dcvrfl.h"
#include "dcmtk/dcmdata/dcvrobow.h"
+#include "dcmtk/dcmdata/dcvrpobw.h"
#include "dcmtk/dcmdata/dcvrsl.h"
#include "dcmtk/dcmdata/dcvrss.h"
#include "dcmtk/dcmdata/dcvrul.h"
#include "dcmtk/dcmdata/dcvrus.h"
#include "dcmtk/dcmdata/dcdeftag.h"
#include "dcmtk/dcmdata/dcpxitem.h"
+#include "dcmtk/dcmdata/dcpixel.h"
#include "dcmtk/dcmdata/dcvrpobw.h"
#include "dcmtk/dcmdata/dcovlay.h"
#include "dcmtk/dcmdata/dcpixel.h"
+#include "dcmtk/dcmdata/dcpixseq.h"
template <typename ByteStringType>
OFCHECK(obj2 >= obj1);
}
-template <typename BinaryOBOWType>
-static void checkOtherByteOtherWord(const DcmTagKey& tagKey)
+static void checkOtherByteOtherWord()
{
// Start with equal values
- BinaryOBOWType obj1(tagKey);
- BinaryOBOWType obj2(tagKey);
- BinaryOBOWType objOtherTag(DCM_UndefinedTagKey);
+ DcmOtherByteOtherWord obj1(DCM_PixelData);
+ DcmOtherByteOtherWord obj2(DCM_PixelData);
+ DcmOtherByteOtherWord objOtherTag(DCM_UndefinedTagKey);
// Check equality
Uint8 testData[1] = {100};
}
+static void checkPolymorphOtherByteOtherWord()
+{
+ // Start comparing OB with OB
+ DcmPolymorphOBOW obj1_ob(DCM_PixelData);
+ DcmPolymorphOBOW obj2_ob(DCM_PixelData);
+ obj1_ob.setVR(EVR_OB);
+ obj2_ob.setVR(EVR_OB);
+
+ OFCHECK(obj1_ob.compare(obj2_ob) == 0);
+ OFCHECK(obj1_ob >= obj2_ob);
+ OFCHECK(obj1_ob <= obj2_ob);
+ OFCHECK(obj2_ob >= obj1_ob);
+ OFCHECK(obj2_ob <= obj2_ob);
+
+ // Compare with same values (still equal)
+ Uint8 testData_100[1] = {100};
+ OFCHECK(obj1_ob.putUint8Array(testData_100, 1).good());
+ OFCHECK(obj2_ob.putUint8Array(testData_100, 1).good());
+ OFCHECK(obj1_ob.compare(obj2_ob) == 0);
+ OFCHECK(obj1_ob >= obj2_ob);
+ OFCHECK(obj1_ob <= obj2_ob);
+ OFCHECK(obj2_ob >= obj1_ob);
+ OFCHECK(obj2_ob <= obj2_ob);
+ OFCHECK(!(obj1_ob > obj2_ob));
+ OFCHECK(!(obj1_ob < obj2_ob));
+
+
+ // Compare with different values (single value, obj1 < obj2)
+ Uint8 testData_200[1] = {200};
+ OFCHECK(obj1_ob.putUint8Array(testData_100, 1).good());
+ OFCHECK(obj2_ob.putUint8Array(testData_200, 1).good());
+ OFCHECK(obj1_ob.compare(obj2_ob) == -1);
+ OFCHECK(obj1_ob < obj2_ob);
+ OFCHECK(obj1_ob <= obj2_ob);
+
+ // Compare with different number of values (less values, i.e. obj1, means smaller)
+ Uint8 testData_100_200[2] = {100,200};
+ OFCHECK(obj1_ob.putUint8Array(testData_100, 1).good());
+ OFCHECK(obj2_ob.putUint8Array(testData_100_200, 2).good());
+ OFCHECK(obj1_ob.compare(obj2_ob) < 0);
+ OFCHECK(obj1_ob < obj2_ob);
+ OFCHECK(obj1_ob <= obj2_ob);
+
+ // Compare values (same multiple values means equal)
+ OFCHECK(obj1_ob.putUint8Array(testData_100_200, 2).good());
+ OFCHECK(obj2_ob.putUint8Array(testData_100_200, 2).good());
+ OFCHECK(obj1_ob.compare(obj2_ob) == 0);
+ OFCHECK(!(obj1_ob < obj2_ob));
+ OFCHECK(!(obj2_ob < obj2_ob));
+ OFCHECK(obj1_ob <= obj2_ob);
+
+ // Compare values (same number of values but different values means not equal, obj1 < obj2)
+ Uint8 testData_100_201[2] = {100,201};
+ OFCHECK(obj1_ob.putUint8Array(testData_100_200, 2).good());
+ OFCHECK(obj2_ob.putUint8Array(testData_100_201, 2).good());
+ OFCHECK(obj1_ob.compare(obj2_ob) == -1);
+ OFCHECK(obj1_ob < obj2_ob);
+ OFCHECK(!(obj2_ob < obj2_ob));
+ OFCHECK(obj1_ob <= obj2_ob);
+}
+
+
+static void checkDcmPixelDataNative()
+{
+ // Testing DcmPixelData having uncompressed pixel data.
+ // The tests here finally boil down in the usage of
+ // DcmPolymorphOBOW::compare() which is called within
+ // DcmPixelData::compare()
+
+ // -------------------------------
+ // Start with comparing OB with OB
+ // -------------------------------
+
+ DcmPixelData obj1_ob(DCM_PixelData);
+ DcmPixelData obj2_ob(DCM_PixelData);
+ obj1_ob.setVR(EVR_OB);
+ obj2_ob.setVR(EVR_OB);
+
+ // Compare empty
+ OFCHECK(obj1_ob.compare(obj2_ob) == 0);
+ OFCHECK(obj1_ob >= obj2_ob);
+ OFCHECK(obj2_ob >= obj1_ob);
+
+ // Compare with same values (still equal), uncompressed
+ Uint8 testData_100[1] = {100};
+ OFCHECK(obj1_ob.putUint8Array(testData_100, 1).good());
+ OFCHECK(obj2_ob.putUint8Array(testData_100, 1).good());
+ OFCHECK(obj1_ob.compare(obj2_ob) == 0);
+ OFCHECK(obj1_ob >= obj2_ob);
+ OFCHECK(obj2_ob >= obj1_ob);
+ OFCHECK(!(obj1_ob > obj2_ob));
+ OFCHECK(!(obj1_ob < obj2_ob));
+
+ // Compare with different values (single value, obj1 < obj2)
+ Uint8 testData_200[1] = {200};
+ OFCHECK(obj1_ob.putUint8Array(testData_100, 1).good());
+ OFCHECK(obj2_ob.putUint8Array(testData_200, 1).good());
+ OFCHECK(obj1_ob.compare(obj2_ob) == -1);
+ OFCHECK(obj1_ob < obj2_ob);
+ OFCHECK(obj1_ob <= obj2_ob);
+
+ // Compare with different number of values (less values, i.e. obj1, means smaller)
+ Uint8 testData_100_200[2] = {100,200};
+ OFCHECK(obj1_ob.putUint8Array(testData_100, 1).good());
+ OFCHECK(obj2_ob.putUint8Array(testData_100_200, 2).good());
+ OFCHECK(obj1_ob.compare(obj2_ob) < 0);
+ OFCHECK(obj1_ob < obj2_ob);
+ OFCHECK(obj1_ob <= obj2_ob);
+
+ // Compare values (same multiple values means equal)
+ OFCHECK(obj1_ob.putUint8Array(testData_100_200, 2).good());
+ OFCHECK(obj2_ob.putUint8Array(testData_100_200, 2).good());
+ OFCHECK(obj1_ob.compare(obj2_ob) == 0);
+ OFCHECK(!(obj1_ob < obj2_ob));
+ OFCHECK(!(obj2_ob < obj2_ob));
+ OFCHECK(obj1_ob <= obj2_ob);
+
+ // Compare values (same number of values but different values means not equal, obj1 < obj2)
+ Uint8 testData_100_201[2] = {100,201};
+ OFCHECK(obj1_ob.putUint8Array(testData_100_200, 2).good());
+ OFCHECK(obj2_ob.putUint8Array(testData_100_201, 2).good());
+ OFCHECK(obj1_ob.compare(obj2_ob) == -1);
+ OFCHECK(obj1_ob < obj2_ob);
+ OFCHECK(!(obj2_ob < obj2_ob));
+ OFCHECK(obj1_ob <= obj2_ob);
+
+ // -------------------------------
+ // Continue comparing OW with OW
+ // -------------------------------
+
+ DcmPixelData obj1_ow(DCM_PixelData);
+ DcmPixelData obj2_ow(DCM_PixelData);
+ obj1_ow.setVR(EVR_OW);
+ obj2_ow.setVR(EVR_OW);
+
+ // Compare empty (equal)
+ OFCHECK(obj1_ow.compare(obj2_ow) == 0);
+ OFCHECK(obj1_ow >= obj2_ow);
+ OFCHECK(obj2_ow >= obj1_ow);
+
+ // Compare with same values (still equal), uncompressed
+ Uint16 testData_1000[1] = {0x1000};
+ OFCHECK(obj1_ow.putUint16Array(testData_1000, 1).good());
+ OFCHECK(obj2_ow.putUint16Array(testData_1000, 1).good());
+ OFCHECK(obj1_ow.compare(obj2_ow) == 0);
+ OFCHECK(obj1_ow >= obj2_ow);
+ OFCHECK(obj2_ow >= obj1_ow);
+
+ // Compare with different values (single value)
+ Uint16 testData_2000[1] = {0x2000};
+ OFCHECK(obj1_ow.putUint16Array(testData_1000, 1).good());
+ OFCHECK(obj2_ow.putUint16Array(testData_2000, 1).good());
+ OFCHECK(obj1_ow.compare(obj2_ow) == -1);
+ OFCHECK(obj1_ow < obj2_ow);
+
+ // Compare with different number of values (less values, i.e. obj1, means smaller)
+ Uint16 testData_1000_2000[2] = {0x1000,0x2000};
+ OFCHECK(obj1_ow.putUint16Array(testData_1000, 1).good());
+ OFCHECK(obj2_ow.putUint16Array(testData_1000_2000, 2).good());
+ OFCHECK(obj1_ow.compare(obj2_ow) < 0);
+ OFCHECK(obj1_ow < obj2_ow);
+
+ // Compare values (same multiple values means equal)
+ OFCHECK(obj1_ow.putUint16Array(testData_1000_2000, 2).good());
+ OFCHECK(obj2_ow.putUint16Array(testData_1000_2000, 2).good());
+ OFCHECK(obj1_ow.compare(obj2_ow) == 0);
+ OFCHECK(!(obj1_ow < obj2_ow));
+ OFCHECK(!(obj2_ow < obj2_ow));
+ OFCHECK(obj1_ow <= obj2_ow);
+
+ // Compare values (same number of values but different values means not equal, obj1 < obj2)
+ Uint16 testData_1000_2001[2] = {0x1000,0x2001};
+ OFCHECK(obj1_ow.putUint16Array(testData_1000_2000, 2).good());
+ OFCHECK(obj2_ow.putUint16Array(testData_1000_2001, 2).good());
+ OFCHECK(obj1_ow.compare(obj2_ow) == -1);
+ OFCHECK(obj1_ow < obj2_ow);
+ OFCHECK(!(obj2_ow < obj2_ow));
+ OFCHECK(obj1_ow <= obj2_ow);
+
+
+ // Continue with comparison of OB with OW
+ Uint8 testData8_10[1] = {0x10};
+ Uint16 testData16_0010[1] = {0x0010};
+ obj1_ob.putUint8Array(testData8_10, 1);
+ obj2_ow.putUint16Array(testData16_0010, 1);
+ // OB and OW with same value should be equal
+ // (comparison takes place bytewise in little endian)
+ OFCHECK(obj1_ob.compare(obj2_ow) == 0);
+ OFCHECK(obj1_ob >= obj2_ow);
+ OFCHECK(obj2_ow >= obj1_ob);
+
+ // Compare with different values
+ Uint16 testData16_0011[1] = {0x0011};
+ OFCHECK(obj1_ob.putUint8Array(testData8_10, 1).good());
+ OFCHECK(obj2_ow.putUint16Array(testData16_0011, 1).good());
+ OFCHECK(obj1_ob.compare(obj2_ow) < 0);
+ OFCHECK(obj1_ob < obj2_ow);
+
+ // Compare with different number of values (less values, i.e. obj1, means smaller)
+ Uint16 testData16_0010_0020[2] = {0x0010,0x0020};
+ OFCHECK(obj1_ob.putUint8Array(testData8_10, 1).good());
+ OFCHECK(obj2_ow.putUint16Array(testData16_0010_0020, 2).good());
+ OFCHECK(obj1_ow.compare(obj2_ow) < 0);
+ OFCHECK(obj1_ow < obj2_ow);
+}
+
+
+static void checkDcmPixelDataEncapsulatedOB()
+{
+ DcmPixelData obj1_ob(DCM_PixelData);
+ DcmPixelData obj2_ob(DCM_PixelData);
+ obj1_ob.setVR(EVR_OB);
+ obj2_ob.setVR(EVR_OB);
+ Uint8 testData8_1010[2] = {0x10,0x10};
+
+ // (Compare empty already om checkDcmPixelDataNative())
+
+ // --------------------------------------------
+ // Compare with same current representation
+ // --------------------------------------------
+
+ DcmPixelSequence *pixseq1 = new DcmPixelSequence(DCM_PixelData);
+ OFCHECK(pixseq1 != NULL);
+ DcmOffsetList offsetList;
+ DcmPixelItem *offsetItem = new DcmPixelItem(DCM_PixelItemTag);
+ OFCHECK(offsetItem != NULL);
+ // First item is always offset table
+ OFCHECK(pixseq1->insert(offsetItem).good());
+ OFCHECK(pixseq1->storeCompressedFrame(offsetList, testData8_1010, 2, 0).good());
+ obj1_ob.putOriginalRepresentation(EXS_JPEGProcess14SV1, NULL, pixseq1);
+
+ // Compare objects with two equal single frames
+ DcmPixelSequence *pixseq2 = new DcmPixelSequence(DCM_PixelData);
+ OFCHECK(pixseq2 != NULL);
+ offsetItem = new DcmPixelItem(DCM_PixelItemTag);
+ OFCHECK(offsetItem != NULL);
+ OFCHECK(pixseq2->insert(offsetItem).good());
+ OFCHECK(pixseq2->storeCompressedFrame(offsetList, testData8_1010, 2, 0).good());
+ obj2_ob.putOriginalRepresentation(EXS_JPEGProcess14SV1, NULL, pixseq2);
+ OFCHECK(obj1_ob.compare(obj2_ob) == 0);
+ OFCHECK(obj1_ob >= obj2_ob);
+
+ // Compare object with single frame with one with no frame
+ DcmPixelItem* remove = NULL;
+ OFCHECK(pixseq2->remove(remove, 1).good()); // remove frame 1
+ OFCHECK(obj1_ob.compare(obj2_ob) > 0 );
+
+ // Compare object with single frame, and with two frames
+ OFCHECK(pixseq2->insert(remove, 1).good()); // insert frame 1 back in again
+ OFCHECK(pixseq2->storeCompressedFrame(offsetList, testData8_1010, 2, 0).good());
+ OFCHECK(obj1_ob.compare(obj2_ob) < 0); //1 frames < 2 frames
+
+ // Compare objects, both having two frames, with the second frame being different
+ Uint8 testData8_0505[2] = {0x05,0x05};
+ OFCHECK(pixseq1->storeCompressedFrame(offsetList, testData8_0505, 2, 0).good());
+ OFCHECK(obj1_ob.compare(obj2_ob) < 0);
+
+ // --------------------------------------------
+ // Compare with different current representation
+ // --------------------------------------------
+
+ DcmPixelData obj3_ob(DCM_PixelData);
+ obj3_ob.setVR(EVR_OB);
+ DcmPixelSequence *pixseq3 = new DcmPixelSequence(DCM_PixelData);
+ OFCHECK(pixseq3 != NULL);
+ offsetItem = new DcmPixelItem(DCM_PixelItemTag);
+ OFCHECK(offsetItem != NULL);
+ OFCHECK(pixseq3->insert(offsetItem).good());
+ // Add same data as in pixseq1
+ OFCHECK(pixseq3->storeCompressedFrame(offsetList, testData8_1010, 2, 0).good());
+ OFCHECK(pixseq3->storeCompressedFrame(offsetList, testData8_0505, 2, 0).good());
+ // But insert and pretend that is RLE
+ obj3_ob.putOriginalRepresentation(EXS_RLELossless, NULL, pixseq3);
+ // compare JPEG (pixseq1), with RLE (pixseq3)
+ OFCHECK(obj1_ob.compare(obj3_ob) == 1); // different current representation returns 1
+}
+
+
static void checkSignedLong()
{
// Start with equal values
checkByteString<DcmPersonName>(DCM_OtherPatientNames);
checkByteString<DcmShortText>(DCM_RTPlanDescription);
checkByteString<DcmUnlimitedText>(DCM_RetrieveURL);
+ // Check the rest
checkAttributeTags();
checkFloatingPointDouble();
checkFloatingPointSingle();
- checkOtherByteOtherWord<DcmPixelItem>(DCM_PixelData);
- checkOtherByteOtherWord<DcmPolymorphOBOW>(DCM_PixelData);
- checkOtherByteOtherWord<DcmOverlayData>(DCM_OverlayData);
- checkOtherByteOtherWord<DcmPixelData>(DCM_PixelData);
+ checkOtherByteOtherWord();
+ checkPolymorphOtherByteOtherWord();
+ checkDcmPixelDataNative();
+ checkDcmPixelDataEncapsulatedOB();
checkSignedLong();
checkSignedShort();
checkUnsignedLong();
PROJECT(dcmfg)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmfg_SOURCE_DIR}/include ${dcmiod_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmfg_SOURCE_DIR}/include" "${dcmiod_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" ${ZLIB_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc include)
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmfg DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmfg DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
/*
*
- * Copyright (C) 2015-2016, Open Connections GmbH
+ * Copyright (C) 2015-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
/** Set Real World Value First Value Mapped
* @param value Value to be set. If Pixel Representation is -1 (signed
* pixel data) value must be -2^15 < value < 2^15-1. Otherwise use
- * setRealWorldValueFirstValueMappedUnSigned().
+ * setRealWorldValueFirstValueMappedUnsigned().
* @param checkValue Check 'value'. Not evaluated (here for consistency
* with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
- virtual OFCondition setRealWorldValueFirstValueMappeSigned(const Sint16 &value,
- const OFBool checkValue = OFTrue);
+ virtual OFCondition setRealWorldValueFirstValueMappedSigned(const Sint16 &value,
+ const OFBool checkValue = OFTrue);
/** Set Real World Value Last Value Mapped
* @param value Value to be set. If Pixel Representation is 0 (unsigned
/** Set Real World Value Last Value Mapped
* @param value Value to be set. If Pixel Representation is -1 (signed
* pixel data) value must be -2^15 < value < 2^15-1. Otherwise use
- * setRealWorldValueLastValueMappedUnSigned().
+ * setRealWorldValueLastValueMappedUnsigned().
* @param checkValue Check 'value'. Not evaluated (here for consistency
* with other setter functions).
* @return EC_Normal if successful, an error code otherwise
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../../dcmiod/include/dcmtk/dcmiod/modpatient.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \
../../ofstd/include/dcmtk/ofstd/ofoption.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmfg/fgbase.h \
- ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \
+ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \
+ ../include/dcmtk/dcmfg/fgdefine.h \
../../dcmiod/include/dcmtk/dcmiod/iodutil.h
fgfact.o: fgfact.cc ../../config/include/dcmtk/config/osconfig.h \
../../dcmiod/include/dcmtk/dcmiod/iodutil.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmfg/fgfact.h ../include/dcmtk/dcmfg/fgtypes.h \
../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgderimg.h \
../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmfg/fgbase.h \
- ../include/dcmtk/dcmfg/fgfracon.h \
+ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgfracon.h \
../include/dcmtk/dcmfg/fgframeanatomy.h \
../include/dcmtk/dcmfg/fgframevoilut.h \
../include/dcmtk/dcmfg/fgidentpixeltransform.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmfg/fgfracon.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmfg/fgbase.h \
- ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \
+ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \
+ ../include/dcmtk/dcmfg/fgdefine.h \
../../dcmiod/include/dcmtk/dcmiod/iodutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h
fgframevoilut.o: fgframevoilut.cc \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmfg/fgframevoilut.h ../include/dcmtk/dcmfg/fgbase.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmfg/fgidentpixeltransform.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmfg/fgimagedatatype.h ../include/dcmtk/dcmfg/fgbase.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmfg/fgparametricmapframetype.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmfg/fgplanorvol.h ../include/dcmtk/dcmfg/fgbase.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmfg/fgplanposvol.h ../include/dcmtk/dcmfg/fgbase.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../../dcmiod/include/dcmtk/dcmiod/modpatient.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \
../../ofstd/include/dcmtk/ofstd/ofoption.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmfg/fgusimagedescription.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmfg/stackinterface.h \
/*
*
- * Copyright (C) 2015-2016, Open Connections GmbH
+ * Copyright (C) 2015-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
// Delete all per frame groups of this type
for (size_t count = 0; count < m_perFrame.size(); count++)
{
- deletePerFrame(count, group.getType());
+ deletePerFrame(OFstatic_cast(Uint32, count), group.getType());
}
// Create copy for insertion
Uint32 count = 0;
while (oneFrameItem != NULL)
{
- OFauto_ptr<FunctionalGroups> perFrameGroups(new FunctionalGroups());
+ OFunique_ptr<FunctionalGroups> perFrameGroups(new FunctionalGroups());
if (!oneFrameItem)
{
DCMFG_ERROR("Could not get functional group item for frame #" << count << " (internal error)");
OFString fgname;
for (size_t count = 0; count < card; count++)
{
- DcmElement *elem = fgItem.getElement(count);
+ DcmElement *elem = fgItem.getElement(OFstatic_cast(unsigned long, count));
// TODO: non-sequence elements are not explicitly forbidden here(?), we could store them and re-store them later
if (elem->getVR() != EVR_SQ)
{
const size_t numFrames = m_perFrame.size();
for (size_t frameNo = 0; frameNo < numFrames; frameNo++)
{
- if (deletePerFrame(frameNo, fgType))
+ if (deletePerFrame(OFstatic_cast(Uint32, frameNo), fgType))
{
numDeleted++;
}
for ( size_t count = 0; (count < numFrames) && result.good(); count++)
{
DcmItem* perFrameItem = NULL;
- result = dataset.findOrCreateSequenceItem(DCM_PerFrameFunctionalGroupsSequence, perFrameItem, count);
+ result = dataset.findOrCreateSequenceItem(DCM_PerFrameFunctionalGroupsSequence, perFrameItem, OFstatic_cast(long, count));
if (result.good())
{
/* Iterate over groups for each frame */
}
else
{
- result = insertPerFrame(count, clone, OFTrue /* replace existing */);
+ result = insertPerFrame(OFstatic_cast(Uint32, count), clone, OFTrue /* replace existing */);
if (result.bad())
{
delete clone;
/*
*
- * Copyright (C) 2015-2016, Open Connections GmbH
+ * Copyright (C) 2015-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
for (size_t n = 0; n < numValues; n++)
{
Float64 value;
- result = elem->getFloat64(value, n);
+ result = elem->getFloat64(value, OFstatic_cast(unsigned long, n));
if (result.good()) values.push_back(value);
}
}
}
-OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueFirstValueMappeSigned(const Sint16& value,
- const OFBool checkValue)
+OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueFirstValueMappedSigned(const Sint16& value,
+ const OFBool checkValue)
{
(void)checkValue;
DcmSignedShort* ss = new DcmSignedShort(DCM_RealWorldValueFirstValueMapped);
size_t count = value.size();
for (size_t n = 0; n < count; n++)
{
- if (result.good()) result = elem->putFloat64(value[n], n);
+ if (result.good()) result = elem->putFloat64(value[n], OFstatic_cast(unsigned long, n));
}
}
return result;
/*
*
- * Copyright (C) 2015-2016, Open Connections GmbH
+ * Copyright (C) 2015-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
for (size_t count = 0; count < numFrames; count++)
{
// Get frame content FG if existing
- FGFrameContent* fracon = OFstatic_cast(FGFrameContent*, fgSource.get(count, DcmFGTypes::EFG_FRAMECONTENT));
+ FGFrameContent* fracon = OFstatic_cast(FGFrameContent*, fgSource.get(OFstatic_cast(Uint32, count), DcmFGTypes::EFG_FRAMECONTENT));
if (fracon != NULL)
{
OFString stackID;
if ( (*it).second->getStackID() == stackID)
{
// Add frame to stack if it is not in yet
- if ( (*it).second->getInStackPos(count) == 0)
+ if ( (*it).second->getInStackPos(OFstatic_cast(Uint32, count)) == 0)
{
- (*it).second->addFrame(count, inStackPos);
+ (*it).second->addFrame(OFstatic_cast(Uint32, count), inStackPos);
}
}
it++;
{
return EC_MemoryExhausted;
}
- stack->addFrame(count, inStackPos);
+ stack->addFrame(OFstatic_cast(Uint32, count), inStackPos);
if ( !m_Stacks.insert(OFMake_pair(stack->getStackID(), stack)).second )
{
delete stack;
@SET_MAKE@
SHELL = /bin/sh
-VPATH = @srcdir@:@top_srcdir@/include:@top_srcdir@/@configdir@/include
srcdir = @srcdir@
top_srcdir = @top_srcdir@
configdir = @top_srcdir@/@configdir@
PROJECT(dcmimage)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmimage_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${ZLIB_INCDIR} ${LIBTIFF_INCDIR} ${LIBPNG_INCDIR})
+INCLUDE_DIRECTORIES("${dcmimage_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${dcmimgle_SOURCE_DIR}/include" ${ZLIB_INCDIR} ${LIBTIFF_INCDIR} ${LIBPNG_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc apps include)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
LIBDIRS = -L$(top_srcdir)/libsrc -L$(ofstddir)/libsrc -L$(oflogdir)/libsrc \
-L$(dcmdatadir)/libsrc -L$(dcmimgledir)/libsrc
LOCALLIBS = -ldcmimage -ldcmimgle -ldcmdata -loflog -lofstd $(TIFFLIBS) $(PNGLIBS) \
- $(ZLIBLIBS) $(CHARCONVLIBS)
+ $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS)
objs = dcm2pnm.o dcmquant.o dcmscale.o
progs = dcm2pnm dcmquant dcmscale
all: $(progs)
dcm2pnm: dcm2pnm.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmquant: dcmquant.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmscale: dcmscale.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
install: all
/*
*
- * Copyright (C) 1996-2016, OFFIS e.V.
+ * Copyright (C) 1996-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dctk.h" /* for various dcmdata headers */
#include "dcmtk/dcmdata/cmdlnarg.h" /* for prepareCmdLineArgs */
#include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */
/*
*
- * Copyright (C) 2001-2014, OFFIS e.V.
+ * Copyright (C) 2001-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dctk.h" /* for various dcmdata headers */
#include "dcmtk/dcmdata/cmdlnarg.h" /* for prepareCmdLineArgs */
#include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */
OFCmdUnsignedInt opt_frame = 1; /* default: first frame */
OFCmdUnsignedInt opt_frameCount = 0; /* default: all frames */
- OFBool opt_palette_ow = OFFalse;
+ OFBool opt_palette_ow = OFTrue;
OFBool opt_entries_word = OFFalse;
OFBool opt_palette_fs = OFFalse;
OFCmdUnsignedInt opt_palette_col = 256;
cmd.addOption("--mc-color-avgpixel", "+Cp", "average pixels in box");
cmd.addOption("--mc-color-center", "+Cc", "select center of box");
+ cmd.addSubGroup("color palette value representation:");
+ cmd.addOption("--write-ow", "+pw", "write Palette LUT as OW (default)");
+ cmd.addOption("--write-us", "+pu", "write Palette LUT as US (retired)");
+
cmd.addSubGroup("color palette creation:");
- cmd.addOption("--write-ow", "+pw", "write Palette LUT as OW instead of US");
cmd.addOption("--lut-entries-word", "+pe", "write Palette LUT with 16-bit entries");
cmd.addOption("--floyd-steinberg", "+pf", "use Floyd-Steinberg error diffusion");
cmd.addOption("--colors", "+pc", 1, "number of colors: 2..65536 (default 256)",
cmd.endOptionBlock();
#endif
+ cmd.beginOptionBlock();
if (cmd.findOption("--write-ow")) opt_palette_ow = OFTrue;
+ if (cmd.findOption("--write-us")) opt_palette_ow = OFFalse;
+ cmd.endOptionBlock();
+
if (cmd.findOption("--lut-entries-word")) opt_entries_word = OFTrue;
if (cmd.findOption("--floyd-steinberg")) opt_palette_fs = OFTrue;
if (cmd.findOption("--colors")) cmd.getValueAndCheckMinMax(opt_palette_col, 2, 65536);
/*
*
- * Copyright (C) 2002-2014, OFFIS e.V.
+ * Copyright (C) 2002-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dctk.h" /* for various dcmdata headers */
#include "dcmtk/dcmdata/cmdlnarg.h" /* for prepareCmdLineArgs */
#include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */
\page dcm2pnm dcm2pnm: Convert DICOM images to PGM/PPM, PNG, TIFF or BMP
\endif
-\section synopsis SYNOPSIS
+\section dcm2pnm_synopsis SYNOPSIS
\verbatim
dcm2pnm [options] dcmfile-in [bitmap-out]
\endverbatim
-\section description DESCRIPTION
+\section dcm2pnm_description DESCRIPTION
The \b dcm2pnm utility reads a DICOM image, converts the pixel data according
to the selected image processing options and writes back an image in the
compressed DICOM images. The command line tool \b dcmj2pnm also supports a
number of JPEG compression schemes.
-\section parameters PARAMETERS
+\section dcm2pnm_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
bitmap-out output filename to be written (default: stdout)
\endverbatim
-\section options OPTIONS
+\section dcm2pnm_options OPTIONS
-\subsection general_options general options
+\subsection dcm2pnm_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcm2pnm_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection image_processing_options image processing options
+\subsection dcm2pnm_image_processing_options image processing options
\verbatim
frame selection:
clip image region (l, t, w, h)
\endverbatim
-\subsection output_options output options
+\subsection dcm2pnm_output_options output options
\verbatim
general:
write 16-bit (monochrome) or 48-bit (color) PNG
\endverbatim
-\section notes NOTES
+\section dcm2pnm_notes NOTES
The following preferred interpolation algorithms can be selected using the
\e --interpolate option:
\e --interlace enables progressive image view while loading the PNG file.
Only a few applications take care of the meta info (TEXT) in a PNG file.
-\section transfer_syntaxes TRANSFER SYNTAXES
+\section dcm2pnm_transfer_syntaxes TRANSFER SYNTAXES
\b dcm2pnm supports the following transfer syntaxes for input (\e dcmfile-in):
(*) if compiled with zlib support enabled
-\section logging LOGGING
+\section dcm2pnm_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcm2pnm_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcm2pnm_environment ENVIRONMENT
The \b dcm2pnm utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcm2pnm_files FILES
<em>\<datadir\>/camera.lut</em> - sample characteristics file of a camera
\n<em>\<datadir\>/monitor.lut</em> - sample characteristics file of a monitor
\n<em>\<datadir\>/printer.lut</em> - sample characteristics file of a printer
\n<em>\<datadir\>/scanner.lut</em> - sample characteristics file of a scanner
-\section see_also SEE ALSO
+\section dcm2pnm_see_also SEE ALSO
<b>dcmj2pnm</b>(1), <b>img2dcm</b>(1)
-\section copyright COPYRIGHT
+\section dcm2pnm_copyright COPYRIGHT
Copyright (C) 1998-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmquant dcmquant: Convert DICOM color images to palette color
\endif
-\section synopsis SYNOPSIS
+\section dcmquant_synopsis SYNOPSIS
\verbatim
dcmquant [options] dcmfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section dcmquant_description DESCRIPTION
The \b dcmquant utility reads a DICOM color image, computes a palette color
look-up table of the desired size for this image (based on the median cut
algorithm published by Paul Heckbert) and converts the color image into a
DICOM palette color image.
-\section parameters PARAMETERS
+\section dcmquant_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
dcmfile-out DICOM output filename to be written
\endverbatim
-\section options OPTIONS
+\section dcmquant_options OPTIONS
-\subsection general_options general options
+\subsection dcmquant_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmquant_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection processing_options image processing and encoding options
+\subsection dcmquant_processing_options image processing and encoding options
\verbatim
frame selection:
+Cc --mc-color-center
select center of box
-color palette creation:
+color palette value representation:
+pw --write-ow
- write Palette LUT as OW instead of US
+ write Palette LUT as OW (default)
+
+ +pu --write-us
+ write Palette LUT as US (retired)
+
+color palette creation:
+pe --lut-entries-word
write Palette LUT with 16-bit entries
never assign new UID
\endverbatim
-\subsection output_options output options
+\subsection dcmquant_output_options output options
\verbatim
-
output file format:
+F --write-file
multiple of i bytes
\endverbatim
-\section logging LOGGING
+\section dcmquant_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmquant_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmquant_environment ENVIRONMENT
The \b dcmquant utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section copyright COPYRIGHT
+\section dcmquant_copyright COPYRIGHT
-Copyright (C) 2001-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
+Copyright (C) 2001-2017 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
*/
\page dcmscale dcmscale: Scale DICOM images
\endif
-\section synopsis SYNOPSIS
+\section dcmscale_synopsis SYNOPSIS
\verbatim
dcmscale [options] dcmfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section dcmscale_description DESCRIPTION
The \b dcmscale utility reads a DICOM image, scales it according to the
command line settings and writes back the DICOM image. This utility only
supports uncompressed and RLE compressed DICOM images.
-\section parameters PARAMETERS
+\section dcmscale_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be scaled
dcmfile-out DICOM output filename to be written
\endverbatim
-\section options OPTIONS
+\section dcmscale_options OPTIONS
-\subsection general_options general options
+\subsection dcmscale_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmscale_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection processing_options image processing and encoding options
+\subsection dcmscale_processing_options image processing and encoding options
\verbatim
scaling:
never assign new SOP Instance UID
\endverbatim
-\subsection output_options output options
+\subsection dcmscale_output_options output options
\verbatim
output file format:
multiple of i bytes
\endverbatim
-\section notes NOTES
+\section dcmscale_notes NOTES
The following preferred interpolation algorithms can be selected using the
\e --interpolate option:
\li 3 = magnification algorithm with bilinear interpolation from Eduard Stanescu
\li 4 = magnification algorithm with bicubic interpolation from Eduard Stanescu
-\section logging LOGGING
+\section dcmscale_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmscale_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmscale_environment ENVIRONMENT
The \b dcmscale utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section copyright COPYRIGHT
+\section dcmscale_copyright COPYRIGHT
Copyright (C) 2002-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmimage DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmimage DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/dicmyimg.h ../include/dcmtk/dcmimage/dicoimg.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmimage/dicdefin.h \
../../dcmimgle/include/dcmtk/dcmimgle/dipixel.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/dihsvimg.h ../include/dcmtk/dcmimage/dicoimg.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmimage/dicdefin.h
dipalimg.o: dipalimg.cc ../../config/include/dcmtk/config/osconfig.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h
diqthash.o: diqthash.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmimage/diqthash.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/diqttype.h \
../include/dcmtk/dcmimage/dicdefin.h ../include/dcmtk/dcmimage/diqtid.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmimage/dicdefin.h \
../include/dcmtk/dcmimage/dipalimg.h ../include/dcmtk/dcmimage/dicoimg.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/dirgbimg.h ../include/dcmtk/dcmimage/dicoimg.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/diybrimg.h ../include/dcmtk/dcmimage/dicoimg.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/diyf2img.h ../include/dcmtk/dcmimage/dicoimg.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/diyp2img.h ../include/dcmtk/dcmimage/dicoimg.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
/*
*
- * Copyright (C) 2002-2016, OFFIS e.V.
+ * Copyright (C) 2002-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
unsigned long result = 0;
for (const_table_iterator it = m_Table.begin(); it != m_Table.end(); ++it)
- if (*it) result += (*it)->size();
+ if (*it) result += OFstatic_cast(unsigned long, (*it)->size());
return result;
}
PROJECT(dcmimgle)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmimgle_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmimgle_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" ${ZLIB_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc apps include data)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
LOCALINCLUDES = -I$(ofstddir)/include -I$(oflogdir)/include -I$(dcmdatadir)/include
LIBDIRS = -L$(top_srcdir)/libsrc -L$(ofstddir)/libsrc -L$(oflogdir)/libsrc -L$(dcmdatadir)/libsrc
-LOCALLIBS = -ldcmimgle -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(CHARCONVLIBS)
+LOCALLIBS = -ldcmimgle -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS)
objs = dconvlum.o dcmdspfn.o dcod2lum.o
progs = dconvlum dcmdspfn dcod2lum
all: $(progs)
dconvlum: dconvlum.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmdspfn: dcmdspfn.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcod2lum: dcod2lum.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
install: all
/*
*
- * Copyright (C) 1999-2014, OFFIS e.V.
+ * Copyright (C) 1999-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
# declare installation files
-INSTALL(FILES camera.lut monitor.lut printer.lut scanner.lut DESTINATION ${DCMTK_INSTALL_DATDIR} COMPONENT data)
+INSTALL(FILES camera.lut monitor.lut printer.lut scanner.lut DESTINATION "${DCMTK_INSTALL_DATDIR}" COMPONENT data)
\page dcmdspfn dcmdspfn: Export standard display curves to a text file
\endif
-\section synopsis SYNOPSIS
+\section dcmdspfn_synopsis SYNOPSIS
\verbatim
dcmdspfn [options]
\endverbatim
-\section description DESCRIPTION
+\section dcmdspfn_description DESCRIPTION
Command line program converts a DCMTK monitor / camera / printer / scanner
characteristics file to tabbed text file describing the characteristic curve
computed for a specified luminance/OD range (min/max) and a certain number of
Digital Driving Levels (DDL).
-\section parameters PARAMETERS
+\section dcmdspfn_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be dumped
\endverbatim
-\section options OPTIONS
+\section dcmdspfn_options OPTIONS
-\subsection general_options general options
+\subsection dcmdspfn_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options (mutually exclusive)
+\subsection dcmdspfn_input_options input options (mutually exclusive)
\verbatim
+Im --monitor-file [f]ilename: string
text file describing the monitor characteristics
automatically converted to luminance
\endverbatim
-\subsection creation_options creation options
+\subsection dcmdspfn_creation_options creation options
\verbatim
+Ca --ambient-light [a]mbient light: float
ambient light value (cd/m^2, default: file f)
(0..99, default: file setting or cubic spline)
\endverbatim
-\subsection output_options output options
+\subsection dcmdspfn_output_options output options
\verbatim
+Og --gsdf [f]ilename: string
write GSDF curve data to file f
write CIELAB curve data to file f
\endverbatim
-\section notes NOTES
+\section dcmdspfn_notes NOTES
The output file describing the CC, GSDF or CIELAB and PSC for an 8 bit display
system (monitor, camera, printer or scanner) is a simple text file. Lines
cameras, printers and scanners. See DICOM standard part 14 for more details
on display calibration and Barten's model (including GSDF).
-\section logging LOGGING
+\section dcmdspfn_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmdspfn_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section files FILES
+\section dcmdspfn_files FILES
<em>\<datadir\>/camera.lut</em> - sample characteristics file of a camera
\n<em>\<datadir\>/monitor.lut</em> - sample characteristics file of a monitor
\n<em>\<datadir\>/printer.lut</em> - sample characteristics file of a printer
\n<em>\<datadir\>/scanner.lut</em> - sample characteristics file of a scanner
-\section see_also SEE ALSO
+\section dcmdspfn_see_also SEE ALSO
<b>dconvlum</b>(1), <b>dcod2lum</b>(1)
-\section copyright COPYRIGHT
+\section dcmdspfn_copyright COPYRIGHT
Copyright (C) 1999-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcod2lum dcod2lum: Convert hardcopy characteristic curve file to softcopy format
\endif
-\section synopsis SYNOPSIS
+\section dcod2lum_synopsis SYNOPSIS
\verbatim
dcod2lum in-file out-file
\endverbatim
-\section description DESCRIPTION
+\section dcod2lum_description DESCRIPTION
Command line program that converts a hardcopy characteristic curve file to
softcopy format. In other words, the measured optical density (OD) values
file (keyword \e lum) all optical density values are mapped to a constant
luminance.
-\section parameters PARAMETERS
+\section dcod2lum_parameters PARAMETERS
\verbatim
in-file hardcopy characteristic curve file to be converted
out-file softcopy characteristic curve file to be written
\endverbatim
-\section notes NOTES
+\section dcod2lum_notes NOTES
The format of both input and output file is described the documentation of the
\b dcmdspfn command line tool. In addition, the \e data folder contains
sample characteristics file monitors, cameras, printers and scanners.
-\section files FILES
+\section dcod2lum_files FILES
<em>\<datadir\>/camera.lut</em> - sample characteristics file of a camera
\n<em>\<datadir\>/monitor.lut</em> - sample characteristics file of a monitor
\n<em>\<datadir\>/printer.lut</em> - sample characteristics file of a printer
\n<em>\<datadir\>/scanner.lut</em> - sample characteristics file of a scanner
-\section see_also SEE ALSO
+\section dcod2lum_see_also SEE ALSO
<b>dcmdspfn</b>(1)
-\section copyright COPYRIGHT
+\section dcod2lum_copyright COPYRIGHT
Copyright (C) 2002-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dconvlum dconvlum: Convert VeriLUM files to DCMTK display files
\endif
-\section synopsis SYNOPSIS
+\section dconvlum_synopsis SYNOPSIS
\verbatim
dconvlum in-file out-file [ambient]
\endverbatim
-\section description DESCRIPTION
+\section dconvlum_description DESCRIPTION
Command line program that converts VeriLUM file with characteristic curve data
(\e CCx_xx.dat) to a format used for the Barten transformation in this toolkit.
VeriLUM is a calibration package from ImageSmiths consisting of a photometer
(with serial RS232 connector) and a Windows NT software.
-\section parameters PARAMETERS
+\section dconvlum_parameters PARAMETERS
\verbatim
in-file VeriLUM characteristic curve file to be converted
ambient ambient light (cd/m^2, floating point value)
\endverbatim
-\section notes NOTES
+\section dconvlum_notes NOTES
The output file describing the characteristic curve of a display system
(monitor) is a simple text file. Lines starting with a '#' are treated as
See DICOM standard part 14 for more details on display calibration and
Barten's model (including GSDF).
-\section see_also SEE ALSO
+\section dconvlum_see_also SEE ALSO
<b>dcmdspfn</b>(1), <b>dcm2pnm</b>(1)
-\section copyright COPYRIGHT
+\section dconvlum_copyright COPYRIGHT
Copyright (C) 1999-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
-*/
\ No newline at end of file
+*/
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmimgle DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmimgle DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmimgle/didefine.h
diciefn.o: diciefn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmimgle/diciefn.h ../include/dcmtk/dcmimgle/didispfn.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h
dicielut.o: dicielut.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmimgle/dicielut.h \
../include/dcmtk/dcmimgle/didislut.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmimgle/didefine.h
didislut.o: didislut.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmimgle/didislut.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmimgle/didefine.h
didispfn.o: didispfn.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h
didocu.o: didocu.cc ../../config/include/dcmtk/config/osconfig.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h
digsdlut.o: digsdlut.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmimgle/digsdlut.h \
../include/dcmtk/dcmimgle/didislut.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmimgle/displint.h
diimage.o: diimage.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmimgle/didefine.h
diluptab.o: diluptab.cc ../../config/include/dcmtk/config/osconfig.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimgle/dimo1img.h ../include/dcmtk/dcmimgle/dimoimg.h \
../include/dcmtk/dcmimgle/diimage.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimgle/dimo2img.h ../include/dcmtk/dcmimgle/dimoimg.h \
../include/dcmtk/dcmimgle/diimage.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmimgle/diobjcou.h ../include/dcmtk/dcmimgle/didocu.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/dimopx.h \
../include/dcmtk/dcmimgle/dipixel.h ../include/dcmtk/dcmimgle/dimomod.h \
../include/dcmtk/dcmimgle/diluptab.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/dimomod.h \
../include/dcmtk/dcmimgle/diluptab.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimgle/diovlay.h ../include/dcmtk/dcmimgle/diobjcou.h \
../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/diovdat.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimgle/diovlay.h ../include/dcmtk/dcmimgle/diobjcou.h \
../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/diovdat.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimgle/diovlimg.h \
../include/dcmtk/dcmimgle/dimo2img.h ../include/dcmtk/dcmimgle/dimoimg.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimgle/diutils.h ../include/dcmtk/dcmimgle/didefine.h
PROJECT(dcmiod)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmiod_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmiod_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" ${ZLIB_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc include tests)
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmiod DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h" PATTERN "CVS" EXCLUDE)
+INSTALL(DIRECTORY dcmtk/dcmiod DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h" PATTERN "CVS" EXCLUDE)
* @param readSeries Read Series-level information if OFTrue, always
* includes Frame of Reference, i.e.\ readFoR is
* considered to be OFTrue
+ * @param takeOverCharset If OFTrue (default), Specific Character Set is
+ * taken over from imported dataset. If it's not
+ * present or empty (invalid), the attribute will
+ * not be present in this class either.
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition import(DcmItem& dataset,
- OFBool readPatient,
- OFBool readStudy,
- OFBool readFoR = OFFalse,
- OFBool readSeries = OFFalse);
+ const OFBool readPatient,
+ const OFBool readStudy,
+ const OFBool readFoR = OFFalse,
+ const OFBool readSeries = OFFalse,
+ const OFBool takeOverCharset = OFTrue);
/** Import common module attributes from DICOM file but only read Patient, Study,
* Series and/or Frame of Reference level portions. The current content
* @param useStudy If OFTrue, Study level information is imported
* @param useSeries If OFTrue, Series level information is imported
* @param useFoR If OFTrue, Frame of Reference information is imported
+ * @param takeOverCharset If OFTrue (default), Specific Character Set is
+ * taken over from imported dataset. If it's not
+ * present or empty (invalid), the attribute will
+ * not be present in this class either.
+
* @return EC_Normal if reading was successful (i.e.\ if any information could
* be read), otherwise an error is returned
*/
const OFBool usePatient,
const OFBool useStudy,
const OFBool useSeries,
- const OFBool useFoR = OFFalse);
+ const OFBool useFoR = OFFalse,
+ OFBool takeOverCharset = OFTrue);
/** Import common module attributes from DICOM file but only read Patient, Study,
* Series and/or Frame of Reference level portions. The current content
* @param useStudy If OFTrue, Study level information is imported
* @param useSeries If OFTrue, Series level information is imported
* @param useFoR If OFTrue, Frame of Reference information is imported
+ * @param takeOverCharset If OFTrue (default), Specific Character Set is
+ * taken over from imported dataset. If it's not
+ * present or empty (invalid), the attribute will
+ * not be present in this class either.
* @return EC_Normal if reading was successful (i.e.\ if any information could
* be read), otherwise an error is returned
*/
const OFBool usePatient,
const OFBool useStudy,
const OFBool useSeries,
- const OFBool useFoR = OFFalse);
+ const OFBool useFoR = OFFalse,
+ const OFBool takeOverCharset = OFTrue);
/** Write the attributes managed by this class to DICOM dataset.
/*
*
- * Copyright (C) 2015-2016, Open Connections GmbH
+ * Copyright (C) 2015-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
* Modules supported on top of DcmIODCommon: General Image Module and
* Image Pixel Module.
*/
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
template<typename T,typename... Types>
struct DcmIODImageHasType
: std::false_type {};
/** A good comment would be nice, but I have nothing in mind
*/
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
using IODImagePixelModuleType = IODImagePixelVariant<Types...>;
#else
typedef IODImagePixelVariant<OFVARIADIC_TEMPLATE_PARAMETER_PACK(T)> IODImagePixelModuleType;
private:
template<typename T>
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
typename std::enable_if<DcmIODImageHasType<T,Types...>::value,OFCondition>::type
#else
OFTypename OFenable_if
}
template<typename T>
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
typename std::enable_if<!DcmIODImageHasType<T,Types...>::value,OFCondition>::type
#else
OFTypename OFenable_if
}
template<typename T>
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
typename std::enable_if<DcmIODImageHasType<T,Types...>::value,OFCondition>::type
#else
OFTypename OFenable_if
}
template<typename T>
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
typename std::enable_if<!DcmIODImageHasType<T,Types...>::value,OFCondition>::type
#else
OFTypename OFenable_if
}
template<typename T>
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
typename std::enable_if<DcmIODImageHasType<T,Types...>::value,OFCondition>::type
#else
OFTypename OFenable_if
}
template<typename T>
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
typename std::enable_if<!DcmIODImageHasType<T,Types...>::value,OFCondition>::type
#else
OFTypename OFenable_if
* @param type Value type (valid value: "1", "1C", "2", something else)
* @param searchCond Optional flag indicating the status of a previous 'search' function call
* @param moduleName Optional module name to be printed (default: "IOD" if NULL)
+ * @param logLevel The log level to log errors to
* @return EC_Normal if element value is correct, error otherwise
*/
static OFCondition checkElementValue(const DcmElement *delem,
const OFString &vm,
const OFString &type,
const OFCondition &searchCond = EC_Normal,
- const char *moduleName = NULL);
+ const char *moduleName = NULL,
+ const dcmtk::log4cplus::LogLevel logLevel = dcmtk::log4cplus::WARN_LOG_LEVEL);
/** Check element value for correct value multiplicity and type.
* @param delem DICOM element to be checked
* @param type Value type (valid value: "1", "1C", "2", something else)
* @param searchCond Optional flag indicating the status of a previous 'search' function call
* @param moduleName Optional module name to be printed (default: "IOD" if NULL)
+ * @param logLevel The log level to log errors to
* @return EC_Normal if element value is correct, error otherwise
*/
static OFCondition checkElementValue(const DcmElement &delem,
const OFString &vm,
const OFString &type,
const OFCondition &searchCond = EC_Normal,
- const char *moduleName = NULL);
+ const char *moduleName = NULL,
+ const dcmtk::log4cplus::LogLevel logLevel = dcmtk::log4cplus::WARN_LOG_LEVEL);
/** Get string value from element
* @param delem DICOM element from which the string value should be retrieved
for (size_t count = 0; (count < vm) && result.good(); count ++)
{
Uint8 value;
- result = elem->getUint8(value, count);
+ result = elem->getUint8(value, OFstatic_cast(unsigned long, count));
if ( result.good() )
{
destination.push_back(value);
{
OFCondition result;
/* Check sequence, reports cardinality and type errors as warnings */
- checkSubSequence(result, source, seqKey, "1", type, module);
+ checkSubSequence(result, source, seqKey, "1", type, module, dcmtk::log4cplus::WARN_LOG_LEVEL);
/* Try to read sequence into internal data (ignore errors as much as possible) */
DcmItem* item = NULL;
* i.e.\ "1,1C,2,2C or 3".
* @param module Name of the module/macro this sequence is contained in. Used
* for error messages and can also be left empty.
- * @return EC_Normal if successful, an error code otherwise
*/
template <class Container>
static void writeSubSequence(OFCondition& result,
}
// Check result
- checkSubSequence(result, destination, seqKey, cardinality, type, module);
+ checkSubSequence(result, destination, seqKey, cardinality, type, module, dcmtk::log4cplus::ERROR_LOG_LEVEL);
// Clean up if we did not have success */
if (result.bad())
* @param rule Rule describing the requirements for this sequence. If NULL
* an error is returned (IOD_EC_NoSuchRule), but no error error is reported
* to the logger.
- * @return EC_Normal if successful, an error code otherwise
*/
template <class Container>
static void writeSubSequence(OFCondition& result,
* i.e.\ "1,1C,2,2C or 3".
* @param module Name of the module/macro this sequence is contained in.
* Used for error messages and can also be left empty.
- * @return EC_Normal if successful, an error code otherwise
*/
template <class Container>
static void writeSingleItem(OFCondition& result,
DCMIOD_TRACE("Skipping type 3 sequence " << seqKey << ": No data or incomplete data available");
}
/* Check outcome */
- checkSubSequence(result, destination, seqKey, "1", type, module);
+ checkSubSequence(result, destination, seqKey, "1", type, module, dcmtk::log4cplus::ERROR_LOG_LEVEL);
}
}
* @param destination The DICOM item that should hold the sequence
* (with a single item) in the end.
* @param rule The rule for writing the given sequence
- * @return EC_Normal if successful, an error code otherwise
*/
template <class Container>
static void writeSingleItem(OFCondition& result,
* i.e.\ "1,1C,2,2C or 3".
* @param module Name of the module/macro this sequence is contained in.
* Used for error messages and can also be left empty.
- * @return EC_Normal if successful, an error code otherwise
+ * @param logLevel The log level to write errors to
*/
static void checkSubSequence(OFCondition& result,
DcmItem& surroundingItem,
const DcmTagKey& seqKey,
const OFString& cardinality,
const OFString& type,
- const OFString& module);
+ const OFString& module,
+ const dcmtk::log4cplus::LogLevel logLevel);
/** Deletes all elements from given container and calls "delete" on each
* of them to clear memory.
* > Study Instance UID (UI, 1, 1)
* > Series and Instance Reference Macro
*
+ * Thus the Common Instance Reference Module lists references to other SOP
+ * instances and divides them between those instances that are in the same
+ * study, and those that are inside another study.
*/
class DCMTK_DCMIOD_EXPORT IODCommonInstanceReferenceModule : public IODModule
{
/** Add references
* @param references The references to be added
- * @param studyInstanceUID The Study Instance UID the references belong to
- * @param clearOldData Delete any old referneces if OFTrue, otherwise keep them
+ * @param studyInstanceUID The Study Instance UID of "this" object instance.
+ * It's used to decide whether the provided instances (with their
+ * own Study Instance UIDs) will go into the Referenced Series Sequence
+ * or into the Studies Containing Other Referenced Instances Sequence.
+ * If it is left empty, then the method tries to find "this" instances
+ * Study Instance UID in the internal item container which may be shared
+ * with other modules and thus may already provide the Study Instance
+ * UID (e.g. via General Study Module).
+ * @param clearOldData Delete any old references if OFTrue, otherwise keep them
* @result EC_Normal if successful, error otherwise
*/
virtual size_t addReferences(const IODReferences& references,
- const OFString& studyInstanceUID,
+ const OFString& studyInstanceUID = "",
const OFBool clearOldData = OFTrue);
/** Read data of this module from given source item
/*
*
- * Copyright (C) 2016, Open Connections GmbH
+ * Copyright (C) 2016-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
* The class Image Pixel Module, the Floating Point Image Pixel module
* and the Double Floating Point Image Pixel module
*/
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
template<typename... Types>
class IODImagePixelVariant
: public OFvariant<OFmonostate,Types...>
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmiod/modpatient.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmiod/iodcontentitemmacro.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/dcmiod/modbase.h ../include/dcmtk/dcmiod/iodmacro.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/cielabutil.h \
- ../include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
- ../include/dcmtk/dcmiod/iodutil.h \
+ ../include/dcmtk/dcmiod/modbase.h ../include/dcmtk/dcmiod/iodutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h
iodreferences.o: iodreferences.cc \
../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmiod/iodreferences.h \
../include/dcmtk/dcmiod/iodutil.h \
../../ofstd/include/dcmtk/ofstd/oftime.h \
../include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/cielabutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/cielabutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmiod/iodutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../ofstd/include/dcmtk/ofstd/oftime.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/cielabutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/cielabutil.h \
- ../include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
- ../include/dcmtk/dcmiod/iodutil.h \
+ ../include/dcmtk/dcmiod/modbase.h ../include/dcmtk/dcmiod/iodutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h
modbase.o: modbase.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmiod/cielabutil.h ../include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmiod/iodmacro.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmiod/cielabutil.h ../include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/ioddef.h \
../include/dcmtk/dcmiod/cielabutil.h ../include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
../../ofstd/include/dcmtk/ofstd/oftime.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
#define INCLUDE_CMATH // for pow() function
#include "dcmtk/ofstd/ofstdinc.h"
+// workaround for SunPro not defining these C functions in the global namespace
+#ifdef __sun
+using STD_NAMESPACE pow;
+#endif
+
// Initialize white points of D65 light point (CIELab standard white point)
const double IODCIELabUtil::D65_WHITEPOINT_X = 0.950456;
const double IODCIELabUtil::D65_WHITEPOINT_Y = 1.0;
/*
*
- * Copyright (C) 2015-2016, Open Connections GmbH
+ * Copyright (C) 2015-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
{
// Set initial values for a new SOP instance
ensureInstanceUIDs(OFFalse);
+ // push this first so Specific Character Set will be written in the beginning
+ m_Modules.push_back(&m_SOPCommon);
m_Modules.push_back(&m_Patient);
m_Modules.push_back(&m_PatientStudy);
m_Modules.push_back(&m_Study);
m_Modules.push_back(&m_Equipment);
m_Modules.push_back(&m_Series);
m_Modules.push_back(&m_FrameOfReference);
- m_Modules.push_back(&m_SOPCommon);
m_Modules.push_back(&m_CommonInstanceReferenceModule);
}
{
// Set initial values for a new SOP instance
ensureInstanceUIDs(OFFalse);
+ // push this first so Specific Character Set will be written in the beginning
+ m_Modules.push_back(&m_SOPCommon);
m_Modules.push_back(&m_Patient);
m_Modules.push_back(&m_PatientStudy);
m_Modules.push_back(&m_Study);
m_Modules.push_back(&m_Equipment);
m_Modules.push_back(&m_Series);
m_Modules.push_back(&m_FrameOfReference);
- m_Modules.push_back(&m_SOPCommon);
m_Modules.push_back(&m_CommonInstanceReferenceModule);
}
OFCondition DcmIODCommon::import(DcmItem& dataset,
- OFBool readPatient,
- OFBool readStudy,
- OFBool readSeries,
- OFBool readFoR)
+ const OFBool readPatient,
+ const OFBool readStudy,
+ const OFBool readFoR,
+ const OFBool readSeries,
+ const OFBool takeOverCharset)
{
if (readPatient)
{
m_FrameOfReference.read(dataset, OFFalse /* do not clear old data */);
}
+ // Take over character set from the dataset imported, if desired
+ if (takeOverCharset)
+ {
+ OFString charset;
+ dataset.findAndGetOFStringArray(DCM_SpecificCharacterSet, charset);
+ if (!charset.empty())
+ {
+ DCMIOD_DEBUG("Taking over Specific Character Set " << charset << " on import");
+ OFCondition result = m_SOPCommon.setSpecificCharacterSet(charset);
+ if (result.bad())
+ {
+ DCMIOD_ERROR("Could not set Specific Character Set " << charset << " on import: " << result.text());
+ }
+ }
+ else
+ {
+ DCMIOD_DEBUG("Taking over Default Specific Character Set (ASCII) on import");
+ m_SOPCommon.getData().findAndDeleteElement(DCM_SpecificCharacterSet);
+ }
+ }
+
return EC_Normal;
}
const OFBool usePatient,
const OFBool useStudy,
const OFBool useSeries,
- const OFBool useFoR)
+ const OFBool useFoR,
+ const OFBool takeOverCharset)
{
DCMIOD_WARN("This function is deprecated and will be removed in later versions of DCMTK, please use import()");
- return import(filename, usePatient, useStudy, useSeries, useFoR);
+ return import(filename, usePatient, useStudy, useSeries, useFoR, takeOverCharset);
}
const OFBool usePatient,
const OFBool useStudy,
const OFBool useSeries,
- const OFBool useFoR)
+ const OFBool useFoR,
+ const OFBool takeOverCharset)
{
DcmFileFormat dcmff;
OFCondition result = dcmff.loadFile(filename.c_str());
DcmDataset *dset = dcmff.getDataset();
if (dset != NULL)
{
- result = import(*dset, usePatient, useStudy, useSeries, useFoR);
+ result = import(*dset, usePatient, useStudy, useSeries, useFoR, takeOverCharset);
}
else
{
/*
*
- * Copyright (C) 2016, Open Connections GmbH
+ * Copyright (C) 2016-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
DcmElement* elem = NULL;
if (item->findAndGetElement(DCM_ReferencedFrameNumber, elem).good())
{
- Uint32 vm = elem->getVM();
- for (Uint32 f = 0; f < vm; f++)
+ unsigned long vm = elem->getVM();
+ for (unsigned long f = 0; f < vm; f++)
{
Sint32 val = 0;
if (elem->getSint32(val, f).good())
{
if (result.good())
{
- result = item.findOrCreateSequenceItem(DCM_ReferencedInstanceSequence, seqItem, numItem);
+ result = item.findOrCreateSequenceItem(DCM_ReferencedInstanceSequence, seqItem, OFstatic_cast(long, numItem));
numItem++;
}
if (result.good())
/* copy object from search stack */
result = delem.copyFrom(*stack.top());
/* we need a reference to the original element in order to determine the SpecificCharacterSet */
- checkElementValue(OFstatic_cast(DcmElement *, stack.top()), tagKey, vm, type, result, moduleName);
+ checkElementValue(OFstatic_cast(DcmElement *, stack.top()), tagKey, vm, type, result, moduleName, dcmtk::log4cplus::WARN_LOG_LEVEL);
}
/* the element could not be found in the dataset */
else
{
- checkElementValue(delem, vm, type, result, moduleName);
+ checkElementValue(delem, vm, type, result, moduleName, dcmtk::log4cplus::WARN_LOG_LEVEL);
}
return result;
}
/* copy object from search stack */
delem = OFstatic_cast ( DcmElement*, stack.top()->clone() );
/* we need a reference to the original element in order to determine the SpecificCharacterSet */
- checkElementValue(OFstatic_cast(DcmElement *, stack.top()), tagKey, vm, type, result, moduleName);
+ checkElementValue(OFstatic_cast(DcmElement *, stack.top()), tagKey, vm, type, result, moduleName, dcmtk::log4cplus::WARN_LOG_LEVEL);
}
/* the element could not be found in the dataset */
else
- checkElementValue(delem, tagKey, vm, type, result, moduleName);
+ checkElementValue(delem, tagKey, vm, type, result, moduleName, dcmtk::log4cplus::WARN_LOG_LEVEL);
return result;
}
// At this point, we certainly have an element. Check its value (empty ok for type 2)
if ((type == "2") || !delem->isEmpty())
{
- result = checkElementValue(*delem, rule->getVM(), type, result, rule->getModule().c_str());
- // Insert non-empty element or empty "type 2" element
+ // Insert non-empty element or empty "type 2" element. First, perform the insertion, and then
+ // check the value. This is (at least) required for checking the character set of string values which
+ // relies on the element context, i.e. the surrounding item or dataset.
+ result = dataset.insert(delem, OFTrue /*replaceOld*/);
if (result.good())
{
- result = dataset.insert(delem, OFTrue /*replaceOld*/);
- if (result.good()) insertionOK = OFTrue;
+ result = checkElementValue(*delem, rule->getVM(), type, result, rule->getModule().c_str(), dcmtk::log4cplus::ERROR_LOG_LEVEL);
+ }
+ if (result.good())
+ {
+ insertionOK = OFTrue;
+ }
+ // remove element if value is invalid
+ else
+ {
+ dataset.remove(delem);
}
}
else if (type == "1")
{
// Empty element value not allowed for "type 1"
result = EC_InvalidValue;
- checkElementValue(*delem, rule->getVM(), type, result, rule->getModule().c_str());
+ checkElementValue(*delem, rule->getVM(), type, result, rule->getModule().c_str(), dcmtk::log4cplus::ERROR_LOG_LEVEL);
}
}
else
const OFString &vm,
const OFString &type,
const OFCondition &searchCond,
- const char *moduleName)
+ const char *moduleName,
+ const dcmtk::log4cplus::LogLevel logLevel)
{
OFCondition result = EC_Normal;
const OFString tagName = DcmTag(tagKey).getTagName();
const OFString module = (moduleName == NULL) ? "IOD" : moduleName;
+ OFOStringStream error;
/* NB: type 1C and 2C cannot be checked, assuming to be optional */
if (((type == "1") || (type == "2")) && searchCond.bad())
{
- DCMIOD_WARN(tagName << " " << tagKey << " absent in " << module << " (type " << type << ")");
+ error << tagName << " " << tagKey << " absent in " << module << " (type " << type << ")";
result = IOD_EC_MissingAttribute;
}
else if ((delem == NULL) || OFconst_cast(DcmElement*, delem)->isEmpty(OFTrue /*normalize*/)) // cast away constness of delem; value modification can happen (eg. to remove padding)
/* however, type 1C should never be present with empty value */
if (((type == "1") || (type == "1C")) && searchCond.good())
{
- DCMIOD_WARN(tagName << " " << tagKey << " empty in " << module << " (type " << type << ")");
+ error << tagName << " " << tagKey << " empty in " << module << " (type " << type << ")";
result = EC_MissingValue;
}
} else {
result = OFconst_cast(DcmElement*, delem)->checkValue(vm, OFTrue /*oldFormat*/); // cast away constness of delem; value modification can happen (eg. to remove padding)
if (result == EC_InvalidCharacter)
{
- DCMIOD_WARN(tagName << " " << tagKey << " contains invalid character(s) in " << module);
+ error << tagName << " " << tagKey << " contains invalid character(s) in " << module;
}
else if (result == EC_ValueRepresentationViolated)
{
- DCMIOD_WARN(tagName << " " << tagKey << " violates VR definition in " << module);
+ error << tagName << " " << tagKey << " violates VR definition in " << module;
}
else if (result == EC_ValueMultiplicityViolated)
{
const OFString vmText = (delem->getVR() == EVR_SQ) ? " #items" : " VM";
- DCMIOD_WARN(tagName << " " << tagKey << vmText << " != " << vm << " in " << module);
+ error << tagName << " " << tagKey << vmText << " != " << vm << " in " << module;
}
else if (result == EC_MaximumLengthViolated)
{
- DCMIOD_WARN(tagName << " " << tagKey << " violates maximum VR length in " << module);
+ error << tagName << " " << tagKey << " violates maximum VR length in " << module;
}
else if (result.bad())
{
- DCMIOD_WARN("INTERNAL ERROR while checking value of " << tagName << " " << tagKey << " in " << module);
+ error << "INTERNAL ERROR while checking value of " << tagName << " " << tagKey << " in " << module;
result = EC_Normal;
}
}
+ OFSTRINGSTREAM_GETSTR(error, tmpString)
+ if (strlen(tmpString) > 0)
+ {
+ switch (logLevel)
+ {
+ case dcmtk::log4cplus::TRACE_LOG_LEVEL: DCMIOD_TRACE(tmpString); break;
+ case dcmtk::log4cplus::DEBUG_LOG_LEVEL: DCMIOD_DEBUG(tmpString); break;
+ case dcmtk::log4cplus::WARN_LOG_LEVEL : DCMIOD_WARN(tmpString); break;
+ case dcmtk::log4cplus::INFO_LOG_LEVEL : DCMIOD_INFO(tmpString); break;
+ case dcmtk::log4cplus::ERROR_LOG_LEVEL : DCMIOD_ERROR(tmpString); break;
+ case dcmtk::log4cplus::FATAL_LOG_LEVEL: DCMIOD_FATAL(tmpString); break;
+ default: DCMIOD_WARN(tmpString);;
+ }
+ }
+ OFSTRINGSTREAM_FREESTR(tmpString)
return result;
}
const OFString &vm,
const OFString &type,
const OFCondition &searchCond,
- const char *moduleName)
+ const char *moduleName,
+ const dcmtk::log4cplus::LogLevel logLevel)
{
/* call the real function */
- return checkElementValue(&delem, delem.getTag(), vm, type, searchCond, moduleName);
+ return checkElementValue(&delem, delem.getTag(), vm, type, searchCond, moduleName, logLevel);
}
}
else if (check)
{
- result = DcmElement::checkVM(values.size(), vm);
+ result = DcmElement::checkVM(OFstatic_cast(unsigned long, values.size()), vm);
}
it++;
}
for (size_t i = 0; i < count; i++)
{
Uint16 val;
- result = delem.getUint16(val, i);
+ result = delem.getUint16(val, OFstatic_cast(unsigned long, i));
if (result.bad())
{
DCMIOD_WARN(delem.getTag().getXTag() << ": Getting value " << " #" << i << " not possible");
const DcmTagKey& seqKey,
const OFString& cardinality,
const OFString& type,
- const OFString& module)
+ const OFString& module,
+ const dcmtk::log4cplus::LogLevel logLevel)
{
OFCondition exists = EC_Normal;
/* check result */
{
DcmSequenceOfItems *seq = NULL;
exists = surroundingItem.findAndGetSequence(seqKey, seq);
- result = DcmIODUtil::checkElementValue(seq, seqKey, cardinality, type, exists, module.c_str());
+ result = DcmIODUtil::checkElementValue(seq, seqKey, cardinality, type, exists, module.c_str(), logLevel);
}
}
}
// get actual tag name and cardinality
- const Uint32 card = seq.card();
+ const unsigned long card = seq.card();
if (card != 1)
{
if (card > 1)
OFCondition IODComponent::read(DcmItem& source,
- OFBool clearOldData)
+ const OFBool clearOldData)
{
// Debug
DCMIOD_DEBUG("Reading component: " << getName());
{
DcmElement *elem = NULL;
OFCondition cond = source.findAndGetElement( (*rule)->getTagKey(), elem);
- DcmIODUtil::checkElementValue(elem, (*rule)->getTagKey(), (*rule)->getVM(), (*rule)->getType(), cond, (*rule)->getModule().c_str());
+ DcmIODUtil::checkElementValue(elem, (*rule)->getTagKey(), (*rule)->getVM(), (*rule)->getType(), cond, (*rule)->getModule().c_str(), dcmtk::log4cplus::WARN_LOG_LEVEL);
}
else // Normal attributes are checked and copied over into this IOD component
{
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2015-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
DCM_QualityControlSubject,
DCM_ReferencedPatientSequence,
DCM_PatientBirthTime,
- DCM_OtherPatientIDs,
+ DCM_RETIRED_OtherPatientIDs,
DCM_OtherPatientIDsSequence,
DCM_OtherPatientNames,
DCM_EthnicGroup,
/*
*
- * Copyright (C) 2016, Open Connections GmbH
+ * Copyright (C) 2016-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
OFCondition IODImagePixelModule<T>::setICCProfile(const Uint8* values,
const size_t length)
{
- return m_Item->putAndInsertUint8Array(DCM_ICCProfile, values, length);
+ return m_Item->putAndInsertUint8Array(DCM_ICCProfile, values, OFstatic_cast(unsigned long, length));
}
template class IODImagePixelModule<Uint8>;
DcmElement *returnValue = NULL;
for (size_t count = 0; count < numFrames; count++)
{
- DcmItem* item = perFrameFG->getItem(count);
+ DcmItem* item = perFrameFG->getItem(OFstatic_cast(unsigned long, count));
if (item != NULL)
{
// Check for the functional group mentioned in dimension
{
for (size_t n = 0; result.good() && n < vm; n++)
{
- result = elem->putFloat64(value[n], n);
+ result = elem->putFloat64(value[n], OFstatic_cast(unsigned long, n));
}
}
if (result.good())
{
for (size_t n = 0; result.good() && (n < vm); n++)
{
- result = elem->putFloat64(value[n], n);
+ result = elem->putFloat64(value[n], OFstatic_cast(unsigned long, n));
}
}
if (result.good())
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
../../oflog/include/dcmtk/oflog/tracelog.h \
../include/dcmtk/dcmiod/iodimage.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/ofvriant.h \
../../ofstd/include/dcmtk/ofstd/variadic/variant.h \
../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \
../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/ioddef.h \
../include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmiod/modpatient.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
dcmdatadir = $(top_srcdir)/../dcmdata
dcmioddir = $(top_srcdir)/../dcmiod
-LOCALINCLUDES = -I$(dcmioddir)/include -I$(dcmdatadir)/include -I$(oflogdir)/include -I$(ofstddir)/include
+LOCALINCLUDES = -I$(dcmioddir)/include -I$(dcmdatadir)/include -I$(oflogdir)/include \
+ -I$(ofstddir)/include
LIBDIRS = -L$(top_srcdir)/libsrc -L$(dcmioddir)/libsrc -L$(dcmdatadir)/libsrc \
-L$(oflogdir)/libsrc -L$(ofstddir)/libsrc
LOCALLIBS = -ldcmiod -ldcmdata -loflog -lofstd \
- $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(CHARCONVLIBS)
+ $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS)
test_objs = tests.o tcielabutil.o timagepixel.o
objs = tests.o $(test_objs)
all: $(progs)
-tclabutil: tclabutil.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
-
tests: $(test_objs)
$(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(test_objs) $(LOCALLIBS) $(LIBS)
# declare additional include directories
-INCLUDE_DIRECTORIES(${dcmjpeg_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${ZLIB_INCDIR} ${LIBTIFF_INCDIR} ${LIBPNG_INCDIR})
+INCLUDE_DIRECTORIES("${dcmjpeg_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${dcmimgle_SOURCE_DIR}/include" "${dcmimage_SOURCE_DIR}/include" ${ZLIB_INCDIR} ${LIBTIFF_INCDIR} ${LIBPNG_INCDIR})
# declare executables
FOREACH(PROGRAM dcmcjpeg dcmdjpeg dcmj2pnm dcmmkdir)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
LIBDIRS = -L$(top_srcdir)/libsrc $(dcmjpeglibdir) $(dcmimagelibdir) $(dcmimglelibdir) \
$(dcmdatalibdir) $(ofloglibdir) $(ofstdlibdir)
LOCALLIBS = $(dcmjpeglib) $(dcmimagelib) $(dcmimglelib) $(dcmdatalib) $(ofloglib) \
- $(ofstdlib) $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(CHARCONVLIBS)
+ $(ofstdlib) $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS)
objs = dcmdjpeg.o dcmcjpeg.o dcmj2pnm.o dcmmkdir.o
progs = dcmdjpeg dcmcjpeg dcmj2pnm dcmmkdir
all: $(progs)
dcmdjpeg: dcmdjpeg.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmcjpeg: dcmcjpeg.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmj2pnm: dcmj2pnm.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmmkdir: dcmmkdir.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
install: all
/*
*
- * Copyright (C) 2001-2014, OFFIS e.V.
+ * Copyright (C) 2001-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
#include "dcmtk/ofstd/ofconapp.h"
int main(int argc, char *argv[])
{
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
const char *opt_ifname = NULL;
const char *opt_ofname = NULL;
/*
*
- * Copyright (C) 2001-2016, OFFIS e.V.
+ * Copyright (C) 2001-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
#include "dcmtk/ofstd/ofconapp.h"
int main(int argc, char *argv[])
{
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
const char *opt_ifname = NULL;
const char *opt_ofname = NULL;
\page dcmcjpeg dcmcjpeg: Encode DICOM file to JPEG transfer syntax
\endif
-\section synopsis SYNOPSIS
+\section dcmcjpeg_synopsis SYNOPSIS
\verbatim
dcmcjpeg [options] dcmfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section dcmcjpeg_description DESCRIPTION
The \b dcmcjpeg utility reads an uncompressed DICOM image (\e dcmfile-in),
performs a JPEG compression (i. e. conversion to an encapsulated DICOM transfer
syntax) and writes the converted image to an output file (\e dcmfile-out).
-\section parameters PARAMETERS
+\section dcmcjpeg_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
dcmfile-out DICOM output filename
\endverbatim
-\section options OPTIONS
+\section dcmcjpeg_options OPTIONS
-\subsection general_options general options
+\subsection dcmcjpeg_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmcjpeg_input_options input options
\verbatim
input file format:
# (only pseudo lossless encoder)
\endverbatim
-\subsection JPEG_encoding_options JPEG encoding options
+\subsection dcmcjpeg_JPEG_encoding_options JPEG encoding options
\verbatim
JPEG process:
# interpretation is encoded as YBR_FULL_422 which violates DICOM rules.
\endverbatim
-\subsection enc_pix_data_encoding_opt encapsulated pixel data encoding options:
+\subsection dcmcjpeg_enc_pix_data_encoding_opt encapsulated pixel data encoding options:
\verbatim
encapsulated pixel data fragmentation:
# Never assigns a new SOP instance UID.
\endverbatim
-\subsection output_options output options
+\subsection dcmcjpeg_output_options output options
\verbatim
post-1993 value representations:
and items on multiple of i bytes
\endverbatim
-\section notes NOTES
+\section dcmcjpeg_notes NOTES
The \b dcmcjpeg utility compresses DICOM images of all SOP classes. Special
handling has been implemented for CT images (where the modality transformation
image, which contains the term "Lossless JPEG compression" for the new and
"Pseudo-Lossless JPEG compression" for the old encoder.
-\section transfer_syntaxes TRANSFER SYNTAXES
+\section dcmcjpeg_transfer_syntaxes TRANSFER SYNTAXES
\b dcmcjpeg supports the following transfer syntaxes for input
(\e dcmfile-in):
JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70
\endverbatim
-\section logging LOGGING
+\section dcmcjpeg_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmcjpeg_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmcjpeg_environment ENVIRONMENT
The \b dcmcjpeg utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dcmcjpeg_see_also SEE ALSO
<b>dcmdjpeg</b>(1)
-\section copyright COPYRIGHT
+\section dcmcjpeg_copyright COPYRIGHT
Copyright (C) 2001-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmdjpeg dcmdjpeg: Decode JPEG-compressed DICOM file
\endif
-\section synopsis SYNOPSIS
+\section dcmdjpeg_synopsis SYNOPSIS
\verbatim
dcmdjpeg [options] dcmfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section dcmdjpeg_description DESCRIPTION
The \b dcmdjpeg utility reads a JPEG-compressed DICOM image (\e dcmfile-in),
decompresses the JPEG data (i. e. conversion to a native DICOM transfer syntax)
and writes the converted image to an output file (\e dcmfile-out).
-\section parameters PARAMETERS
+\section dcmdjpeg_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
dcmfile-out DICOM output filename
\endverbatim
-\section options OPTIONS
+\section dcmdjpeg_options OPTIONS
-\subsection general_options general options
+\subsection dcmdjpeg_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmdjpeg_input_options input options
\verbatim
input file format:
# without meta-header but unfortunately it does.
\endverbatim
-\subsection processing_options processing options
+\subsection dcmdjpeg_processing_options processing options
\verbatim
color space conversion:
\endverbatim
-\subsection output_options output options
+\subsection dcmdjpeg_output_options output options
\verbatim
output file format:
and items on multiple of i bytes
\endverbatim
-\section transfer_syntaxes TRANSFER SYNTAXES
+\section dcmdjpeg_transfer_syntaxes TRANSFER SYNTAXES
\b dcmdjpeg supports the following transfer syntaxes for input
(\e dcmfile-in):
BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
\endverbatim
-\section logging LOGGING
+\section dcmdjpeg_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmdjpeg_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmdjpeg_environment ENVIRONMENT
The \b dcmdjpeg utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dcmdjpeg_see_also SEE ALSO
<b>dcmcjpeg</b>(1)
-\section copyright COPYRIGHT
+\section dcmdjpeg_copyright COPYRIGHT
Copyright (C) 2001-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmj2pnm dcmj2pnm: Convert DICOM images to PGM/PPM, PNG, TIFF, JPEG or BMP
\endif
-\section synopsis SYNOPSIS
+\section dcmj2pnm_synopsis SYNOPSIS
\verbatim
dcmj2pnm [options] dcmfile-in [bitmap-out]
\endverbatim
-\section description DESCRIPTION
+\section dcmj2pnm_description DESCRIPTION
The \b dcmj2pnm utility reads a DICOM image, converts the pixel data according
to the selected image processing options and writes back an image in the
(Joint Photographic Experts Group) or Windows BMP format. This utility
supports uncompressed as well as JPEG and RLE compressed DICOM images.
-\section parameters PARAMETERS
+\section dcmj2pnm_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
bitmap-out output filename to be written (default: stdout)
\endverbatim
-\section options OPTIONS
+\section dcmj2pnm_options OPTIONS
-\subsection general_options general options
+\subsection dcmj2pnm_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmj2pnm_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection image_processing_options image processing options
+\subsection dcmj2pnm_image_processing_options image processing options
\verbatim
frame selection:
clip image region (l, t, w, h)
\endverbatim
-\subsection output_options output options
+\subsection dcmj2pnm_output_options output options
\verbatim
general:
write 8-bit lossy JPEG (baseline)
\endverbatim
-\section notes NOTES
+\section dcmj2pnm_notes NOTES
The following preferred interpolation algorithms can be selected using the
\e --interpolate option:
\e --interlace enables progressive image view while loading the PNG file.
Only a few applications take care of the meta info (TEXT) in a PNG file.
-\section transfer_syntaxes TRANSFER SYNTAXES
+\section dcmj2pnm_transfer_syntaxes TRANSFER SYNTAXES
\b dcmj2pnm supports the following transfer syntaxes for input (\e dcmfile-in):
(*) if compiled with zlib support enabled
-\section logging LOGGING
+\section dcmj2pnm_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmj2pnm_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmj2pnm_environment ENVIRONMENT
The \b dcmj2pnm utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcmj2pnm_files FILES
<em>\<datadir\>/camera.lut</em> - sample characteristics file of a camera
\n<em>\<datadir\>/monitor.lut</em> - sample characteristics file of a monitor
\n<em>\<datadir\>/printer.lut</em> - sample characteristics file of a printer
\n<em>\<datadir\>/scanner.lut</em> - sample characteristics file of a scanner
-\section see_also SEE ALSO
+\section dcmj2pnm_see_also SEE ALSO
<b>dcm2pnm</b>(1), <b>img2dcm</b>(1)
-\section copyright COPYRIGHT
+\section dcmj2pnm_copyright COPYRIGHT
Copyright (C) 2001-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmmkdir dcmmkdir: Create a DICOMDIR file
\endif
-\section synopsis SYNOPSIS
+\section dcmmkdir_synopsis SYNOPSIS
\verbatim
dcmmkdir [options] [dcmfile-in...]
\endverbatim
-\section description DESCRIPTION
+\section dcmmkdir_description DESCRIPTION
The \b dcmmkdir utility creates a \e DICOMDIR file from the specified
referenced DICOM files according to the DICOM Part 11 Media Storage Application
files. The default behavior of \b dcmmkdir (with \e --general-purpose) is
equivalent to that of \b dcmgpdir.
-\section parameters PARAMETERS
+\section dcmmkdir_parameters PARAMETERS
\verbatim
dcmfile-in referenced DICOM file (or directory to be scanned)
\endverbatim
-\section options OPTIONS
-\subsection general_options general options
+\section dcmmkdir_options OPTIONS
+\subsection dcmmkdir_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmmkdir_input_options input options
\verbatim
DICOMDIR identifiers:
# possibly not available on all systems
\endverbatim
-\subsection processing_options processing options
+\subsection dcmmkdir_processing_options processing options
\verbatim
consistency check:
created automatically (default: black image)
\endverbatim
-\subsection output_options output options
+\subsection dcmmkdir_output_options output options
\verbatim
DICOMDIR file:
write with undefined lengths
\endverbatim
-\section notes NOTES
+\section dcmmkdir_notes NOTES
All files specified on the command line (or discovered by recursively examining
the contents of directories with the \e +r option) are first evaluated for
converted to grayscale mode. The icon size is 128*128 pixels for the cardiac
profiles (as required by the DICOM standard) and 64*64 for all others.
-\subsection scanning_directories Scanning Directories
+\subsection dcmmkdir_scanning_directories Scanning Directories
Adding files from directories is possible by using option \e --recurse. If no
further command line parameters are given, the directory specified by option
\e --input-directory option (e.g. in order to select further files), these do
not apply to the specified directories.
-\section logging LOGGING
+\section dcmmkdir_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmmkdir_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmmkdir_environment ENVIRONMENT
The \b dcmmkdir utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dcmmkdir_see_also SEE ALSO
<b>dcmgpdir</b>(1)
-\section copyright COPYRIGHT
+\section dcmmkdir_copyright COPYRIGHT
Copyright (C) 2001-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmjpeg DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmjpeg DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
/*
*
- * Copyright (C) 2001-2011, OFFIS e.V.
+ * Copyright (C) 2001-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual E_TransferSyntax supportedTransferSyntax() const = 0;
+ /** returns true if the transfer syntax supported by this
+ * codec is lossless.
+ * @return lossless flag
+ */
+ virtual OFBool isLosslessProcess() const = 0;
+
private:
/** creates an instance of the compression library to be used for decoding.
/*
*
- * Copyright (C) 1997-2011, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual E_TransferSyntax supportedTransferSyntax() const;
+ /** returns true if the transfer syntax supported by this
+ * codec is lossless.
+ * @return lossless flag
+ */
+ virtual OFBool isLosslessProcess() const;
+
private:
/** creates an instance of the compression library to be used for decoding.
/*
*
- * Copyright (C) 1997-2011, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual E_TransferSyntax supportedTransferSyntax() const;
+ /** returns true if the transfer syntax supported by this
+ * codec is lossless.
+ * @return lossless flag
+ */
+ virtual OFBool isLosslessProcess() const;
+
private:
/** creates an instance of the compression library to be used for decoding.
/*
*
- * Copyright (C) 1997-2011, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual E_TransferSyntax supportedTransferSyntax() const;
+ /** returns true if the transfer syntax supported by this
+ * codec is lossless.
+ * @return lossless flag
+ */
+ virtual OFBool isLosslessProcess() const;
+
private:
/** creates an instance of the compression library to be used for decoding.
/*
*
- * Copyright (C) 1997-2011, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual E_TransferSyntax supportedTransferSyntax() const;
+ /** returns true if the transfer syntax supported by this
+ * codec is lossless.
+ * @return lossless flag
+ */
+ virtual OFBool isLosslessProcess() const;
+
private:
/** creates an instance of the compression library to be used for decoding.
/*
*
- * Copyright (C) 1997-2011, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual E_TransferSyntax supportedTransferSyntax() const;
+ /** returns true if the transfer syntax supported by this
+ * codec is lossless.
+ * @return lossless flag
+ */
+ virtual OFBool isLosslessProcess() const;
+
private:
/** creates an instance of the compression library to be used for decoding.
/*
*
- * Copyright (C) 1997-2011, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual E_TransferSyntax supportedTransferSyntax() const;
+ /** returns true if the transfer syntax supported by this
+ * codec is lossless.
+ * @return lossless flag
+ */
+ virtual OFBool isLosslessProcess() const;
+
private:
/** creates an instance of the compression library to be used for decoding.
/*
*
- * Copyright (C) 1997-2014, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* @return photometric interpretation enum, EPI_Unknown if unknown string or attribute missing
*/
static EP_Interpretation getPhotometricInterpretation(DcmItem *item);
+
+ /** adjusts the padding of a JPEG bitstream in the buffer that has odd length,
+ * such that the End of Image (EOI) marker ends on an even byte boundary.
+ * @param buffer pointer to buffer containing compressed JPEG bitstream
+ * @param bufSize number of bytes used for the JPEG bitstream (including pad byte)
+ */
+ static void fixPadding(
+ Uint8 *buffer,
+ Uint32 bufSize);
+
};
#endif
#include "jerror12.h"
#ifdef USE_WINDOWS_MESSAGEBOX
+#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
#include "jerror16.h"
#ifdef USE_WINDOWS_MESSAGEBOX
+#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
#include "jerror8.h"
#ifdef USE_WINDOWS_MESSAGEBOX
+#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
# declare additional include directories
-INCLUDE_DIRECTORIES(${dcmjpeg_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${dcmjpeg_SOURCE_DIR}/libijg8 ${dcmjpeg_SOURCE_DIR}/libijg12 ${dcmjpeg_SOURCE_DIR}/libijg16 ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmjpeg_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${dcmimgle_SOURCE_DIR}/include" "${dcmimage_SOURCE_DIR}/include" "${dcmjpeg_SOURCE_DIR}/libijg8" "${dcmjpeg_SOURCE_DIR}/libijg12" "${dcmjpeg_SOURCE_DIR}/libijg16" ${ZLIB_INCDIR})
# create library from source files
DCMTK_ADD_LIBRARY(dcmjpeg ddpiimpl dipijpeg djcodecd djcodece djcparam djdecbas djdecext djdeclol djdecode djdecpro djdecsps djdecsv1 djdijg12 djdijg8 djdijg16 djeijg12 djeijg8 djeijg16 djencbas djencext djenclol djencode djencpro djencsps djencsv1 djrplol djrploss djutils)
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmjpeg/djdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dccodec.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmjpeg/djutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmjpeg/djutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmjpeg/djutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmjpeg/djdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmjpeg/djdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
// which should always identify itself as dataset, not as item.
if (dataset->ident() == EVR_dataset)
{
+ DcmItem *ditem = OFreinterpret_cast(DcmItem*, dataset);
+
// create new SOP instance UID if codec parameters require so
if (result.good() && (djcp->getUIDCreation() == EUC_always))
- result = DcmCodec::newInstance(OFreinterpret_cast(DcmItem*, dataset), NULL, NULL, NULL);
+ result = DcmCodec::newInstance(ditem, NULL, NULL, NULL);
+
+ // set Lossy Image Compression to "01" (see DICOM part 3, C.7.6.1.1.5)
+ if (result.good() && (! isLosslessProcess())) result = ditem->putAndInsertString(DCM_LossyImageCompression, "01");
}
}
/*
*
- * Copyright (C) 2001-2016, OFFIS e.V.
+ * Copyright (C) 2001-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
// initialize settings with defaults for RGB mode
OFBool monochromeMode = OFFalse;
- size_t flags = 0; // flags for initialization of DicomImage
+ unsigned long flags = 0; // flags for initialization of DicomImage
EP_Interpretation interpr = EPI_RGB;
Uint16 samplesPerPixel = 3;
const char *photometricInterpretation = "RGB";
// compute original image size in bytes, ignoring any padding bits.
uncompressedSize = OFstatic_cast(double, columns * rows * dimage->getDepth() * frameCount * samplesPerPixel) / 8.0;
- for (size_t i=0; (i<frameCount) && (result.good()); i++)
+ for (unsigned long i=0; (i<frameCount) && (result.good()); i++)
{
frame = dimage->getOutputData(bitsPerSample, i, 0);
if (frame == NULL) result = EC_MemoryExhausted;
compressionRatio = 0.0; // initialize if something goes wrong
size_t compressedSize = 0;
double uncompressedSize = 0.0;
- size_t flags = 0; // flags for initialization of DicomImage
+ unsigned long flags = 0; // flags for initialization of DicomImage
// variables needed if VOI mode is 0
double minRange = 0.0;
{
size_t windowParameter = cp->getWindowParameter();
if ((windowParameter < 1) || (windowParameter > dimage.getWindowCount())) result = EC_IllegalCall;
- if (!dimage.setWindow(windowParameter - 1)) result = EC_IllegalCall;
+ if (!dimage.setWindow(OFstatic_cast(unsigned long, windowParameter - 1))) result = EC_IllegalCall;
}
break;
case 2: // use the n-th VOI look up table from the image file
{
size_t windowParameter = cp->getWindowParameter();
if ((windowParameter < 1) || (windowParameter > dimage.getVoiLutCount())) result = EC_IllegalCall;
- if (!dimage.setVoiLut(windowParameter - 1)) result = EC_IllegalCall;
+ if (!dimage.setVoiLut(OFstatic_cast(unsigned long, windowParameter - 1))) result = EC_IllegalCall;
}
break;
case 3: // Compute VOI window using min-max algorithm
{
size_t left_pos=0, top_pos=0, width=0, height=0;
cp->getROI(left_pos, top_pos, width, height);
- if (!dimage.setRoiWindow(left_pos, top_pos, width, height)) result = EC_IllegalCall;
+ if (!dimage.setRoiWindow(OFstatic_cast(unsigned long, left_pos), OFstatic_cast(unsigned long, top_pos),
+ OFstatic_cast(unsigned long, width), OFstatic_cast(unsigned long, height))) result = EC_IllegalCall;
}
break;
default: // includes case 0, which must not occur here
uncompressedSize = OFstatic_cast(double, columns * rows * pixelDepth * frameCount * samplesPerPixel) / 8.0;
for (size_t i=0; (i<frameCount) && (result.good()); i++)
{
- frame = dimage.getOutputData(bitsPerSample, i, 0);
+ frame = dimage.getOutputData(bitsPerSample, OFstatic_cast(unsigned long, i), 0);
if (frame == NULL) result = EC_MemoryExhausted;
else
{
/*
*
- * Copyright (C) 2001-2011, OFFIS e.V.
+ * Copyright (C) 2001-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
return EXS_JPEGProcess1;
}
+OFBool DJDecoderBaseline::isLosslessProcess() const
+{
+ return OFFalse;
+}
DJDecoder *DJDecoderBaseline::createDecoderInstance(
const DcmRepresentationParameter * /* toRepParam */,
/*
*
- * Copyright (C) 2001-2010, OFFIS e.V.
+ * Copyright (C) 2001-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
return EXS_JPEGProcess2_4;
}
+OFBool DJDecoderExtended::isLosslessProcess() const
+{
+ return OFFalse;
+}
DJDecoder *DJDecoderExtended::createDecoderInstance(
const DcmRepresentationParameter * /* toRepParam */,
/*
*
- * Copyright (C) 2001-2011, OFFIS e.V.
+ * Copyright (C) 2001-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
return EXS_JPEGProcess14;
}
+OFBool DJDecoderLossless::isLosslessProcess() const
+{
+ return OFTrue;
+}
DJDecoder *DJDecoderLossless::createDecoderInstance(
const DcmRepresentationParameter * /* toRepParam */,
/*
*
- * Copyright (C) 2001-2010, OFFIS e.V.
+ * Copyright (C) 2001-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
return EXS_JPEGProcess10_12;
}
+OFBool DJDecoderProgressive::isLosslessProcess() const
+{
+ return OFFalse;
+}
DJDecoder *DJDecoderProgressive::createDecoderInstance(
const DcmRepresentationParameter * /* toRepParam */,
/*
*
- * Copyright (C) 2001-2010, OFFIS e.V.
+ * Copyright (C) 2001-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
+OFBool DJDecoderSpectralSelection::isLosslessProcess() const
+{
+ return OFFalse;
+}
+
+
DJDecoder *DJDecoderSpectralSelection::createDecoderInstance(
const DcmRepresentationParameter * /* toRepParam */,
const DJCodecParameter *cp,
/*
*
- * Copyright (C) 2001-2010, OFFIS e.V.
+ * Copyright (C) 2001-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
return EXS_JPEGProcess14SV1;
}
+OFBool DJDecoderP14SV1::isLosslessProcess() const
+{
+ return OFTrue;
+}
DJDecoder *DJDecoderP14SV1::createDecoderInstance(
const DcmRepresentationParameter * /* toRepParam */,
/*
*
- * Copyright (C) 1997-2014, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*
* Author: Marco Eichelberg, Norbert Olges
*
- * Purpose: compression routines of the IJG JPEG library configured for 12 bits/sample.
+ * Purpose: compression routines of the IJG JPEG library configured for 12 bits/sample.
*
*/
scanptr[0].Se = 0;
scanptr[0].Ah = 0;
scanptr[0].Al = 0;
-
+
// AC scans
// First two Y AC coefficients
scanptr[1].component_index[0] = 0;
scanptr[1].Se = 2;
scanptr[1].Ah = 0;
scanptr[1].Al = 0;
-
+
// Three more
scanptr[2].component_index[0] = 0;
scanptr[2].comps_in_scan = 1;
scanptr[2].Se = 5;
scanptr[2].Ah = 0;
scanptr[2].Al = 0;
-
+
// All AC coefficients for Cb
scanptr[3].component_index[0] = 1;
scanptr[3].comps_in_scan = 1;
scanptr[3].Se = 63;
scanptr[3].Ah = 0;
scanptr[3].Al = 0;
-
+
// All AC coefficients for Cr
scanptr[4].component_index[0] = 2;
scanptr[4].comps_in_scan = 1;
scanptr[4].Se = 63;
scanptr[4].Ah = 0;
scanptr[4].Al = 0;
-
+
// More Y coefficients
scanptr[5].component_index[0] = 0;
scanptr[5].comps_in_scan = 1;
scanptr[5].Se = 9;
scanptr[5].Ah = 0;
scanptr[5].Al = 0;
-
+
// Remaining Y coefficients
scanptr[6].component_index[0] = 0;
scanptr[6].comps_in_scan = 1;
{
/* All-purpose script for other color spaces. */
int j=0;
-
+
// Interleaved DC scan for all components
for (j=0; j<ncomps; j++) scanptr[0].component_index[j] = j;
scanptr[0].comps_in_scan = ncomps;
scanptr[0].Al = 0;
// first AC scan for each component
- for (j=0; j<ncomps; j++)
+ for (j=0; j<ncomps; j++)
{
scanptr[j+1].component_index[0] = j;
scanptr[j+1].comps_in_scan = 1;
}
// second AC scan for each component
- for (j=0; j<ncomps; j++)
+ for (j=0; j<ncomps; j++)
{
scanptr[j+ncomps+1].component_index[0] = j;
scanptr[j+ncomps+1].comps_in_scan = 1;
return EC_IllegalCall;
}
-OFCondition DJCompressIJG12Bit::encode(
+OFCondition DJCompressIJG12Bit::encode(
Uint16 columns,
Uint16 rows,
EP_Interpretation colorSpace,
if (setjmp(jerr.setjmp_buffer))
{
// the IJG error handler will cause the following code to be executed
- char buffer[JMSG_LENGTH_MAX];
+ char buffer[JMSG_LENGTH_MAX];
(*cinfo.err->format_message)(OFreinterpret_cast(jpeg_common_struct*, &cinfo), buffer); /* Create the message */
jpeg_destroy_compress(&cinfo);
return makeOFCondition(OFM_dcmjpeg, EJCode_IJG12_Compression, OF_error, buffer);
jpeg_simple_lossless(&cinfo,psv,pt);
break;
}
-
+
cinfo.smoothing_factor = cparam->getSmoothingFactor();
// initialize sampling factors
JSAMPROW row_pointer[1];
jpeg_start_compress(&cinfo,TRUE);
int row_stride = columns * samplesPerPixel;
- while (cinfo.next_scanline < cinfo.image_height)
+ while (cinfo.next_scanline < cinfo.image_height)
{
// JSAMPLE is signed, typecast to avoid a warning
row_pointer[0] = OFreinterpret_cast(JSAMPLE*, image_buffer + (cinfo.next_scanline * row_stride));
length = OFstatic_cast(Uint32, bytesInLastBlock);
if (pixelDataList.size() > 1) length += OFstatic_cast(Uint32, (pixelDataList.size() - 1)*IJGE12_BLOCKSIZE);
- if (length % 2) length++; // ensure even length
+ OFBool length_is_odd = (length % 2) > 0;
+ if (length_is_odd) length++; // ensure even length
to = new Uint8[length];
if (to == NULL) return EC_MemoryExhausted;
- if (length > 0) to[length-1] = 0;
size_t offset=0;
OFListIterator(unsigned char *) first = pixelDataList.begin();
}
++first;
}
+ if (length_is_odd) DcmJpegHelper::fixPadding(to, length);
cleanup();
return EC_Normal;
{
pixelDataList.push_back(newBlock);
cinfo->dest->next_output_byte = newBlock;
- cinfo->dest->free_in_buffer = IJGE12_BLOCKSIZE;
+ cinfo->dest->free_in_buffer = IJGE12_BLOCKSIZE;
}
else
{
cinfo->dest->next_output_byte = NULL;
- cinfo->dest->free_in_buffer = 0;
+ cinfo->dest->free_in_buffer = 0;
}
}
{
pixelDataList.push_back(newBlock);
cinfo->dest->next_output_byte = newBlock;
- cinfo->dest->free_in_buffer = IJGE12_BLOCKSIZE;
+ cinfo->dest->free_in_buffer = IJGE12_BLOCKSIZE;
}
else
{
/*
*
- * Copyright (C) 1997-2014, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*
* Author: Marco Eichelberg, Norbert Olges
*
- * Purpose: compression routines of the IJG JPEG library configured for 16 bits/sample.
+ * Purpose: compression routines of the IJG JPEG library configured for 16 bits/sample.
*
*/
return EC_IllegalCall;
}
-OFCondition DJCompressIJG16Bit::encode(
+OFCondition DJCompressIJG16Bit::encode(
Uint16 columns,
Uint16 rows,
EP_Interpretation colorSpace,
if (setjmp(jerr.setjmp_buffer))
{
// the IJG error handler will cause the following code to be executed
- char buffer[JMSG_LENGTH_MAX];
+ char buffer[JMSG_LENGTH_MAX];
(*cinfo.err->format_message)(OFreinterpret_cast(jpeg_common_struct*, &cinfo), buffer); /* Create the message */
jpeg_destroy_compress(&cinfo);
return makeOFCondition(OFM_dcmjpeg, EJCode_IJG16_Compression, OF_error, buffer);
return makeOFCondition(OFM_dcmjpeg, EJCode_IJG16_Compression, OF_error, "JPEG with 16 bits/sample only allowed with lossless compression");
/* break; */
}
-
+
cinfo.smoothing_factor = cparam->getSmoothingFactor();
// initialize sampling factors
JSAMPROW row_pointer[1];
jpeg_start_compress(&cinfo,TRUE);
int row_stride = columns * samplesPerPixel;
- while (cinfo.next_scanline < cinfo.image_height)
+ while (cinfo.next_scanline < cinfo.image_height)
{
// JSAMPLE might be signed, typecast to avoid a warning
row_pointer[0] = OFreinterpret_cast(JSAMPLE*, image_buffer + (cinfo.next_scanline * row_stride));
length = OFstatic_cast(Uint32, bytesInLastBlock);
if (pixelDataList.size() > 1) length += OFstatic_cast(Uint32, (pixelDataList.size() - 1)*IJGE16_BLOCKSIZE);
- if (length % 2) length++; // ensure even length
+ OFBool length_is_odd = (length % 2) > 0;
+ if (length_is_odd) length++; // ensure even length
to = new Uint8[length];
if (to == NULL) return EC_MemoryExhausted;
- if (length > 0) to[length-1] = 0;
size_t offset=0;
OFListIterator(unsigned char *) first = pixelDataList.begin();
}
++first;
}
+ if (length_is_odd) DcmJpegHelper::fixPadding(to, length);
cleanup();
return EC_Normal;
{
pixelDataList.push_back(newBlock);
cinfo->dest->next_output_byte = newBlock;
- cinfo->dest->free_in_buffer = IJGE16_BLOCKSIZE;
+ cinfo->dest->free_in_buffer = IJGE16_BLOCKSIZE;
}
else
{
cinfo->dest->next_output_byte = NULL;
- cinfo->dest->free_in_buffer = 0;
+ cinfo->dest->free_in_buffer = 0;
}
}
{
pixelDataList.push_back(newBlock);
cinfo->dest->next_output_byte = newBlock;
- cinfo->dest->free_in_buffer = IJGE16_BLOCKSIZE;
+ cinfo->dest->free_in_buffer = IJGE16_BLOCKSIZE;
}
else
{
cinfo->dest->next_output_byte = NULL;
- cinfo->dest->free_in_buffer = 0;
+ cinfo->dest->free_in_buffer = 0;
OF_ERREXIT1(cinfo, JERR_OUT_OF_MEMORY, 0xFF);
}
return TRUE;
/*
*
- * Copyright (C) 1997-2014, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*
* Author: Marco Eichelberg, Norbert Olges
*
- * Purpose: compression routines of the IJG JPEG library configured for 8 bits/sample.
+ * Purpose: compression routines of the IJG JPEG library configured for 8 bits/sample.
*
*/
scanptr[0].Se = 0;
scanptr[0].Ah = 0;
scanptr[0].Al = 0;
-
+
// AC scans
// First two Y AC coefficients
scanptr[1].component_index[0] = 0;
scanptr[1].Se = 2;
scanptr[1].Ah = 0;
scanptr[1].Al = 0;
-
+
// Three more
scanptr[2].component_index[0] = 0;
scanptr[2].comps_in_scan = 1;
scanptr[2].Se = 5;
scanptr[2].Ah = 0;
scanptr[2].Al = 0;
-
+
// All AC coefficients for Cb
scanptr[3].component_index[0] = 1;
scanptr[3].comps_in_scan = 1;
scanptr[3].Se = 63;
scanptr[3].Ah = 0;
scanptr[3].Al = 0;
-
+
// All AC coefficients for Cr
scanptr[4].component_index[0] = 2;
scanptr[4].comps_in_scan = 1;
scanptr[4].Se = 63;
scanptr[4].Ah = 0;
scanptr[4].Al = 0;
-
+
// More Y coefficients
scanptr[5].component_index[0] = 0;
scanptr[5].comps_in_scan = 1;
scanptr[5].Se = 9;
scanptr[5].Ah = 0;
scanptr[5].Al = 0;
-
+
// Remaining Y coefficients
scanptr[6].component_index[0] = 0;
scanptr[6].comps_in_scan = 1;
{
/* All-purpose script for other color spaces. */
int j=0;
-
+
// Interleaved DC scan for all components
for (j=0; j<ncomps; j++) scanptr[0].component_index[j] = j;
scanptr[0].comps_in_scan = ncomps;
scanptr[0].Al = 0;
// first AC scan for each component
- for (j=0; j<ncomps; j++)
+ for (j=0; j<ncomps; j++)
{
scanptr[j+1].component_index[0] = j;
scanptr[j+1].comps_in_scan = 1;
}
// second AC scan for each component
- for (j=0; j<ncomps; j++)
+ for (j=0; j<ncomps; j++)
{
scanptr[j+ncomps+1].component_index[0] = j;
scanptr[j+ncomps+1].comps_in_scan = 1;
return EC_IllegalCall;
}
-OFCondition DJCompressIJG8Bit::encode(
+OFCondition DJCompressIJG8Bit::encode(
Uint16 columns,
Uint16 rows,
EP_Interpretation colorSpace,
if (setjmp(jerr.setjmp_buffer))
{
// the IJG error handler will cause the following code to be executed
- char buffer[JMSG_LENGTH_MAX];
+ char buffer[JMSG_LENGTH_MAX];
(*cinfo.err->format_message)(OFreinterpret_cast(jpeg_common_struct*, &cinfo), buffer); /* Create the message */
jpeg_destroy_compress(&cinfo);
return makeOFCondition(OFM_dcmjpeg, EJCode_IJG8_Compression, OF_error, buffer);
jpeg_simple_lossless(&cinfo,psv,pt);
break;
}
-
+
cinfo.smoothing_factor = cparam->getSmoothingFactor();
// initialize sampling factors
JSAMPROW row_pointer[1];
jpeg_start_compress(&cinfo,TRUE);
int row_stride = columns * samplesPerPixel;
- while (cinfo.next_scanline < cinfo.image_height)
+ while (cinfo.next_scanline < cinfo.image_height)
{
row_pointer[0] = & image_buffer[cinfo.next_scanline * row_stride];
jpeg_write_scanlines(&cinfo, row_pointer, 1);
length = OFstatic_cast(Uint32, bytesInLastBlock);
if (pixelDataList.size() > 1) length += OFstatic_cast(Uint32, (pixelDataList.size() - 1)*IJGE8_BLOCKSIZE);
- if (length % 2) length++; // ensure even length
+ OFBool length_is_odd = (length % 2) > 0;
+ if (length_is_odd) length++; // ensure even length
to = new Uint8[length];
if (to == NULL) return EC_MemoryExhausted;
- if (length > 0) to[length-1] = 0;
size_t offset=0;
OFListIterator(unsigned char *) first = pixelDataList.begin();
}
++first;
}
+ if (length_is_odd) DcmJpegHelper::fixPadding(to, length);
cleanup();
return EC_Normal;
}
{
pixelDataList.push_back(newBlock);
cinfo->dest->next_output_byte = newBlock;
- cinfo->dest->free_in_buffer = IJGE8_BLOCKSIZE;
+ cinfo->dest->free_in_buffer = IJGE8_BLOCKSIZE;
}
else
{
cinfo->dest->next_output_byte = NULL;
- cinfo->dest->free_in_buffer = 0;
+ cinfo->dest->free_in_buffer = 0;
}
}
{
pixelDataList.push_back(newBlock);
cinfo->dest->next_output_byte = newBlock;
- cinfo->dest->free_in_buffer = IJGE8_BLOCKSIZE;
+ cinfo->dest->free_in_buffer = IJGE8_BLOCKSIZE;
}
else
{
/*
*
- * Copyright (C) 1997-2014, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
return EPI_Unknown;
}
+
+void DcmJpegHelper::fixPadding(
+ Uint8 *buffer,
+ Uint32 bufSize)
+{
+ if (buffer && (bufSize > 0))
+ {
+ // first write a zero pad byte after the end of the JPEG bitstream
+ buffer[bufSize - 1] = 0;
+
+#ifndef DISABLE_FF_JPEG_BITSTREAM_PADDING
+ // look for the EOI marker
+ if ((bufSize > 2) && (buffer[bufSize-3] == 0xFF) && (buffer[bufSize-2] == 0xD9))
+ {
+ // we now have ff/d9/00 at the end of the JPEG bitstream,
+ // i.e. an end of image (EOI) marker followed by a pad byte.
+ // Replace this with ff/ff/d9, which is an "extended" EOI marker
+ // ending on an even byte boundary.
+ buffer[bufSize-2] = 0xFF;
+ buffer[bufSize-1] = 0xD9;
+ }
+ }
+#endif
+
+ return;
+}
# declare additional include directories
-INCLUDE_DIRECTORIES(${dcmjpls_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${ZLIB_INCDIR} ${LIBTIFF_INCDIR} ${LIBPNG_INCDIR})
+INCLUDE_DIRECTORIES("${dcmjpls_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${dcmimgle_SOURCE_DIR}/include" "${dcmimage_SOURCE_DIR}/include" ${ZLIB_INCDIR} ${LIBTIFF_INCDIR} ${LIBPNG_INCDIR})
# declare executables
FOREACH(PROGRAM dcmcjpls dcmdjpls dcml2pnm)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
LIBDIRS = -L$(top_srcdir)/libsrc $(dcmjplslibdir) $(libcharlslibdir) $(dcmimagelibdir) \
$(dcmimglelibdir) $(dcmdatalibdir) $(ofloglibdir) $(ofstdlibdir)
LOCALLIBS = $(dcmjplslib) $(dcmimagelib) $(dcmimglelib) $(dcmdatalib) $(ofloglib) $(ofstdlib) \
- $(libcharlslib) $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(CHARCONVLIBS)
+ $(libcharlslib) $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS)
objs = dcmdjpls.o dcmcjpls.o dcml2pnm.o
progs = dcmdjpls dcmcjpls dcml2pnm
+
all: $(progs)
dcmdjpls: dcmdjpls.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmcjpls: dcmcjpls.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcml2pnm: dcml2pnm.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
install: all
/*
*
- * Copyright (C) 2007-2014, OFFIS e.V.
+ * Copyright (C) 2007-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
#include "dcmtk/ofstd/ofconapp.h"
int main(int argc, char *argv[])
{
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
const char *opt_ifname = NULL;
const char *opt_ofname = NULL;
/*
*
- * Copyright (C) 2007-2014, OFFIS e.V.
+ * Copyright (C) 2007-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
#include "dcmtk/ofstd/ofconapp.h"
int main(int argc, char *argv[])
{
-
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
const char *opt_ifname = NULL;
const char *opt_ofname = NULL;
\page dcmcjpls dcmcjpls: Encode DICOM file to JPEG-LS transfer syntax
\endif
-\section synopsis SYNOPSIS
+\section dcmcjpls_synopsis SYNOPSIS
\verbatim
dcmcjpls [options] dcmfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section dcmcjpls_description DESCRIPTION
The \b dcmcjpls utility reads an uncompressed DICOM image (\e dcmfile-in),
performs a JPEG-LS compression (i. e. conversion to an encapsulated DICOM
transfer syntax) and writes the converted image to an output file
(\e dcmfile-out).
-\section parameters PARAMETERS
+\section dcmcjpls_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
dcmfile-out DICOM output filename
\endverbatim
-\section options OPTIONS
+\section dcmcjpls_options OPTIONS
-\subsection general_options general options
+\subsection dcmcjpls_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmcjpls_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection JPEG_LS_encoding_options JPEG-LS encoding options
+\subsection dcmcjpls_JPEG_LS_encoding_options JPEG-LS encoding options
\verbatim
JPEG-LS process:
# If possible, the image is not converted to a different interleave mode.
\endverbatim
-\subsection enc_pix_data_encoding_opt encapsulated pixel data encoding options
+\subsection dcmcjpls_enc_pix_data_encoding_opt encapsulated pixel data encoding options
\verbatim
encapsulated pixel data fragmentation:
# Never assigns a new SOP instance UID.
\endverbatim
-\subsection output_options output options
+\subsection dcmcjpls_output_options output options
\verbatim
post-1993 value representations:
and items on multiple of i bytes
\endverbatim
-\section notes NOTES
+\section dcmcjpls_notes NOTES
The \b dcmcjpls utility compresses DICOM images of all SOP classes. However,
\b dcmcjpls does not attempt to ensure that the compressed image still
allows one to convert an image to secondary capture - this SOP class does not
pose restrictions as the ones mentioned above.
-\section transfer_syntaxes TRANSFER SYNTAXES
+\section dcmcjpls_transfer_syntaxes TRANSFER SYNTAXES
\b dcmcjpls supports the following transfer syntaxes for input
(\e dcmfile-in):
JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81
\endverbatim
-\section logging LOGGING
+\section dcmcjpls_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmcjpls_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmcjpls_environment ENVIRONMENT
The \b dcmcjpls utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dcmcjpls_see_also SEE ALSO
<b>dcmdjpls</b>(1)
-\section copyright COPYRIGHT
+\section dcmcjpls_copyright COPYRIGHT
Copyright (C) 2009-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmdjpls dcmdjpls: Decode JPEG-LS compressed DICOM file
\endif
-\section synopsis SYNOPSIS
+\section dcmdjpls_synopsis SYNOPSIS
\verbatim
dcmdjpls [options] dcmfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section dcmdjpls_description DESCRIPTION
The \b dcmdjpls utility reads a JPEG-ls compressed DICOM image (\e dcmfile-in),
decompresses the JPEG-LS data (i. e. conversion to a native DICOM transfer
syntax) and writes the converted image to an output file (\e dcmfile-out).
-\section parameters PARAMETERS
+\section dcmdjpls_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
dcmfile-out DICOM output filename
\endverbatim
-\section options OPTIONS
+\section dcmdjpls_options OPTIONS
-\subsection general_options general options
+\subsection dcmdjpls_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmdjpls_input_options input options
\verbatim
input file format:
# but unfortunately it does.
\endverbatim
-\subsection processing_options processing options
+\subsection dcmdjpls_processing_options processing options
\verbatim
planar configuration:
ignore offset table when decompressing
\endverbatim
-\subsection output_options output options
+\subsection dcmdjpls_output_options output options
\verbatim
output file format:
and items on multiple of i bytes
\endverbatim
-\section transfer_syntaxes TRANSFER SYNTAXES
+\section dcmdjpls_transfer_syntaxes TRANSFER SYNTAXES
\b dcmdjpls supports the following transfer syntaxes for input
(\e dcmfile-in):
BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
\endverbatim
-\section logging LOGGING
+\section dcmdjpls_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmdjpls_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmdjpls_environment ENVIRONMENT
The \b dcmdjpls utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dcmdjpls_see_also SEE ALSO
<b>dcmcjpls</b>(1)
-\section copyright COPYRIGHT
+\section dcmdjpls_copyright COPYRIGHT
Copyright (C) 2009-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcml2pnm dcml2pnm: Convert DICOM images to PGM/PPM, PNG, TIFF or BMP
\endif
-\section synopsis SYNOPSIS
+\section dcml2pnm_synopsis SYNOPSIS
\verbatim
dcml2pnm [options] dcmfile-in [bitmap-out]
\endverbatim
-\section description DESCRIPTION
+\section dcml2pnm_description DESCRIPTION
The \b dcml2pnm utility reads a DICOM image, converts the pixel data according
to the selected image processing options and writes back an image in the
Windows BMP format. This utility supports uncompressed as well as JPEG-LS
and RLE compressed DICOM images.
-\section parameters PARAMETERS
+\section dcml2pnm_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be converted
bitmap-out output filename to be written (default: stdout)
\endverbatim
-\section options OPTIONS
+\section dcml2pnm_options OPTIONS
-\subsection general_options general options
+\subsection dcml2pnm_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcml2pnm_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection image_processing_options image processing options
+\subsection dcml2pnm_image_processing_options image processing options
\verbatim
frame selection:
clip image region (l, t, w, h)
\endverbatim
-\subsection output_options output options
+\subsection dcml2pnm_output_options output options
\verbatim
general:
write 16-bit (monochrome) or 48-bit (color) PNG
\endverbatim
-\section notes NOTES
+\section dcml2pnm_notes NOTES
The following preferred interpolation algorithms can be selected using the
\e --interpolate option:
\e --interlace enables progressive image view while loading the PNG file.
Only a few applications take care of the meta info (TEXT) in a PNG file.
-\section transfer_syntaxes TRANSFER SYNTAXES
+\section dcml2pnm_transfer_syntaxes TRANSFER SYNTAXES
\b dcml2pnm supports the following transfer syntaxes for input (\e dcmfile-in):
(*) if compiled with zlib support enabled
-\section logging LOGGING
+\section dcml2pnm_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcml2pnm_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcml2pnm_environment ENVIRONMENT
The \b dcml2pnm utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcml2pnm_files FILES
<em>\<datadir\>/camera.lut</em> - sample characteristics file of a camera
\n<em>\<datadir\>/monitor.lut</em> - sample characteristics file of a monitor
\n<em>\<datadir\>/printer.lut</em> - sample characteristics file of a printer
\n<em>\<datadir\>/scanner.lut</em> - sample characteristics file of a scanner
-\section see_also SEE ALSO
+\section dcml2pnm_see_also SEE ALSO
<b>dcm2pnm</b>(1), <b>img2dcm</b>(1)
-\section copyright COPYRIGHT
+\section dcml2pnm_copyright COPYRIGHT
Copyright (C) 2001-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmjpls DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmjpls DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
/*
*
- * Copyright (C) 2007-2011, OFFIS e.V.
+ * Copyright (C) 2007-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
private:
+ /** returns the transfer syntax that this particular codec
+ * is able to Decode
+ * @return supported transfer syntax
+ */
+ virtual E_TransferSyntax supportedTransferSyntax() const = 0;
+
// static private helper methods
/** decompresses a single frame from the given pixel sequence and
/*
*
- * Copyright (C) 2007-2011, OFFIS e.V.
+ * Copyright (C) 2007-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
Uint32 width,
Uint32 height,
Uint16 bitsAllocated) const;
+
+ /** Adjust the padding of the JPEG-LS bitstream in the buffer if it has odd length,
+ * such that the End of Image (EOI) marker ends on an even byte boundary.
+ * @param buffer pointer to buffer containing compressed JPEG-LS bitstream
+ * @param bufSize size of the buffer in bytes
+ * @param bytesWritten number of bytes written to buffer; value is increased
+ * if this method adds a pad byte.
+ */
+ static void fixPaddingIfNecessary(
+ Uint8 *buffer,
+ size_t bufSize,
+ unsigned long &bytesWritten);
};
# declare additional include directories
-INCLUDE_DIRECTORIES(${dcmjpls_SOURCE_DIR}/libcharls ${ofstd_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES("${dcmjpls_SOURCE_DIR}/libcharls" "${ofstd_SOURCE_DIR}/include")
# create library from source files
DCMTK_ADD_LIBRARY(charls header intrface jpegls)
+
+DCMTK_TARGET_LINK_MODULES(charls ofstd oflog)
header.o: header.cc config.h util.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../config/include/dcmtk/config/osconfig.h pubtypes.h header.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h streams.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/ofcast.h \
../../ofstd/include/dcmtk/ofstd/ofexport.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h streams.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h decodstr.h procline.h \
clrtrans.h encodstr.h
intrface.o: intrface.cc config.h util.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h header.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h streams.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h header.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h streams.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h
jpegls.o: jpegls.cc config.h util.h \
../../ofstd/include/dcmtk/ofstd/ofexport.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h header.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h decodstr.h procline.h \
- clrtrans.h encodstr.h context.h ctxtrmod.h lokuptbl.h lltraits.h \
- deftrait.h scan.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../ofstd/include/dcmtk/ofstd/ofutil.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h decodstr.h \
+ procline.h clrtrans.h encodstr.h context.h ctxtrmod.h lokuptbl.h \
+ lltraits.h deftrait.h scan.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
../../ofstd/include/dcmtk/ofstd/oflist.h
public:
DecoderStrategy(const JlsParameters& info) :
_info(info),
- _processLine(0),
+ _processLine(OFnullptr),
_readCache(0),
_validBits(0),
_position(0),
protected:
JlsParameters _info;
- OFauto_ptr<ProcessLine> _processLine;
+ OFunique_ptr<ProcessLine> _processLine;
private:
BYTE current_value() const
#define INCLUDE_NEW
#include "dcmtk/ofstd/ofstdinc.h"
-#include "dcmtk/ofstd/ofaptr.h"
+#include "dcmtk/ofstd/ofmem.h"
#include "dcmtk/ofstd/ofbmanip.h"
#include "procline.h"
#include "decodstr.h"
public:
explicit EncoderStrategy(const JlsParameters& info) :
- _qdecoder(0),
+ _qdecoder(OFnullptr),
_info(info),
- _processLine(0),
+ _processLine(OFnullptr),
valcurrent(0),
bitpos(0),
_isFFWritten(false),
}
- OFauto_ptr<DecoderStrategy> _qdecoder;
+ OFunique_ptr<DecoderStrategy> _qdecoder;
protected:
JlsParameters _info;
- OFauto_ptr<ProcessLine> _processLine;
+ OFunique_ptr<ProcessLine> _processLine;
private:
static BYTE *re_alloc(BYTE *old_ptr, size_t *old_size)
{
void JLSInputStream::ReadScan(void* pvout)
{
- OFauto_ptr<DecoderStrategy> qcodec = JlsCodecFactory<DecoderStrategy>().GetCodec(_info, _info.custom);
+ OFunique_ptr<DecoderStrategy> qcodec = JlsCodecFactory<DecoderStrategy>().GetCodec(_info, _info.custom);
BYTE **ptr = (BYTE **)&_pdata;
size_t *size = &_cbyteLength;
{
JlsParameters info = _info;
info.components = _ccompScan;
- OFauto_ptr<EncoderStrategy> qcodec =JlsCodecFactory<EncoderStrategy>().GetCodec(info, _info.custom);
+ OFunique_ptr<EncoderStrategy> qcodec =JlsCodecFactory<EncoderStrategy>().GetCodec(info, _info.custom);
size_t cbyteWritten = qcodec->EncodeScan((BYTE*)_pvoidRaw, pstream->get_pos(), pstream->get_size(), pstream->get_offset(), pstream->_bCompare);
pstream->seek(cbyteWritten);
}
#ifndef CHARLS_HEADER
#define CHARLS_HEADER
-#include "dcmtk/ofstd/ofaptr.h"
+#include "dcmtk/ofstd/ofmem.h"
+#undef NEAR
#include "streams.h"
#define JPEG_SOI 0xD8
class JlsCodecFactory
{
public:
- OFauto_ptr<STRATEGY> GetCodec(const JlsParameters& info, const JlsCustomParameters&);
+ OFrvalue<OFunique_ptr<STRATEGY> > GetCodec(const JlsParameters& info, const JlsCustomParameters&);
private:
STRATEGY* GetCodecImpl(const JlsParameters& info);
};
template<class STRATEGY>
-OFauto_ptr<STRATEGY> JlsCodecFactory<STRATEGY>::GetCodec(const JlsParameters& info, const JlsCustomParameters& presets)
+OFrvalue<OFunique_ptr<STRATEGY> > JlsCodecFactory<STRATEGY>::GetCodec(const JlsParameters& info, const JlsCustomParameters& presets)
{
STRATEGY* pstrategy = NULL;
if (presets.RESET != 0 && presets.RESET != BASIC_RESET)
{
pstrategy->SetPresets(presets);
}
- return OFauto_ptr<STRATEGY>(pstrategy);
+ return OFrvalue<OFunique_ptr<STRATEGY> >(pstrategy);
}
template<class TRAITS, class STRATEGY>
size_t JlsCodec<TRAITS,STRATEGY>::EncodeScan(const void* rawData, BYTE **ptr, size_t *size, size_t offset, bool compare)
{
- STRATEGY::_processLine = OFauto_ptr<ProcessLine>(CreateProcess(const_cast<void*>(rawData)));
+ STRATEGY::_processLine.reset(CreateProcess(const_cast<void*>(rawData)));
if (compare)
{
- STRATEGY::_qdecoder = OFauto_ptr<DecoderStrategy>(new JlsCodec<TRAITS,DecoderStrategy>(traits, Info()));
+ STRATEGY::_qdecoder.reset(new JlsCodec<TRAITS,DecoderStrategy>(traits, Info()));
STRATEGY::_qdecoder->Init(ptr, size, offset);
}
template<class TRAITS, class STRATEGY>
size_t JlsCodec<TRAITS,STRATEGY>::DecodeScan(void* rawData, const JlsRect& rect, BYTE **ptr, size_t *size, size_t offset, bool bCompare)
{
- STRATEGY::_processLine = OFauto_ptr<ProcessLine>(CreateProcess(rawData));
+ STRATEGY::_processLine.reset(CreateProcess(rawData));
_bCompare = bCompare;
# declare additional include directories
-INCLUDE_DIRECTORIES(${dcmjpls_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${dcmjpls_SOURCE_DIR}/libcharls ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmjpls_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${dcmimgle_SOURCE_DIR}/include" "${dcmimage_SOURCE_DIR}/include" "${dcmjpls_SOURCE_DIR}/libcharls" ${ZLIB_INCDIR})
# create library from source files
DCMTK_ADD_LIBRARY(dcmjpls djcparam djdecode djencode djrparam djcodecd djutils djcodece)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmjpls/dldefine.h \
../../dcmdata/include/dcmtk/dcmdata/dccodec.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmjpls/dldefine.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmjpls/dldefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h
/*
*
- * Copyright (C) 2007-2016, OFFIS e.V.
+ * Copyright (C) 2007-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
// this codec only handles conversion from JPEG-LS to uncompressed.
DcmXfer newRep(newRepType);
- if (newRep.isNotEncapsulated() &&
- ((oldRepType == EXS_JPEGLSLossless)||(oldRepType == EXS_JPEGLSLossy)))
+ if (newRep.isNotEncapsulated() && (oldRepType == supportedTransferSyntax()))
return OFTrue;
return OFFalse;
result = ((DcmItem *)dataset)->putAndInsertString(DCM_NumberOfFrames, numBuf);
}
- if (result.good())
+ if (result.good() && (dataset->ident() == EVR_dataset))
{
+ DcmItem *ditem = OFreinterpret_cast(DcmItem*, dataset);
+
// the following operations do not affect the Image Pixel Module
// but other modules such as SOP Common. We only perform these
// changes if we're on the main level of the dataset,
// which should always identify itself as dataset, not as item.
- if ((dataset->ident() == EVR_dataset) && (djcp->getUIDCreation() == EJLSUC_always))
+ if (djcp->getUIDCreation() == EJLSUC_always)
{
// create new SOP instance UID
- result = DcmCodec::newInstance((DcmItem *)dataset, NULL, NULL, NULL);
+ result = DcmCodec::newInstance(ditem, NULL, NULL, NULL);
}
+
+ // set Lossy Image Compression to "01" (see DICOM part 3, C.7.6.1.1.5)
+ if (result.good() && (supportedTransferSyntax() == EXS_JPEGLSLossy)) result = ditem->putAndInsertString(DCM_LossyImageCompression, "01");
+
}
return result;
/*
*
- * Copyright (C) 2007-2015, OFFIS e.V.
+ * Copyright (C) 2007-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
if (result.good())
{
- compressedSize = bytesWritten;
+ compressedSize = OFstatic_cast(unsigned long, bytesWritten);
+ fixPaddingIfNecessary(OFstatic_cast(Uint8 *, buffer), size, compressedSize);
result = pixelSequence->storeCompressedFrame(offsetList, buffer, compressedSize, fragmentSize);
}
if (result.good())
{
// 'compressed_buffer_size' now contains the size of the compressed data in buffer
- compressedSize = bytesWritten;
+ compressedSize = OFstatic_cast(unsigned long, bytesWritten);
+ fixPaddingIfNecessary(OFstatic_cast(Uint8 *, buffer), compressed_buffer_size, compressedSize);
result = pixelSequence->storeCompressedFrame(offsetList, compressed_buffer, compressedSize, fragmentSize);
}
}
return EC_Normal;
}
+
+void DJLSEncoderBase::fixPaddingIfNecessary(
+ Uint8 *buffer,
+ size_t bufSize,
+ unsigned long &bytesWritten)
+{
+ // check if an odd number of bytes was written and the buffer
+ // has space for the needed pad byte (which should in practice
+ // always be the case because the buffer always has even length).
+ if (buffer && ((bytesWritten % 2 )> 0) && (bufSize > bytesWritten))
+ {
+ // first write a zero pad byte after the end of the JPEG-LS bitstream
+ buffer[bytesWritten++] = 0;
+
+#ifndef DISABLE_FF_JPEG_BITSTREAM_PADDING
+ // look for the EOI marker
+ if ((bytesWritten > 2) && (buffer[bytesWritten-3] == 0xFF) && (buffer[bytesWritten-2] == 0xD9))
+ {
+ // we now have ff/d9/00 at the end of the JPEG bitstream,
+ // i.e. an end of image (EOI) marker followed by a pad byte.
+ // Replace this with ff/ff/d9, which is an "extended" EOI marker
+ // ending on an even byte boundary.
+ buffer[bytesWritten-2] = 0xFF;
+ buffer[bytesWritten-1] = 0xD9;
+ }
+ }
+#endif
+ return;
+}
PROJECT(dcmnet)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmnet_SOURCE_DIR}/include ${dcmtls_SOURCE_DIR}/include ${OPENSSL_INCDIR} ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmnet_SOURCE_DIR}/include" "${dcmtls_SOURCE_DIR}/include" ${OPENSSL_INCDIR} "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" ${ZLIB_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc apps include docs etc tests)
# declare additional include directories needed for compression support
-INCLUDE_DIRECTORIES(${dcmjpls_SOURCE_DIR}/include ${dcmjpeg_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES("${dcmjpls_SOURCE_DIR}/include" "${dcmjpeg_SOURCE_DIR}/include" "${dcmimage_SOURCE_DIR}/include" "${dcmimgle_SOURCE_DIR}/include")
# declare executables
FOREACH(PROGRAM dcmrecv dcmsend echoscu findscu getscu movescu storescp storescu termscu)
# declare installation files
IF(WITH_OPENSSL)
IF(WIN32)
- INSTALL(FILES ${OPENSSL_BINDIR}/dcmtkeay.dll ${OPENSSL_BINDIR}/dcmtkssl.dll DESTINATION ${DCMTK_INSTALL_BINDIR} COMPONENT bin)
+ INSTALL(FILES "${OPENSSL_BINDIR}/dcmtkeay.dll" "${OPENSSL_BINDIR}/dcmtkssl.dll" DESTINATION "${DCMTK_INSTALL_BINDIR}" COMPONENT bin)
ENDIF(WIN32)
ENDIF(WITH_OPENSSL)
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dimse.h \
- ../include/dcmtk/dcmnet/scpcfg.h ../include/dcmtk/dcmnet/dcasccff.h \
- ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \
- ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
- ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
- ../include/dcmtk/dcmnet/dccfprmp.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/diutil.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/scpcfg.h \
+ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \
+ ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \
+ ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \
+ ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \
+ ../include/dcmtk/dcmnet/diutil.h
dcmsend.o: dcmsend.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dcasccff.h \
- ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \
- ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
- ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
- ../include/dcmtk/dcmnet/dccfprmp.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \
+ ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \
+ ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \
+ ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \
../../dcmjpeg/include/dcmtk/dcmjpeg/djdecode.h \
../../dcmjpeg/include/dcmtk/dcmjpeg/djutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h ../include/dcmtk/dcmnet/scu.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h ../include/dcmtk/dcmnet/scu.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dcasccff.h \
- ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \
- ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
- ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
- ../include/dcmtk/dcmnet/dccfprmp.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \
+ ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \
+ ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \
+ ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \
../../dcmdata/include/dcmtk/dcmdata/dcostrmz.h \
../../dcmdata/include/dcmtk/dcmdata/dcpath.h
movescu.o: movescu.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../include/dcmtk/dcmnet/dcmlayer.h ../include/dcmtk/dcmnet/dcasccfg.h \
../include/dcmtk/dcmnet/dccftsmp.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
../include/dcmtk/dcmnet/dccfprmp.h ../include/dcmtk/dcmnet/dcasccff.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../include/dcmtk/dcmnet/dcmlayer.h ../include/dcmtk/dcmnet/dcasccfg.h \
../include/dcmtk/dcmnet/dccftsmp.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
../include/dcmtk/dcmnet/dccfprmp.h ../include/dcmtk/dcmnet/dcasccff.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/dimse.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/dimse.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
LIBDIRS = -L$(top_srcdir)/libsrc -L$(ofstddir)/libsrc -L$(oflogdir)/libsrc \
-L$(dcmdatadir)/libsrc -L$(dcmtlsdir)/libsrc $(compr_libdirs)
LOCALLIBS = -ldcmnet -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(TCPWRAPPERLIBS) \
- $(CHARCONVLIBS)
+ $(CHARCONVLIBS) $(MATHLIBS)
DCMTLSLIBS = -ldcmtls
COMPR_LIBS = -ldcmjpls -lcharls -ldcmjpeg -lijg8 -lijg12 -lijg16 -ldcmimage -ldcmimgle
all: $(progs)
echoscu: echoscu.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(DCMTLSLIBS) $(OPENSSLLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(DCMTLSLIBS) $(OPENSSLLIBS) $(LIBS)
# add $(COMPR_LIBS) to the linking instructions if "storescu" is compiled
# with ON_THE_FLY_COMPRESSION defined (see "config/docs/macros.txt")
storescu: storescu.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(DCMTLSLIBS) $(OPENSSLLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(DCMTLSLIBS) $(OPENSSLLIBS) $(LIBS)
storescp: storescp.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(DCMTLSLIBS) $(OPENSSLLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(DCMTLSLIBS) $(OPENSSLLIBS) $(LIBS)
findscu: findscu.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(DCMTLSLIBS) $(OPENSSLLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(DCMTLSLIBS) $(OPENSSLLIBS) $(LIBS)
movescu: movescu.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
termscu: termscu.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
getscu: getscu.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dcmsend: dcmsend.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(COMPR_LIBS) $(LOCALLIBS) $(TIFFLIBS) $(PNGLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(COMPR_LIBS) $(LOCALLIBS) $(TIFFLIBS) $(PNGLIBS) $(LIBS)
dcmrecv: dcmrecv.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
install: all
$(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
T_ASC_Network *net;
T_ASC_Parameters *params;
- DIC_NODENAME localHost;
DIC_NODENAME peerHost;
T_ASC_Association *assoc;
OFString temp_str;
-#ifdef HAVE_GUSI_H
- /* needed for Macintosh */
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
char tempstr[20];
OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION , "DICOM verification (C-ECHO) SCU", rcsid);
/* Figure out the presentation addresses and copy the */
/* corresponding values into the association parameters.*/
- gethostname(localHost, sizeof(localHost) - 1);
sprintf(peerHost, "%s:%d", opt_peer, OFstatic_cast(int, opt_port));
- ASC_setPresentationAddresses(params, localHost, peerHost);
+ ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost);
/* Set the presentation contexts which will be negotiated */
/* when the network connection will be established */
exit(1);
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
#ifdef WITH_OPENSSL
if (tLayer && opt_writeSeedFile)
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
#include "dcmtk/dcmnet/dfindscu.h"
#include "dcmtk/dcmnet/diutil.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
*/
OFBool opt_automaticDataCorrection = OFFalse;
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
char tempstr[20];
OFString temp_str;
cond = findscu.dropNetwork();
if (cond.bad()) OFLOG_ERROR(findscuLogger, DimseCondition::dump(temp_str, cond));
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
#ifdef WITH_OPENSSL
if (tLayer && opt_writeSeedFile)
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/ofstd/ofconapp.h"
#include "dcmtk/ofstd/oflist.h"
#include "dcmtk/dcmnet/scu.h"
const char *opt_ourTitle = APPLICATIONTITLE;
OFList<OFString> fileNameList;
-#ifdef HAVE_GUSI_H
- /* needed for Macintosh */
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
char tempstr[20];
OFString temp_str;
OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION , "DICOM retrieve (C-GET) SCU", rcsid);
cmd.addOption("--prefer-mpeg4-2-2d", "+x2", "prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (2D)");
cmd.addOption("--prefer-mpeg4-2-3d", "+x3", "prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)");
cmd.addOption("--prefer-mpeg4-2-st", "+xo", "prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS");
+ cmd.addOption("--prefer-hevc", "+x4", "prefer HEVC/H.265 Main Profile / Level 5.1 TS");
+ cmd.addOption("--prefer-hevc10", "+x5", "prefer HEVC/H.265 Main 10 Profile / Level 5.1 TS");
cmd.addOption("--prefer-rle", "+xr", "prefer RLE lossless TS");
#ifdef WITH_ZLIB
cmd.addOption("--prefer-deflated", "+xd", "prefer deflated explicit VR little endian TS");
if (cmd.findOption("--prefer-mpeg4-2-2d")) opt_store_networkTransferSyntax = EXS_MPEG4HighProfileLevel4_2_For2DVideo;
if (cmd.findOption("--prefer-mpeg4-2-3d")) opt_store_networkTransferSyntax = EXS_MPEG4HighProfileLevel4_2_For3DVideo;
if (cmd.findOption("--prefer-mpeg4-2-st")) opt_store_networkTransferSyntax = EXS_MPEG4StereoHighProfileLevel4_2;
+ if (cmd.findOption("--prefer-hevc")) opt_store_networkTransferSyntax = EXS_HEVCMainProfileLevel5_1;
+ if (cmd.findOption("--prefer-hevc10")) opt_store_networkTransferSyntax = EXS_HEVCMain10ProfileLevel5_1;
if (cmd.findOption("--prefer-rle")) opt_store_networkTransferSyntax = EXS_RLELossless;
#ifdef WITH_ZLIB
if (cmd.findOption("--prefer-deflated")) opt_store_networkTransferSyntax = EXS_DeflatedLittleEndianExplicit;
#define INCLUDE_CSTDARG
#define INCLUDE_CERRNO
#include "dcmtk/ofstd/ofstdinc.h"
-
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/ofstd/ofstd.h"
#include "dcmtk/ofstd/ofconapp.h"
#include "dcmtk/dcmnet/dicom.h"
int
main(int argc, char *argv[])
{
- T_ASC_Parameters *params = NULL;
- const char *opt_peer;
- OFCmdUnsignedInt opt_port = 104;
- DIC_NODENAME localHost;
- DIC_NODENAME peerHost;
- T_ASC_Association *assoc = NULL;
- const char *opt_peerTitle = PEERAPPLICATIONTITLE;
- const char *opt_ourTitle = APPLICATIONTITLE;
- OFList<OFString> fileNameList;
-
-#ifdef HAVE_GUSI_H
- /* needed for Macintosh */
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
+ T_ASC_Parameters *params = NULL;
+ const char *opt_peer;
+ OFCmdUnsignedInt opt_port = 104;
+ DIC_NODENAME peerHost;
+ T_ASC_Association *assoc = NULL;
+ const char *opt_peerTitle = PEERAPPLICATIONTITLE;
+ const char *opt_ourTitle = APPLICATIONTITLE;
+ OFList<OFString> fileNameList;
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
char tempstr[20];
OFString temp_str;
cmd.addOption("--prefer-mpeg4-2-2d", "+x2", "prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (2D)");
cmd.addOption("--prefer-mpeg4-2-3d", "+x3", "prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)");
cmd.addOption("--prefer-mpeg4-2-st", "+xo", "prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS");
+ cmd.addOption("--prefer-hevc", "+x4", "prefer HEVC/H.265 Main Profile / Level 5.1 TS");
+ cmd.addOption("--prefer-hevc10", "+x5", "prefer HEVC/H.265 Main 10 Profile / Level 5.1 TS");
cmd.addOption("--prefer-rle", "+xr", "prefer RLE lossless TS");
#ifdef WITH_ZLIB
cmd.addOption("--prefer-deflated", "+xd", "prefer deflated explicit VR little endian TS");
if (cmd.findOption("--prefer-mpeg4-2-2d")) opt_in_networkTransferSyntax = EXS_MPEG4HighProfileLevel4_2_For2DVideo;
if (cmd.findOption("--prefer-mpeg4-2-3d")) opt_in_networkTransferSyntax = EXS_MPEG4HighProfileLevel4_2_For3DVideo;
if (cmd.findOption("--prefer-mpeg4-2-st")) opt_in_networkTransferSyntax = EXS_MPEG4StereoHighProfileLevel4_2;
+ if (cmd.findOption("--prefer-hevc")) opt_in_networkTransferSyntax = EXS_HEVCMainProfileLevel5_1;
+ if (cmd.findOption("--prefer-hevc10")) opt_in_networkTransferSyntax = EXS_HEVCMain10ProfileLevel5_1;
if (cmd.findOption("--prefer-rle")) opt_in_networkTransferSyntax = EXS_RLELossless;
#ifdef WITH_ZLIB
if (cmd.findOption("--prefer-deflated")) opt_in_networkTransferSyntax = EXS_DeflatedLittleEndianExplicit;
app.checkConflict("--write-xfer-little", "--prefer-mpeg4-2-2d", opt_in_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--write-xfer-little", "--prefer-mpeg4-2-3d", opt_in_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--write-xfer-little", "--prefer-mpeg4-2-st", opt_in_networkTransferSyntax == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--write-xfer-little", "--prefer-hevc", opt_in_networkTransferSyntax == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--write-xfer-little", "--prefer-hevc10", opt_in_networkTransferSyntax == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--write-xfer-little", "--prefer-rle", opt_in_networkTransferSyntax == EXS_RLELossless);
// we don't have to check a conflict for --prefer-deflated because we can always convert that to uncompressed.
opt_writeTransferSyntax = EXS_LittleEndianExplicit;
app.checkConflict("--write-xfer-big", "--prefer-mpeg4-2-2d", opt_in_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--write-xfer-big", "--prefer-mpeg4-2-3d", opt_in_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--write-xfer-big", "--prefer-mpeg4-2-st", opt_in_networkTransferSyntax == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--write-xfer-big", "--prefer-hevc", opt_in_networkTransferSyntax == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--write-xfer-big", "--prefer-hevc10", opt_in_networkTransferSyntax == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--write-xfer-big", "--prefer-rle", opt_in_networkTransferSyntax == EXS_RLELossless);
// we don't have to check a conflict for --prefer-deflated because we can always convert that to uncompressed.
opt_writeTransferSyntax = EXS_BigEndianExplicit;
app.checkConflict("--write-xfer-implicit", "--prefer-mpeg4-2-2d", opt_in_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--write-xfer-implicit", "--prefer-mpeg4-2-3d", opt_in_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--write-xfer-implicit", "--prefer-mpeg4-2-st", opt_in_networkTransferSyntax == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--write-xfer-implicit", "--prefer-hevc", opt_in_networkTransferSyntax == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--write-xfer-implicit", "--prefer-hevc10", opt_in_networkTransferSyntax == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--write-xfer-implicit", "--prefer-rle", opt_in_networkTransferSyntax == EXS_RLELossless);
// we don't have to check a conflict for --prefer-deflated because we can always convert that to uncompressed.
opt_writeTransferSyntax = EXS_LittleEndianImplicit;
app.checkConflict("--write-xfer-deflated", "--prefer-mpeg4-2-2d", opt_in_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--write-xfer-deflated", "--prefer-mpeg4-2-3d", opt_in_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--write-xfer-deflated", "--prefer-mpeg4-2-st", opt_in_networkTransferSyntax == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--write-xfer-deflated", "--prefer-hevc", opt_in_networkTransferSyntax == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--write-xfer-deflated", "--prefer-hevc10", opt_in_networkTransferSyntax == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--write-xfer-deflated", "--prefer-rle", opt_in_networkTransferSyntax == EXS_RLELossless);
opt_writeTransferSyntax = EXS_DeflatedLittleEndianExplicit;
}
}
ASC_setAPTitles(params, opt_ourTitle, opt_peerTitle, NULL);
- gethostname(localHost, sizeof(localHost) - 1);
sprintf(peerHost, "%s:%d", opt_peer, OFstatic_cast(int, opt_port));
- ASC_setPresentationAddresses(params, localHost, peerHost);
+ ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost);
/*
* We also add a presentation context for the corresponding
exit(EXITCODE_CANNOT_CLOSE_ASSOCIATION);
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
return cmove_status_code;
}
transferSyntaxes[3] = UID_LittleEndianImplicitTransferSyntax;
numTransferSyntaxes = 4;
break;
+ case EXS_HEVCMainProfileLevel5_1:
+ /* we prefer HEVC/H.265 Main Profile/L5.1 */
+ transferSyntaxes[0] = UID_HEVCMainProfileLevel5_1TransferSyntax;
+ transferSyntaxes[1] = UID_LittleEndianExplicitTransferSyntax;
+ transferSyntaxes[2] = UID_BigEndianExplicitTransferSyntax;
+ transferSyntaxes[3] = UID_LittleEndianImplicitTransferSyntax;
+ numTransferSyntaxes = 4;
+ break;
+ case EXS_HEVCMain10ProfileLevel5_1:
+ /* we prefer HEVC/H.265 Main 10 Profile/L5.1 */
+ transferSyntaxes[0] = UID_HEVCMain10ProfileLevel5_1TransferSyntax;
+ transferSyntaxes[1] = UID_LittleEndianExplicitTransferSyntax;
+ transferSyntaxes[2] = UID_BigEndianExplicitTransferSyntax;
+ transferSyntaxes[3] = UID_LittleEndianImplicitTransferSyntax;
+ numTransferSyntaxes = 4;
+ break;
case EXS_RLELossless:
/* we prefer RLE Lossless */
transferSyntaxes[0] = UID_RLELosslessTransferSyntax;
{
OFLOG_ERROR(movescuLogger, "cannot write DICOM file: " << ofname);
rsp->DimseStatus = STATUS_STORE_Refused_OutOfResources;
+
+ // delete incomplete file
+ OFStandard::deleteFile(ofname);
}
/* should really check the image to make sure it is consistent,
/* remove file */
if (!opt_ignore)
{
- if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) unlink(imageFileName);
+ if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) OFStandard::deleteFile(imageFileName);
}
#ifdef _WIN32
} else if (opt_ignore) {
- if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) unlink(imageFileName); // delete the temporary file
+ if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) OFStandard::deleteFile(imageFileName); // delete the temporary file
#endif
}
#endif
END_EXTERN_C
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#ifdef HAVE_WINDOWS_H
#include <direct.h> /* for _mkdir() */
#endif
T_ASC_Network *net;
DcmAssociationConfiguration asccfg;
-#ifdef HAVE_GUSI_H
- /* needed for Macintosh */
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
OFString temp_str;
OFOStringStream optStream;
cmd.addOption("--prefer-mpeg4-2-2d", "+x2", "prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (2D)");
cmd.addOption("--prefer-mpeg4-2-3d", "+x3", "prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)");
cmd.addOption("--prefer-mpeg4-2-st", "+xo", "prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS");
+ cmd.addOption("--prefer-hevc", "+x4", "prefer HEVC/H.265 Main Profile / Level 5.1 TS");
+ cmd.addOption("--prefer-hevc10", "+x5", "prefer HEVC/H.265 Main 10 Profile / Level 5.1 TS");
cmd.addOption("--prefer-rle", "+xr", "prefer RLE lossless TS");
#ifdef WITH_ZLIB
cmd.addOption("--prefer-deflated", "+xd", "prefer deflated expl. VR little endian TS");
if (cmd.findOption("--prefer-mpeg4-2-2d")) opt_networkTransferSyntax = EXS_MPEG4HighProfileLevel4_2_For2DVideo;
if (cmd.findOption("--prefer-mpeg4-2-3d")) opt_networkTransferSyntax = EXS_MPEG4HighProfileLevel4_2_For3DVideo;
if (cmd.findOption("--prefer-mpeg4-2-st")) opt_networkTransferSyntax = EXS_MPEG4StereoHighProfileLevel4_2;
+ if (cmd.findOption("--prefer-hevc")) opt_networkTransferSyntax = EXS_HEVCMainProfileLevel5_1;
+ if (cmd.findOption("--prefer-hevc10")) opt_networkTransferSyntax = EXS_HEVCMain10ProfileLevel5_1;
if (cmd.findOption("--prefer-rle")) opt_networkTransferSyntax = EXS_RLELossless;
#ifdef WITH_ZLIB
if (cmd.findOption("--prefer-deflated")) opt_networkTransferSyntax = EXS_DeflatedLittleEndianExplicit;
app.checkConflict("--config-file", "--prefer-mpeg4-2-2d", opt_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--config-file", "--prefer-mpeg4-2-3d", opt_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--config-file", "--prefer-mpeg4-2-st", opt_networkTransferSyntax == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--config-file", "--prefer-hevc", opt_networkTransferSyntax == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--config-file", "--prefer-hevc10", opt_networkTransferSyntax == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--config-file", "--prefer-rle", opt_networkTransferSyntax == EXS_RLELossless);
#ifdef WITH_ZLIB
app.checkConflict("--config-file", "--prefer-deflated", opt_networkTransferSyntax == EXS_DeflatedLittleEndianExplicit);
app.checkConflict("--write-xfer-little", "--prefer-mpeg4-2-2d", opt_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--write-xfer-little", "--prefer-mpeg4-2-3d", opt_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--write-xfer-little", "--prefer-mpeg4-2-st", opt_networkTransferSyntax == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--write-xfer-little", "--prefer-hevc", opt_networkTransferSyntax == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--write-xfer-little", "--prefer-hevc10", opt_networkTransferSyntax == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--write-xfer-little", "--prefer-rle", opt_networkTransferSyntax == EXS_RLELossless);
// we don't have to check a conflict for --prefer-deflated because we can always convert that to uncompressed.
opt_writeTransferSyntax = EXS_LittleEndianExplicit;
app.checkConflict("--write-xfer-big", "--prefer-mpeg4-2-2d", opt_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--write-xfer-big", "--prefer-mpeg4-2-3d", opt_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--write-xfer-big", "--prefer-mpeg4-2-st", opt_networkTransferSyntax == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--write-xfer-big", "--prefer-hevc", opt_networkTransferSyntax == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--write-xfer-big", "--prefer-hevc10", opt_networkTransferSyntax == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--write-xfer-big", "--prefer-rle", opt_networkTransferSyntax == EXS_RLELossless);
// we don't have to check a conflict for --prefer-deflated because we can always convert that to uncompressed.
opt_writeTransferSyntax = EXS_BigEndianExplicit;
app.checkConflict("--write-xfer-implicit", "--prefer-mpeg4-2-2d", opt_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--write-xfer-implicit", "--prefer-mpeg4-2-3d", opt_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--write-xfer-implicit", "--prefer-mpeg4-2-st", opt_networkTransferSyntax == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--write-xfer-implicit", "--prefer-hevc", opt_networkTransferSyntax == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--write-xfer-implicit", "--prefer-hevc10", opt_networkTransferSyntax == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--write-xfer-implicit", "--prefer-rle", opt_networkTransferSyntax == EXS_RLELossless);
// we don't have to check a conflict for --prefer-deflated because we can always convert that to uncompressed.
opt_writeTransferSyntax = EXS_LittleEndianImplicit;
app.checkConflict("--write-xfer-deflated", "--prefer-mpeg4-2-2d", opt_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--write-xfer-deflated", "--prefer-mpeg4-2-3d", opt_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--write-xfer-deflated", "--prefer-mpeg4-2-st", opt_networkTransferSyntax == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--write-xfer-deflated", "--prefer-hevc", opt_networkTransferSyntax == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--write-xfer-deflated", "--prefer-hevc10", opt_networkTransferSyntax == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--write-xfer-deflated", "--prefer-rle", opt_networkTransferSyntax == EXS_RLELossless);
opt_writeTransferSyntax = EXS_DeflatedLittleEndianExplicit;
}
#elif defined(_WIN32)
if (opt_forkedChild)
{
- // child process
- DUL_markProcessAsForkedChild();
-
- char buf[256];
- DWORD bytesRead = 0;
- HANDLE hStdIn = GetStdHandle(STD_INPUT_HANDLE);
-
- // read socket handle number from stdin, i.e. the anonymous pipe
- // to which our parent process has written the handle number.
- if (ReadFile(hStdIn, buf, sizeof(buf) - 1, &bytesRead, NULL))
- {
- // make sure buffer is zero terminated
- buf[bytesRead] = '\0';
- dcmExternalSocketHandle.set(atoi(buf));
- }
- else
- {
- OFLOG_ERROR(storescpLogger, "cannot read socket handle: " << GetLastError());
- return 1;
- }
+ // we are a child process in multi-process mode
+ if (DUL_readSocketHandleAsForkedChild().bad()) return 1;
}
else
{
// parent process
- if (opt_forkMode)
- DUL_requestForkOnTransportConnectionReceipt(argc, argv);
+ if (opt_forkMode) DUL_requestForkOnTransportConnectionReceipt(argc, argv);
}
#endif
return 1;
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
#ifdef WITH_OPENSSL
delete tLayer;
transferSyntaxes[3] = UID_LittleEndianImplicitTransferSyntax;
numTransferSyntaxes = 4;
break;
+ case EXS_HEVCMainProfileLevel5_1:
+ /* we prefer HEVC/H.265 Main Profile/L5.1 */
+ transferSyntaxes[0] = UID_HEVCMainProfileLevel5_1TransferSyntax;
+ transferSyntaxes[1] = UID_LittleEndianExplicitTransferSyntax;
+ transferSyntaxes[2] = UID_BigEndianExplicitTransferSyntax;
+ transferSyntaxes[3] = UID_LittleEndianImplicitTransferSyntax;
+ numTransferSyntaxes = 4;
+ break;
+ case EXS_HEVCMain10ProfileLevel5_1:
+ /* we prefer HEVC/H.265 Main 10 Profile/L5.1 */
+ transferSyntaxes[0] = UID_HEVCMain10ProfileLevel5_1TransferSyntax;
+ transferSyntaxes[1] = UID_LittleEndianExplicitTransferSyntax;
+ transferSyntaxes[2] = UID_BigEndianExplicitTransferSyntax;
+ transferSyntaxes[3] = UID_LittleEndianImplicitTransferSyntax;
+ numTransferSyntaxes = 4;
+ break;
case EXS_RLELossless:
/* we prefer RLE Lossless */
transferSyntaxes[0] = UID_RLELosslessTransferSyntax;
OFLOG_WARN(storescpLogger, "element PatientName " << DCM_PatientName << " absent or empty in data set, using '"
<< tmpName << "' instead");
}
+ else
+ {
+ DcmElement *patElem = NULL;
+ OFString charset;
+ (*imageDataSet)->findAndGetElement(DCM_PatientName, patElem); // patElem cannot be NULL, see above
+ (*imageDataSet)->findAndGetOFStringArray(DCM_SpecificCharacterSet, charset);
+ if (!charset.empty() && !(charset == "ISO_IR 100") && (patElem->containsExtendedCharacters()))
+ {
+ OFLOG_WARN(storescpLogger, "Patient name not in Latin-1 (charset: " << charset << "), ASCII dir name may be broken");
+ }
+ }
/* substitute non-ASCII characters in patient name to ASCII "equivalent" */
const size_t length = tmpName.length();
{
OFLOG_ERROR(storescpLogger, "cannot write DICOM file: " << fileName << ": " << cond.text());
rsp->DimseStatus = STATUS_STORE_Refused_OutOfResources;
+
+ // delete incomplete file
+ OFStandard::deleteFile(fileName);
}
// check the image to make sure it is consistent, i.e. that its sopClass and sopInstance correspond
#endif
END_EXTERN_C
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/ofstd/ofstd.h"
#include "dcmtk/ofstd/ofconapp.h"
#include "dcmtk/ofstd/ofstring.h"
T_ASC_Network *net;
T_ASC_Parameters *params;
- DIC_NODENAME localHost;
DIC_NODENAME peerHost;
T_ASC_Association *assoc;
DcmAssociationConfiguration asccfg; // handler for association configuration profiles
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
OFString temp_str;
OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION , "DICOM storage (C-STORE) SCU", rcsid);
cmd.addOption("--propose-mpeg4-2-2d", "-x2", "propose MPEG4 AVC/H.264 HP / Level 4.2 TS (2D)");
cmd.addOption("--propose-mpeg4-2-3d", "-x3", "propose MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)");
cmd.addOption("--propose-mpeg4-2-st", "-xo", "propose MPEG4 AVC/H.264 Stereo / Level 4.2 TS");
+ cmd.addOption("--propose-hevc", "-x4", "propose HEVC/H.265 Main Profile / Level 5.1 TS");
+ cmd.addOption("--propose-hevc10", "-x5", "propose HEVC/H.265 Main 10 Profile / Level 5.1 TS");
cmd.addOption("--propose-rle", "-xr", "propose RLE lossless TS\nand all uncompressed transfer syntaxes");
#ifdef WITH_ZLIB
cmd.addOption("--propose-deflated", "-xd", "propose deflated expl. VR little endian TS\nand all uncompressed transfer syntaxes");
if (cmd.findOption("--propose-mpeg4-2-2d")) opt_networkTransferSyntax = EXS_MPEG4HighProfileLevel4_2_For2DVideo;
if (cmd.findOption("--propose-mpeg4-2-3d")) opt_networkTransferSyntax = EXS_MPEG4HighProfileLevel4_2_For3DVideo;
if (cmd.findOption("--propose-mpeg4-2-st")) opt_networkTransferSyntax = EXS_MPEG4StereoHighProfileLevel4_2;
+ if (cmd.findOption("--propose-hevc")) opt_networkTransferSyntax = EXS_HEVCMainProfileLevel5_1;
+ if (cmd.findOption("--propose-hevc10")) opt_networkTransferSyntax = EXS_HEVCMain10ProfileLevel5_1;
if (cmd.findOption("--propose-rle")) opt_networkTransferSyntax = EXS_RLELossless;
#ifdef WITH_ZLIB
if (cmd.findOption("--propose-deflated")) opt_networkTransferSyntax = EXS_DeflatedLittleEndianExplicit;
app.checkConflict("--config-file", "--propose-mpeg4-2-2d", opt_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--config-file", "--propose-mpeg4-2-3d", opt_networkTransferSyntax == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--config-file", "--propose-mpeg4-2-st", opt_networkTransferSyntax == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--config-file", "--propose-hevc", opt_networkTransferSyntax == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--config-file", "--propose-hevc10", opt_networkTransferSyntax == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--config-file", "--propose-rle", opt_networkTransferSyntax == EXS_RLELossless);
#ifdef WITH_ZLIB
app.checkConflict("--config-file", "--propose-deflated", opt_networkTransferSyntax == EXS_DeflatedLittleEndianExplicit);
/* Figure out the presentation addresses and copy the */
/* corresponding values into the association parameters.*/
- gethostname(localHost, sizeof(localHost) - 1);
sprintf(peerHost, "%s:%d", opt_peer, OFstatic_cast(int, opt_port));
- ASC_setPresentationAddresses(params, localHost, peerHost);
+ ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost);
/* Configure User Identity Negotiation*/
if (opt_identMode != ASC_USER_IDENTITY_NONE)
return 1;
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
#ifdef WITH_OPENSSL
if (tLayer && opt_writeSeedFile)
OFList<OFString> fallbackSyntaxes;
// - If little endian implicit is preferred, we don't need any fallback syntaxes
// because it is the default transfer syntax and all applications must support it.
- // - If MPEG2 or MPEG4 is preferred, we don't want to propose any fallback solution
+ // - If MPEG2, MPEG4 or HEVC is preferred, we don't want to propose any fallback solution
// because this is not required and we cannot decompress the movie anyway.
if ((opt_networkTransferSyntax != EXS_LittleEndianImplicit) &&
(opt_networkTransferSyntax != EXS_MPEG2MainProfileAtMainLevel) &&
(opt_networkTransferSyntax != EXS_MPEG4BDcompatibleHighProfileLevel4_1) &&
(opt_networkTransferSyntax != EXS_MPEG4HighProfileLevel4_2_For2DVideo) &&
(opt_networkTransferSyntax != EXS_MPEG4HighProfileLevel4_2_For3DVideo) &&
- (opt_networkTransferSyntax != EXS_MPEG4StereoHighProfileLevel4_2))
+ (opt_networkTransferSyntax != EXS_MPEG4StereoHighProfileLevel4_2) &&
+ (opt_networkTransferSyntax != EXS_HEVCMainProfileLevel5_1) &&
+ (opt_networkTransferSyntax != EXS_HEVCMain10ProfileLevel5_1))
{
fallbackSyntaxes.push_back(UID_LittleEndianExplicitTransferSyntax);
fallbackSyntaxes.push_back(UID_BigEndianExplicitTransferSyntax);
cond = DIMSE_storeUser(assoc, presID, &req,
NULL, dcmff.getDataset(), progressCallback, NULL,
opt_blockMode, opt_dimse_timeout,
- &rsp, &statusDetail, NULL, OFStandard::getFileSize(fname));
+ &rsp, &statusDetail, NULL, OFstatic_cast(long, OFStandard::getFileSize(fname)));
/*
* If store command completed normally, with a status
/*
*
- * Copyright (C) 2005-2010, OFFIS e.V.
+ * Copyright (C) 2005-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
T_ASC_Network *net;
T_ASC_Parameters *params;
T_ASC_Association *assoc;
- DIC_NODENAME localHost;
DIC_NODENAME peerHost;
char rcsid[] = "$dcmtk: " OFFIS_CONSOLE_APPLICATION " v" OFFIS_DCMTK_VERSION " " OFFIS_DCMTK_RELEASEDATE " $";
const char* transferSyntaxes[] = { UID_LittleEndianImplicitTransferSyntax, UID_LittleEndianExplicitTransferSyntax, UID_BigEndianExplicitTransferSyntax };
int transferSyntaxCount = 3;
-#ifdef HAVE_GUSI_H
- // needed for Macintosh
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- // we need at least version 1.1
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
char tempstr[20];
OFString temp_str;
// figure out the presentation addresses and copy the
// corresponding values into the association parameters.
- gethostname( localHost, sizeof( localHost ) - 1 );
sprintf( peerHost, "%s:%d", opt_peer, OFstatic_cast(int, opt_port));
- ASC_setPresentationAddresses( params, localHost, peerHost );
+ ASC_setPresentationAddresses( params, OFStandard::getHostName().c_str(), peerHost );
// set the presentation context which will be negotiated
// when the network connection will be established
exit( 1 );
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
return( 0 );
}
# declare installation files
-INSTALL(FILES asconfig.txt testing.txt DESTINATION ${DCMTK_INSTALL_DOCDIR} COMPONENT doc)
+INSTALL(FILES asconfig.txt testing.txt DESTINATION "${DCMTK_INSTALL_DOCDIR}" COMPONENT doc)
+xo --prefer-mpeg4-2-st
prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS
+ +x4 --prefer-hevc
+ prefer HEVC H.265 Main Profile / Level 5.1 TS
+
+ +x5 --prefer-hevc10
+ prefer HEVC H.265 Main 10 Profile / Level 5.1 TS
+
+xr --prefer-rle
prefer RLE lossless TS
\subsection getscu_dicom_conformance DICOM Conformance
-\subsubsection scu_conformance SCU Conformance
+\subsubsection getscu_scu_conformance SCU Conformance
The \b getscu application supports the following SOP Classes as an SCU:
Which transfer syntaxes are actually proposed in what order, can be specified
with the \e --propose options.
-\subsubsection storage_conformance Storage Conformance
+\subsubsection getscu_storage_conformance Storage Conformance
The \b getscu application supports the following SOP Classes as an SCP:
MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104
MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105
MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106
+HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107
+HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108
RLELosslessTransferSyntax 1.2.840.10008.1.2.5
\endverbatim
+xo --prefer-mpeg4-2-st
prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS
+ +x4 --prefer-hevc
+ prefer HEVC H.265 Main Profile / Level 5.1 TS
+
+ +x5 --prefer-hevc10
+ prefer HEVC H.265 Main 10 Profile / Level 5.1 TS
+
+xr --prefer-rle
prefer RLE lossless TS
Which transfer syntaxes are actually proposed in what order, can be specified
with the \e --propose options.
-\subsubsection scp_conformance SCP Conformance
+\subsubsection movescu_scp_conformance SCP Conformance
The \b movescu application supports the following SOP Classes as an SCP:
BlendingSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.4
XAXRFGrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.5
GrayscalePlanarMPRVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.6
-CompositingPlanarMPRVolumetricPresentationStateStor. 1.2.840.10008.5.1.4.1.1.11.7
+CompositingPlanarMPRVolumetricPresent.StateStorage 1.2.840.10008.5.1.4.1.1.11.7
+AdvancedBlendingPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.8
+VolumeRenderingVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.9
+SegmentedVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.10
+MultipleVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.11
XRayAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.12.1
EnhancedXAImageStorage 1.2.840.10008.5.1.4.1.1.12.1.1
XRayRadiofluoroscopicImageStorage 1.2.840.10008.5.1.4.1.1.12.2
OphthalmicTomographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.4
WideFieldOphthalmicPhoto.Stereogr.Proj.ImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.5
WideFieldOphthalmicPhotogr.3DCoordinatesImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.6
+OphthalmicOpticalCoherenceTomogr.EnFaceImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.7
+OphthalmicOpticalCoh.Tomogr.BscanVolumeAnalysisStor. 1.2.840.10008.5.1.4.1.1.77.1.5.8
VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6
RETIRED_VLMultiFrameImageStorage 1.2.840.10008.5.1.4.1.1.77.2
LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1
ColonCADSRStorage 1.2.840.10008.5.1.4.1.1.88.69
ImplantationPlanSRDocumentStorage 1.2.840.10008.5.1.4.1.1.88.70
AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71
+SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72
+PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.73
ContentAssessmentResultsStorage 1.2.840.10008.5.1.4.1.1.90.1
EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2
RETIRED_StandalonePETCurveStorage 1.2.840.10008.5.1.4.1.1.129
EnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.130
BasicStructuredDisplayStorage 1.2.840.10008.5.1.4.1.1.131
-CTDefinedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.1
CTPerformedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.2
RTImageStorage 1.2.840.10008.5.1.4.1.1.481.1
RTDoseStorage 1.2.840.10008.5.1.4.1.1.481.2
DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1
RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7
RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10
-GenericImplantTemplateStorage 1.2.840.10008.5.1.4.43.1
-ImplantAssemblyTemplateStorage 1.2.840.10008.5.1.4.44.1
-ImplantTemplateGroupStorage 1.2.840.10008.5.1.4.45.1
\endverbatim
The \b movescu application will usually accept presentation contexts for all
+xo --prefer-mpeg4-2-st
prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS
+ +x4 --prefer-hevc
+ prefer HEVC H.265 Main Profile / Level 5.1 TS
+
+ +x5 --prefer-hevc10
+ prefer HEVC H.265 Main 10 Profile / Level 5.1 TS
+
+xr --prefer-rle
prefer RLE lossless TS
\endverbatim
where 'PatientName' is replaced by "ANONYMOUS" if the data element is empty or
-absent in the data set. Please note, however, that for option
-\e --sort-on-study-uid the same subdirectory will be used for all DICOM objects
-that belong to the same study, i.e. in contrast to the other \e --sort-xxx
-options there is no guarantee that a study directory is ever completed.
+absent in the data set. Any existing patient name is transformed in order to
+use only ASCII characters. Please note that in this context only the DICOM
+default character set (ASCII, i.e. no entry in attribute Specific Character
+Set) and Latin-1 (Specific Character Set valued "ISO_IR 100") are supported.
+If another character set is found and the patient name contains non-ASCII
+characters, a warning is printed and the transformation is performed as if
+Latin-1 character set would be set in the file. This may lead to unreadable
+or unexpected patient name directories and behaviour. Thus, it is advisable
+to use \e --sort-on-patientname only if Latin-1 or ASCII patient names are
+expected to be received.
+
+For option \e --sort-on-study-uid the same subdirectory will be used for all
+DICOM objects that belong to the same study, i.e. in contrast to the other
+\e --sort-xxx options there is no guarantee that a study directory is ever
+completed.
Option \e --timenames creates filenames from timestamps corresponding to the
time, \b storescp writes a file to disk. The format is
BlendingSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.4
XAXRFGrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.5
GrayscalePlanarMPRVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.6
-CompositingPlanarMPRVolumetricPresentationStateStor. 1.2.840.10008.5.1.4.1.1.11.7
+CompositingPlanarMPRVolumetricPresent.StateStorage 1.2.840.10008.5.1.4.1.1.11.7
+AdvancedBlendingPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.8
+VolumeRenderingVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.9
+SegmentedVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.10
+MultipleVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.11
XRayAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.12.1
EnhancedXAImageStorage 1.2.840.10008.5.1.4.1.1.12.1.1
XRayRadiofluoroscopicImageStorage 1.2.840.10008.5.1.4.1.1.12.2
OphthalmicTomographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.4
WideFieldOphthalmicPhoto.Stereogr.Proj.ImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.5
WideFieldOphthalmicPhotogr.3DCoordinatesImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.6
+OphthalmicOpticalCoherenceTomogr.EnFaceImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.7
+OphthalmicOpticalCoh.Tomogr.BscanVolumeAnalysisStor. 1.2.840.10008.5.1.4.1.1.77.1.5.8
VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6
RETIRED_VLMultiFrameImageStorage 1.2.840.10008.5.1.4.1.1.77.2
LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1
ImplantationPlanSRDocumentStorage 1.2.840.10008.5.1.4.1.1.88.70
AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71
SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72
+PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.73
ContentAssessmentResultsStorage 1.2.840.10008.5.1.4.1.1.90.1
EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2
RETIRED_StandalonePETCurveStorage 1.2.840.10008.5.1.4.1.1.129
EnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.130
BasicStructuredDisplayStorage 1.2.840.10008.5.1.4.1.1.131
-CTDefinedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.1
CTPerformedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.2
RTImageStorage 1.2.840.10008.5.1.4.1.1.481.1
RTDoseStorage 1.2.840.10008.5.1.4.1.1.481.2
-xo --propose-mpeg4-2-st
propose MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS only
+ -x4 --propose-hevc
+ propose HEVC H.265 Main Profile / Level 5.1 TS only
+
+ -x5 --propose-hevc10
+ propose HEVC H.265 Main 10 Profile / Level 5.1 TS only
+
-xr --propose-rle
propose RLE lossless TS
and all uncompressed transfer syntaxes
MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104
MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105
MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106
+HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107
+HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108
RLELosslessTransferSyntax 1.2.840.10008.1.2.5
\endverbatim
# declare installation files
-INSTALL(FILES storescp.cfg storescu.cfg DESTINATION ${DCMTK_INSTALL_ETCDIR} COMPONENT etc)
+INSTALL(FILES storescp.cfg storescu.cfg DESTINATION "${DCMTK_INSTALL_ETCDIR}" COMPONENT etc)
# the following SOP classes are missing in the above list:
#
# - AcquisitionContextSRStorage
+# - AdvancedBlendingPresentationStateStorage
# - BreastProjectionXRayImageStorageForPresentation
# - BreastProjectionXRayImageStorageForProcessing
# - ColorPaletteStorage
# - LegacyConvertedEnhancedCTImageStorage
# - LegacyConvertedEnhancedMRImageStorage
# - LegacyConvertedEnhancedPETImageStorage
+# - MultipleVolumeRenderingVolumetricPresentationStateStorage
+# - OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage
+# - OphthalmicOpticalCoherenceTomographyEnFaceImageStorage
# - ParametricMapStorage
+# - PatientRadiationDoseSRStorage
# - RadiopharmaceuticalRadiationDoseSRStorage
# - RTBrachyApplicationSetupDeliveryInstructionStorage
+# - SegmentedVolumeRenderingVolumetricPresentationStateStorage
# - SimplifiedAdultEchoSRStorage
# - TractographyResultsStorage
+# - VolumeRenderingVolumetricPresentationStateStorage
# - WideFieldOphthalmicPhotographyStereographicProjectionImageStorage
# - WideFieldOphthalmicPhotography3DCoordinatesImageStorage
#
[AllDICOMStorageSCP]
#
# Same as "GenericStorageSCP" but limited to non-retired and non-draft SOP Classes.
-# This allows for accepting all DICOM Storage SOP Classes that are currently defined
-# in the standard (an exception is made for some non-patient DICOM objects because
+# This allows for accepting (almost) all DICOM Storage SOP Classes that are currently
+# defined in the standard (an exception is made for some very new DICOM objects because
# of the limitation of 128 Presentation Contexts for SCPs, see DCMTK Feature # 540).
#
PresentationContext1 = VerificationSOPClass\Uncompressed
#
# the following SOP classes are missing in the above list:
#
+# - AdvancedBlendingPresentationStateStorage
# - ColorPaletteStorage
+# - MultipleVolumeRenderingVolumetricPresentationStateStorage
+# - OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage
+# - OphthalmicOpticalCoherenceTomographyEnFaceImageStorage
+# - PatientRadiationDoseSRStorage
+# - SegmentedVolumeRenderingVolumetricPresentationStateStorage
+# - VolumeRenderingVolumetricPresentationStateStorage
#
# - RETIRED_HardcopyColorImageStorage
# - RETIRED_HardcopyGrayscaleImageStorage
#
-# Copyright (C) 2003-2016, OFFIS e.V.
+# Copyright (C) 2003-2017, OFFIS e.V.
# All rights reserved. See COPYRIGHT file for details.
#
# This software and supporting documentation were developed by
# the following SOP classes are missing in the above list:
#
# - AcquisitionContextSRStorage
+# - AdvancedBlendingPresentationStateStorage
# - ArterialPulseWaveformStorage
# - AutorefractionMeasurementsStorage
# - BasicStructuredDisplayStorage
# - LegacyConvertedEnhancedPETImageStorage
# - LensometryMeasurementsStorage
# - MacularGridThicknessAndVolumeReportStorage
+# - MultipleVolumeRenderingVolumetricPresentationStateStorage
# - OphthalmicAxialMeasurementsStorage
+# - OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage
+# - OphthalmicOpticalCoherenceTomographyEnFaceImageStorage
# - OphthalmicThicknessMapStorage
# - OphthalmicTomographyImageStorage
# - OphthalmicVisualFieldStaticPerimetryMeasurementsStorage
# - ParametricMapStorage
+# - PatientRadiationDoseSRStorage
# - RadiopharmaceuticalRadiationDoseSRStorage
# - RealWorldValueMappingStorage
# - RespiratoryWaveformStorage
# - RTIonBeamsTreatmentRecordStorage
# - RTIonPlanStorage
# - SegmentationStorage
+# - SegmentedVolumeRenderingVolumetricPresentationStateStorage
# - SimplifiedAdultEchoSRStorage
# - SpectaclePrescriptionReportStorage
# - SubjectiveRefractionMeasurementsStorage
# - TractographyResultsStorage
# - VisualAcuityMeasurementsStorage
# - VLWholeSlideMicroscopyImageStorage
+# - VolumeRenderingVolumetricPresentationStateStorage
# - WideFieldOphthalmicPhotographyStereographicProjectionImageStorage
# - WideFieldOphthalmicPhotography3DCoordinatesImageStorage
# - XAXRFGrayscaleSoftcopyPresentationStateStorage
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmnet DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmnet DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
T_ASC_Parameters * params,
T_ASC_PresentationContextID presentationContextID,
const char* transferSyntax,
- T_ASC_SC_ROLE acceptedRole = ASC_SC_ROLE_DEFAULT);
+ T_ASC_SC_ROLE acceptedRole = ASC_SC_ROLE_DEFAULT,
+ const OFBool alwaysAcceptDefaultRole = OFFalse);
DCMTK_DCMNET_EXPORT OFCondition
ASC_acceptContextsWithPreferredTransferSyntaxes(
@return The role as a string
*/
DCMTK_DCMNET_EXPORT const char*
-ASC_role2String(T_ASC_SC_ROLE role);
+ASC_role2String(const T_ASC_SC_ROLE role);
+
+/** Converts given ASC role to DUL role
+ * @param role The role to convert
+ @return The role as DUL role
+ */
+DCMTK_DCMNET_EXPORT DUL_SC_ROLE
+ascRole2dulRole(const T_ASC_SC_ROLE role);
#endif
const unsigned short DULC_FORKEDCHILD = 0x325;
const unsigned short DULC_CANNOTFORK = 0x326;
const unsigned short DULC_ILLEGALREJECTSOURCE = 0x327;
+const unsigned short DULC_CANNOTREADSOCKETHANDLE = 0x328;
// condition constants used in the DUL module
extern DCMTK_DCMNET_EXPORT const OFConditionConst DUL_ASSOCIATIONREJECTED; /* DUL Association Rejected */
extern DCMTK_DCMNET_EXPORT const OFConditionConst DUL_UNEXPECTEDPDU; /* Received unexpected PDU */
extern DCMTK_DCMNET_EXPORT const OFConditionConst DUL_UNSUPPORTEDPEERPROTOCOL; /* DUL Unsupported peer protocol */
extern DCMTK_DCMNET_EXPORT const OFConditionConst DUL_WRONGDATATYPE; /* DUL Wrong Data Type Specified for Request */
+extern DCMTK_DCMNET_EXPORT const OFConditionConst DUL_CANNOTREADSOCKETHANDLE; /* Cannot read socket handle from pipe */
// other condition constants used in the network module (codes 1000 to 1023)
extern DCMTK_DCMNET_EXPORT const OFConditionConst NET_EC_InvalidSOPClassUID; /* Invalid SOP Class UID */
/*
*
- * Copyright (C) 2003-2015, OFFIS e.V.
+ * Copyright (C) 2003-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
const char *abstractSyntaxUID,
T_ASC_SC_ROLE role);
+ /** adds empty role list, also returns ok if list is already existing.
+ * If key is not yet known, a new list is created under this key.
+ * @param key role list key, must not be NULL
+ * @return EC_Normal if successful, an error code otherwise
+ */
+ OFCondition createEmptyRoleList(
+ const char *key);
+
/** adds the given abstract syntax UID and extended negotiation data to
* the list of extended negotiation items maintained under the given key.
* If key is not yet known, a new list is created under this key.
*/
OFString findTSKey(const OFList<OFString>& tslist);
+ /** Option to always accept a default role as association acceptor.
+ * If OFFalse (default) the acceptor will reject a presentation context proposed
+ * with Default role (no role selection at all) when it is configured for role
+ * SCP only. If this option is set to OFTrue then such presentation contexts will
+ * be accepted in Default role (i.e. acceptor does not return role selection for
+ * this presentation context at all). Overall, if set to OFTrue, there are no
+ * requestor proposals possible that lead to a complete rejection of a presentation
+ * context. See also role documentation in dul.h.
+ * @param enabled If OFTrue, do not reject Default role proposals when configured
+ * for SCP role. OFFalse (default behaviour): Reject such proposals.
+ */
+ void setAlwaysAcceptDefaultRole(const OFBool enabled);
+
/** dumps all profiles or a selected profile to the given output stream.
* Mainly useful for debugging.
* @param out output stream to be used
/// map of profiles
DcmProfileMap profiles_;
+
+ /// Option to always accept a default role as association acceptor.
+ /// If OFFalse (default) the acceptor will reject a presentation context proposed
+ /// with Default role (no role selection at all) when it is configured for role
+ /// SCP only. If this option is set to OFTrue then such presentation contexts will
+ /// be accepted in Default role (i.e. acceptor does not return role selection for
+ /// this presentation context at all). Overall, if set to OFTrue, there are no
+ /// requestor proposals possible that lead to a complete rejection of a presentation
+ /// context. See also role documentation in dul.h.
+ OFBool alwaysAcceptDefaultRole_;
};
#endif
/*
*
- * Copyright (C) 1994-2011, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
const char *abstractSyntaxUID,
T_ASC_SC_ROLE role);
+ /** add empty list within map.
+ * If key is new, new list is created. Otherwise the request
+ * is ignored (no error).
+ * @param key map key
+ * @return EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addEmpty(
+ const char *key);
+
/** checks if the key is known
* @param key key name, must not be NULL
* @return true if key is known, false otherwise
/*
*
- * Copyright (C) 1998-2011, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define DCMLAYER_H
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
#include "dcmtk/ofstd/oftypes.h"
#include "dcmtk/ofstd/ofstring.h"
#include "dcmtk/ofstd/ofstdinc.h"
#include "dcmtk/dcmnet/dndefine.h"
+#include "dcmtk/dcmnet/dntypes.h"
/** this enum represents the result of a transport layer operation
* which may be a transparent TCP/IP or a secure TLS operation.
* transparent layer is used.
* @return pointer to new connection object if successful, NULL otherwise.
*/
- virtual DcmTransportConnection *createConnection(int openSocket, OFBool useSecureLayer);
+ virtual DcmTransportConnection *createConnection(DcmNativeSocketType openSocket, OFBool useSecureLayer);
private:
#define DCMTRANS_H
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
#include "dcmtk/ofstd/ofglobal.h" /* for OFGlobal */
#include "dcmtk/ofstd/oftypes.h" /* for OFBool */
#include "dcmtk/ofstd/ofstream.h" /* for ostream */
* the connection must already be established on socket level. This object
* takes over control of the socket.
*/
- DcmTransportConnection(int openSocket);
+ DcmTransportConnection(DcmNativeSocketType openSocket);
/** destructor
*/
/** returns the socket file descriptor managed by this object.
* @return socket file descriptor
*/
- int getSocket() { return theSocket; }
+ DcmNativeSocketType getSocket() { return theSocket; }
/** set the socket file descriptor managed by this object.
* @param socket file descriptor
*/
- void setSocket(int socket) { theSocket = socket; }
+ void setSocket(DcmNativeSocketType socket) { theSocket = socket; }
private:
*/
static OFBool fastSelectReadableAssociation(DcmTransportConnection *connections[], int connCount, int timeout);
- /// the socket file descriptor used by the transport connection.
- int theSocket;
+ /// the socket file descriptor/handle used by the transport connection.
+ DcmNativeSocketType theSocket;
};
* the connection must already be established on socket level. This object
* takes over control of the socket.
*/
- DcmTCPConnection(int openSocket);
+ DcmTCPConnection(DcmNativeSocketType openSocket);
/** destructor
*/
#define INCLUDE_UNISTD
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-/* Use the Grand Unified Sockets Interface (GUSI) on Macintosh */
-#include <GUSI.h>
-#endif
-
#ifdef HAVE_WINDOWS_H
-#include <windows.h> /* this includes either winsock.h or winsock2.h */
-#else
-#ifdef HAVE_WINSOCK_H
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h> /* for Windows defines */
+#elif defined(HAVE_WINSOCK_H)
#include <winsock.h> /* include winsock.h directly i.e. on MacOS */
-#ifdef macintosh
-/*
-** The WinSock header on Macintosh does not declare the WORD type nor the MAKEWORD
-** macro need to initialize the WinSock library.
-*/
-typedef u_short WORD;
-#define MAKEWORD(a,b) ((WORD) (((a)&0xff)<<8) | ((b)&0xff) )
-#endif
-#endif
#endif
BEGIN_EXTERN_C
#ifdef HAVE_PROTOTYPE_FLOCK
#define dcmtk_flock flock
-#define dcmtk_plockerr perror
#endif
#ifndef HAVE_PROTOTYPE_FLOCK
DCMTK_DCMNET_EXPORT int flock(int fd, int operation);
END_EXTERN_C
#define dcmtk_flock flock
-#define dcmtk_plockerr perror
#else
/*
* Simulate the flock function calls
#define LOCK_UN 8 /* unlock */
DCMTK_DCMNET_EXPORT int dcmtk_flock(int fd, int operation);
-DCMTK_DCMNET_EXPORT void dcmtk_plockerr(const char *s);
#endif /* !HAVE_FLOCK */
#endif
#endif /* HAVE_ACCESS */
-#ifndef HAVE_STRERROR
-DCMTK_DCMNET_EXPORT char *strerror(int e);
-#endif
-
#ifdef _WIN32
#define NULL_DEVICE_NAME "nul"
#else
#define NULL_DEVICE_NAME "/dev/null"
#endif
+DCMTK_DCMNET_EXPORT void dcmtk_plockerr(const char *s);
#endif /* DCOMPAT_H */
--- /dev/null
+/*
+ *
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmnet
+ *
+ * Author: Jan Schlamelcher
+ *
+ * Purpose: global type and constant definitions
+ *
+ */
+
+#ifndef DNTYPES_H
+#define DNTYPES_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+#include "dcmtk/ofstd/oftypes.h"
+#include "dcmtk/dcmnet/dndefine.h"
+
+#ifdef _WIN32
+typedef OFuintptr_t DcmNativeSocketType;
+#define DCMNET_INVALID_SOCKET INVALID_SOCKET
+#elif !defined(DOXYGEN)
+typedef int DcmNativeSocketType;
+#define DCMNET_INVALID_SOCKET -1
+#else
+/// The data type for representing a TCP socket that is used by the underlying network API.
+typedef /* unspecified */ DcmNativeSocketType;
+#endif
+
+#endif /* !DNTYPES_H */
#include "dcmtk/dcmnet/extneg.h"
#include "dcmtk/dcmnet/dicom.h"
#include "dcmtk/dcmnet/dcuserid.h"
+#include "dcmtk/dcmnet/dntypes.h"
class DcmTransportConnection;
class DcmTransportLayer;
*/
extern DCMTK_DCMNET_EXPORT OFGlobal<OFBool> dcmDisableGethostbyaddr; /* default: OFFalse */
-/** Global flag specifying whether to reject presentation contexts in case of an
- * unsuccessful SCP/SCU role selection (strict) or to return the corresponding
- * user data item with appropriate values (default). This applies to association
- * acceptors only.
- */
-extern DCMTK_DCMNET_EXPORT OFGlobal<OFBool> dcmStrictRoleSelection; /* default: OFFalse */
-
/** Global timeout in seconds for connecting to remote hosts.
* Default value is -1, which selects infinite timeout, i.e. blocking connect().
*/
* will be used by dcmnet the next time receiveTransportConnectionTCP() is called.
* Useful for use with proxy applications, but inherently thread unsafe!
*/
-extern DCMTK_DCMNET_EXPORT OFGlobal<int> dcmExternalSocketHandle; /* default: -1 */
+extern DCMTK_DCMNET_EXPORT OFGlobal<DcmNativeSocketType> dcmExternalSocketHandle; /* default: platform specific value that denotes <i>invalid</i> */
/** When compiled with WITH_TCPWRAPPER, DCMTK server processes may use the TCP
* wrapper library to enforce access control - see hosts_access(5). If this
OFBool useSecureLayer;
} DUL_ASSOCIATESERVICEPARAMETERS;
+/** Enum describing the possible role settings for role negotiation sub items.
+ * DCMTK implements the following role negotiation behaviour for association
+ * acceptors:
+ * @verbatim
+ * +--------------------+------------------+---------+
+ * | Requestor Proposal | Acceptor Setting | Result |
+ * +--------------------+------------------+---------+
+ * | SCU | SCP | NONE |
+ * | SCU | SCU | SCU |
+ * | SCU | SCU/SCP | SCU |
+ * | SCU | DEFAULT | DEFAULT |
+ * | SCP | SCP | SCP |
+ * | SCP | SCU | NONE |
+ * | SCP | SCU/SCP | SCP |
+ * | SCP | DEFAULT | DEFAULT |
+ * | SCU/SCP | SCP | SCP |
+ * | SCU/SCP | SCU | SCU |
+ * | SCU/SCP | SCU/SCP | SCU/SCP |
+ * | SCU/SCP | DEFAULT | DEFAULT |
+ * | DEFAULT | SCP | Reject |
+ * | DEFAULT | SCU | DEFAULT |
+ * | DEFAULT | SCU/SCP | DEFAULT |
+ * | DEFAULT | DEFAULT | DEFAULT |
+ * +--------------------+------------------+---------+
+ * @endverbatim
+ * NONE, SCU, SCP as well as SCU/SCP denote the related flags in the
+ * association role selection user items. The "Reject" case denotes that
+ * such a presentation context will be rejected by the association acceptor:
+ * If the requestor connects with default role but the acceptor explicitly
+ * requires the SCP role (only) then the presentation context
+ * will be rejected. All other cases do not lead to rejection but to actual
+ * "negotiation".
+ *
+ * The Reject case can be avoided by setting a related option available in
+ * association acceptance code like ASC_acceptPresentationContext() or DcmSCP.
+ * to OFTrue (reading something like "alwaysAcceptDefaultRole" since when enabled,
+ * with the Reject being disabled all Default role proposals will be accepted).
+ * This can make sense for faulty Requestors, e.g. faulty Storage Commitment Servers
+ * connecting on a second connection for delivering an N-EVENT-REPORT, or broken
+ * Retrieve requestors proposing GET-based SOP Classes for retrieval using the Default
+ * role instead of the required SCP role.
+ */
typedef enum {
DUL_SC_ROLE_NONE,
DUL_SC_ROLE_DEFAULT,
*/
#define DUL_DULCOMPAT 2768240730UL
-#define DUL_DIMSECOMPAT 655360UL
+#define DUL_DIMSECOMPAT 786432UL
#define DUL_MAXPDUCOMPAT 4278190335UL
/* Define the function prototypes for this facility.
DCMTK_DCMNET_EXPORT OFBool
DUL_dataWaiting(DUL_ASSOCIATIONKEY * callerAssociation, int timeout);
-DCMTK_DCMNET_EXPORT int
-DUL_networkSocket(DUL_NETWORKKEY * callerNet);
+
+DCMTK_DCMNET_EXPORT DcmNativeSocketType DUL_networkSocket(DUL_NETWORKKEY * callerNet);
+
DCMTK_DCMNET_EXPORT OFBool
DUL_associationWaiting(DUL_NETWORKKEY * callerNet, int timeout);
*/
DCMTK_DCMNET_EXPORT void DUL_markProcessAsForkedChild();
+/** this helper function calls DUL_markProcessAsForkedChild(), then reads
+ * the socket handle from the pipe opened by the parent process and
+ * stores it in the global variable dcmExternalSocketHandle. This is
+ * in most cases everything needed to prepare the network layer to act
+ * as a forked child on Win32. On other operating system, the function does nothing.
+ * @return EC_Normal if successful, an error code otherwise.
+ */
+DCMTK_DCMNET_EXPORT OFCondition DUL_readSocketHandleAsForkedChild();
+
/** this function marks the current process as a multi-process server and enables
* the creation of child processes for each incoming TCP transport connection
* in receiveTransportConnectionTCP().
/*
*
- * Copyright (C) 2009-2016, OFFIS e.V.
+ * Copyright (C) 2009-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* @param abstractSyntax [in] The UID of the abstract syntax (e.g.\ SOP class) to add
* @param xferSyntaxes [in] List of transfer syntaxes (UIDs) that should be supported
* for the given abstract syntax name
- * @param role [in] The role to be negotiated
+ * @param requestorRole [in] The role to be negotiated. This denotes the role of the
+ * the association requestor that this instance should accept, i.e. if
+ * set to ASC_SC_ROLE_SCP it means that the association requestor
+ * is allowed to negotiate the SCP role, thus, that this DcmSCP instance
+ * will be playing the SCU role for this abstract syntax. The default
+ * role (ASC_SC_ROLE_DEFAULT) implicates that this DcmSCP instance
+ * will be allowed to play the SCP role only, i.e. it will acknowledge
+ * such an explicit SCU role request, but also it will accept a proposal
+ * for the abstract syntax with no explicit role being proposed
+ * at all (since per default the requestor is SCU and the acceptor SCP).
* @param profile [in] The profile the abstract syntax should be added to. The
* default is to add it to the DcmSCP's internal standard
* profile called "DEFAULT".
*/
virtual OFCondition addPresentationContext(const OFString &abstractSyntax,
const OFList<OFString> &xferSyntaxes,
- const T_ASC_SC_ROLE role = ASC_SC_ROLE_DEFAULT,
+ const T_ASC_SC_ROLE requestorRole = ASC_SC_ROLE_DEFAULT,
const OFString &profile = "DEFAULT");
/** Set SCP's TCP/IP listening port
*/
void setProgressNotificationMode(const OFBool mode);
+ /** Option to always accept a default role as association acceptor.
+ * If OFFalse (default) the acceptor will reject a presentation context proposed
+ * with Default role (no role selection at all) when it is configured for role
+ * SCP only. If this option is set to OFTrue then such presentation contexts will
+ * be accepted in Default role (i.e. acceptor does not return role selection for
+ * this presentation context at all). Overall, if set to OFTrue, there are no
+ * requestor proposals possible that lead to a complete rejection of a presentation
+ * context. See also role documentation in dul.h.
+ * @param enabled If OFTrue, do not reject Default role proposals when configured
+ * for SCP role. OFFalse (default behaviour): Reject such proposals.
+ */
+ void setAlwaysAcceptDefaultRole(const OFBool enabled);
+
/* Get methods for SCP settings */
/** Returns TCP/IP port number SCP listens for new connection requests
*/
void setProgressNotificationMode(const OFBool mode);
+ /** Option to always accept a default role as association acceptor.
+ * If OFFalse (default) the acceptor will reject a presentation context proposed
+ * with Default role (no role selection at all) when it is configured for role
+ * SCP only. If this option is set to OFTrue then such presentation contexts will
+ * be accepted in Default role (i.e. acceptor does not return role selection for
+ * this presentation context at all). Overall, if set to OFTrue, there are no
+ * requestor proposals possible that lead to a complete rejection of a presentation
+ * context. See also role documentation in dul.h.
+ * @param enabled If OFTrue, do not reject Default role proposals when configured
+ * for SCP role. OFFalse (default behaviour): Reject such proposals.
+ */
+ void setAlwaysAcceptDefaultRole(const OFBool enabled);
+
/* Get methods for SCP settings */
/** Returns TCP/IP port number SCP listens for new connection requests
/*
*
- * Copyright (C) 2008-2015, OFFIS e.V.
+ * Copyright (C) 2008-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* @param abstractSyntax [in] The abstract syntax (UID) to look for
* @param transferSyntax [in] The transfer syntax (UID) to look for. If empty, the transfer
* syntax is not checked.
+ * @param requestorRole [in] The role to look for (denoting the role the association
+ * requestor plays)
* @return Adequate Presentation context ID that can be used. 0 if none found.
*/
T_ASC_PresentationContextID findPresentationContextID(const OFString &abstractSyntax,
- const OFString &transferSyntax);
+ const OFString &transferSyntax,
+ const T_ASC_SC_ROLE requestorRole = ASC_SC_ROLE_DEFAULT);
/** After a successful association negotiation, this function is called to return the
* presentation context ID that best matches the desired abstract syntax and transfer
* - Else then tries to find an explicit VR uncompressed TS presentation context
* - Else then tries to find an implicit VR uncompressed TS presentation context
* - Else finally accepts each matching presentation ctx independent of TS.
+ * @warning This method does not support filtering for a specific role, yet.
* @param abstractSyntax [in] The abstract syntax (UID) to look for
* @param transferSyntax [in] The transfer syntax (UID) to look for. If empty, the transfer
* syntax is not checked.
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/diutil.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/diutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/dccftsmp.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/dccftsmp.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
../include/dcmtk/dcmnet/dccfprmp.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/dccftsmp.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/dccftsmp.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
../include/dcmtk/dcmnet/dccfprmp.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/dccfpcmp.h
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/dccfpcmp.h
dccftsmp.o: dccftsmp.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmnet/dccftsmp.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h
dcmlayer.o: dcmlayer.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
- ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcmtrans.h \
+ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/dcmtrans.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h
dcmtrans.o: dcmtrans.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/dcmnet/dcmlayer.h ../include/dcmtk/dcmnet/dndefine.h \
- ../include/dcmtk/dcmnet/dcompat.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \
../include/dcmtk/dcmnet/cond.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h \
+ ../../ofstd/include/dcmtk/ofstd/oftimer.h
dcompat.o: dcompat.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/diutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h
dcuserid.o: dcuserid.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmnet/dcuserid.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcuid.h dulstruc.h
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../include/dcmtk/dcmnet/dntypes.h dulstruc.h
dfindscu.o: dfindscu.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmnet/dfindscu.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h
dimcmd.o: dimcmd.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h \
- dimcmd.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h dimcmd.h
dimdump.o: dimdump.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h
dimecho.o: dimecho.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h
dimfind.o: dimfind.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h
dimget.o: dimget.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h
dimmove.o: dimmove.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/oftimer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h
dimse.o: dimse.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h \
- dimcmd.h ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h dimcmd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcostrmf.h \
../../dcmdata/include/dcmtk/dcmdata/dcostrma.h
diutil.o: diutil.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \
../include/dcmtk/dcmnet/cond.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dimse.h \
- ../include/dcmtk/dcmnet/scpcfg.h ../include/dcmtk/dcmnet/dcasccff.h \
- ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \
- ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
- ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
- ../include/dcmtk/dcmnet/dccfprmp.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/diutil.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/scpcfg.h \
+ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \
+ ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \
+ ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \
+ ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \
+ ../include/dcmtk/dcmnet/diutil.h
dstorscu.o: dstorscu.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofdatime.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dcasccff.h \
- ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \
- ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
- ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
- ../include/dcmtk/dcmnet/dccfprmp.h ../include/dcmtk/dcmnet/diutil.h
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \
+ ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \
+ ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \
+ ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \
+ ../include/dcmtk/dcmnet/diutil.h
dul.o: dul.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h \
- dulstruc.h dulpriv.h dulfsm.h ../include/dcmtk/dcmnet/dcmtrans.h \
- ../include/dcmtk/dcmnet/dcmlayer.h \
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h dulstruc.h dulpriv.h dulfsm.h \
+ ../include/dcmtk/dcmnet/dcmtrans.h ../include/dcmtk/dcmnet/dcmlayer.h \
../../ofstd/include/dcmtk/ofstd/ofnetdb.h
dulconst.o: dulconst.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/diutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h \
- dulstruc.h dulpriv.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h dulstruc.h dulpriv.h
dulextra.o: dulextra.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- dulstruc.h dulpriv.h ../include/dcmtk/dcmnet/dcmtrans.h \
- ../include/dcmtk/dcmnet/dcmlayer.h ../include/dcmtk/dcmnet/diutil.h \
+ ../include/dcmtk/dcmnet/dntypes.h dulstruc.h dulpriv.h \
+ ../include/dcmtk/dcmnet/dcmtrans.h ../include/dcmtk/dcmnet/dcmlayer.h \
+ ../include/dcmtk/dcmnet/diutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- dulstruc.h dulpriv.h dulfsm.h ../include/dcmtk/dcmnet/assoc.h \
- ../include/dcmtk/dcmnet/dcmtrans.h ../include/dcmtk/dcmnet/dcmlayer.h \
- ../include/dcmtk/dcmnet/diutil.h \
+ ../include/dcmtk/dcmnet/dntypes.h dulstruc.h dulpriv.h dulfsm.h \
+ ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dcmtrans.h \
+ ../include/dcmtk/dcmnet/dcmlayer.h ../include/dcmtk/dcmnet/diutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/diutil.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/diutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- dulstruc.h dulpriv.h dulfsm.h
+ ../include/dcmtk/dcmnet/dntypes.h dulstruc.h dulpriv.h dulfsm.h
extneg.o: extneg.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmnet/extneg.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dimse.h \
- ../include/dcmtk/dcmnet/scpcfg.h ../include/dcmtk/dcmnet/dcasccff.h \
- ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \
- ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
- ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
- ../include/dcmtk/dcmnet/dccfprmp.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/diutil.h \
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/scpcfg.h \
+ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \
+ ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \
+ ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \
+ ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \
+ ../include/dcmtk/dcmnet/diutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcostrmf.h
scpcfg.o: scpcfg.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmnet/scpcfg.h ../include/dcmtk/dcmnet/dcasccff.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/dccftsmp.h \
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/dccftsmp.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
../include/dcmtk/dcmnet/dccfprmp.h ../include/dcmtk/dcmnet/dimse.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmdata/include/dcmtk/dcmdata/dclist.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/diutil.h
+ ../include/dcmtk/dcmnet/diutil.h
scppool.o: scppool.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmnet/scppool.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dimse.h \
- ../include/dcmtk/dcmnet/scpcfg.h ../include/dcmtk/dcmnet/dcasccff.h \
- ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \
- ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
- ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
- ../include/dcmtk/dcmnet/dccfprmp.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/diutil.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/scpcfg.h \
+ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \
+ ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \
+ ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \
+ ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \
+ ../include/dcmtk/dcmnet/diutil.h
scpthrd.o: scpthrd.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmnet/scpthrd.h ../include/dcmtk/dcmnet/scp.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dimse.h \
- ../include/dcmtk/dcmnet/scpcfg.h ../include/dcmtk/dcmnet/dcasccff.h \
- ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \
- ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
- ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
- ../include/dcmtk/dcmnet/dccfprmp.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/diutil.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/scpcfg.h \
+ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \
+ ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \
+ ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \
+ ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \
+ ../include/dcmtk/dcmnet/diutil.h
scu.o: scu.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmnet/scu.h ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
- ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dcasccff.h \
- ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \
- ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
- ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
- ../include/dcmtk/dcmnet/dccfprmp.h ../include/dcmtk/dcmnet/diutil.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcostrmf.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h
+ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \
+ ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \
+ ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \
+ ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \
+ ../include/dcmtk/dcmnet/diutil.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrmf.h
*/
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#ifdef HAVE_WINDOWS_H
+// on Windows, we need Winsock2 for network functions
+#include <winsock2.h>
+#endif
+
#include "dcmtk/dcmnet/assoc.h" /* always include the module header */
#include "dcmtk/dcmnet/diutil.h"
OFFIS_DTK_IMPLEMENTATION_VERSION_NAME,
sizeof((*params)->ourImplementationVersionName)-1);
- strcpy((*params)->DULparams.callingImplementationClassUID,
- (*params)->ourImplementationClassUID);
- strcpy((*params)->DULparams.callingImplementationVersionName,
- (*params)->ourImplementationVersionName);
+ if (strlen(OFFIS_DTK_IMPLEMENTATION_VERSION_NAME) > 16)
+ {
+ DCMNET_WARN("DICOM implementation version name too long: " << OFFIS_DTK_IMPLEMENTATION_VERSION_NAME);
+ }
+
+ OFStandard::strlcpy((*params)->DULparams.callingImplementationClassUID,
+ (*params)->ourImplementationClassUID, DICOM_UI_LENGTH + 1);
+ OFStandard::strlcpy((*params)->DULparams.callingImplementationVersionName,
+ (*params)->ourImplementationVersionName, 16+1);
strncpy((*params)->DULparams.applicationContextName,
UID_StandardApplicationContext,
return ar;
}
-static DUL_SC_ROLE
-ascRole2dulRole(T_ASC_SC_ROLE role)
+DUL_SC_ROLE
+ascRole2dulRole(const T_ASC_SC_ROLE role)
{
DUL_SC_ROLE dr = DUL_SC_ROLE_DEFAULT;
switch (role) {
}
const char*
-ASC_role2String(T_ASC_SC_ROLE role)
+ASC_role2String(const T_ASC_SC_ROLE role)
{
const char* s = NULL;
switch (role) {
T_ASC_Parameters * params,
T_ASC_PresentationContextID presentationContextID,
const char* transferSyntax,
- T_ASC_SC_ROLE acceptedRole)
+ T_ASC_SC_ROLE acceptedRole,
+ const OFBool alwaysAcceptDefaultRole)
/*
* The presentation context will be marked as accepted and the provided
* transfer syntax name chosen.
proposedContext->result = ASC_P_ACCEPTANCE;
proposedContext->acceptedSCRole = ascRole2dulRole(acceptedRole);
- /* check whether the SCP/SCU role selection is successful */
- if (dcmStrictRoleSelection.get())
+ /* Here we check the only role selection case which leads to clear rejection of the
+ * proposed presentation context: If the requestor connects with default role but the
+ * acceptor explicitly requires the SCP role (only) then the presentation context
+ * will be rejected. All other cases do not lead to rejection but to actual "negotiation".
+ * DCMTK's behaviour can be seen in the delaration of enum DUL_SC_ROLE (see dul.h).
+ * The logic of the role negotiation is implemented in constructSCUSCPRoles() (see dulconst.cc).
+ */
+ if ( (proposedContext->proposedSCRole == DUL_SC_ROLE_DEFAULT)
+ && (proposedContext->acceptedSCRole == DUL_SC_ROLE_SCP) )
{
- if (proposedContext->proposedSCRole != proposedContext->acceptedSCRole)
- {
- if (((proposedContext->proposedSCRole == DUL_SC_ROLE_DEFAULT) && (proposedContext->acceptedSCRole != DUL_SC_ROLE_SCU)) ||
- ((proposedContext->proposedSCRole == DUL_SC_ROLE_SCU) && (proposedContext->acceptedSCRole != DUL_SC_ROLE_DEFAULT)) ||
- ((proposedContext->proposedSCRole != DUL_SC_ROLE_SCUSCP) && (proposedContext->acceptedSCRole != DUL_SC_ROLE_SCUSCP)))
- {
- proposedContext->result = ASC_P_NOREASON;
- DCMNET_ERROR("ASSOC: SCP/SCU role selection failed, proposed ("
- << ASC_role2String(dulRole2ascRole(proposedContext->proposedSCRole))
- << ") and accepted role (" << ASC_role2String(acceptedRole) << ") are incompatible");
- return ASC_SCPSCUROLESELECTIONFAILED;
- }
- }
+ // If user wants to override rejection (e.g. for faulty clients), skip the check but print warning
+ if (alwaysAcceptDefaultRole)
+ {
+ DCMNET_WARN("ASSOC: Deliberately accepting Default role proposed by association requestor, "
+ << "while originally being configured for role SCP only");
+ }
+ else
+ {
+ proposedContext->result = ASC_P_NOREASON;
+ DCMNET_ERROR("ASSOC: SCP/SCU role selection failed, Default role (i.e. SCU) proposed "
+ << "but only SCP role configured for acceptance");
+ return ASC_SCPSCUROLESELECTIONFAILED;
+ }
}
acceptedContext = findPresentationContextID(
<< "Their Implementation Class UID: "
<< params->theirImplementationClassUID << OFendl
<< "Their Implementation Version Name: "
- << params->theirImplementationVersionName << OFendl;
-
- outstream << "Application Context Name: "
+ << params->theirImplementationVersionName << OFendl
+ << "Application Context Name: "
<< params->DULparams.applicationContextName << OFendl
<< "Calling Application Name: "
<< params->DULparams.callingAPTitle << OFendl
<< "Called Application Name: "
<< params->DULparams.calledAPTitle << OFendl
- << "Responding Application Name: "
- << params->DULparams.respondingAPTitle << OFendl;
+ << "Responding Application Name: ";
+
+ // the field "respondingAPTitle" in DULparams exists,
+ // but is never used for network communication because DICOM
+ // requires the responding AE title to be identical to the
+ // called AE title. This rule is enforced on the DUL layer
+ // but not visible here.
+ // To avoid confusion of the user we thus print the called
+ // AE title here (but only if respondingAPTitle is non-empty,
+ // which happens when an incoming association request is
+ // being responded to.
+ if (params->DULparams.respondingAPTitle[0] != '\0')
+ {
+ outstream << params->DULparams.calledAPTitle ;
+ }
- outstream << "Our Max PDU Receive Size: "
+ outstream
+ << OFendl
+ << "Our Max PDU Receive Size: "
<< params->ourMaxPDUReceiveSize << OFendl
<< "Their Max PDU Receive Size: "
<< params->theirMaxPDUReceiveSize << OFendl;
}
#if 0
+ // the following output could be useful for debugging purposes
outstream << "DUL Params --- BEGIN" << OFendl;
- DUL_DumpParams(¶ms->DULparams);
+ outstream << DUL_DumpParams(temp_str, ¶ms->DULparams);
outstream << "DUL Params --- END" << OFendl;
#endif
OFBool
ASC_associationWaiting(T_ASC_Network * network, int timeout)
{
+#ifdef _WIN32
+ SOCKET s;
+#else
int s;
+#endif
struct timeval t;
fd_set fdset;
int nfound;
if (network == NULL) return OFFalse;
s = DUL_networkSocket(network->network);
+
+#ifdef _WIN32
+ if (s == INVALID_SOCKET) return OFFalse;
+#else
if (s < 0)
return OFFalse;
+#endif
FD_ZERO(&fdset);
#ifdef __MINGW32__
t.tv_sec = timeout;
t.tv_usec = 0;
#ifdef HAVE_INTP_SELECT
- nfound = select(s + 1, (int *)(&fdset), NULL, NULL, &t);
+ nfound = select(OFstatic_cast(int, s + 1), (int *)(&fdset), NULL, NULL, &t);
#else
- nfound = select(s + 1, &fdset, NULL, NULL, &t);
+ // the typecast is safe because Windows ignores the first select() parameter anyway
+ nfound = select(OFstatic_cast(int, s + 1), &fdset, NULL, NULL, &t);
#endif
if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
{
(*assoc)->sendPDVBuffer = NULL;
params->DULparams.maxPDU = params->ourMaxPDUReceiveSize;
- strcpy(params->DULparams.callingImplementationClassUID,
- params->ourImplementationClassUID);
- strcpy(params->DULparams.callingImplementationVersionName,
- params->ourImplementationVersionName);
+ OFStandard::strlcpy(params->DULparams.callingImplementationClassUID,
+ params->ourImplementationClassUID, DICOM_UI_LENGTH + 1);
+ OFStandard::strlcpy(params->DULparams.callingImplementationVersionName,
+ params->ourImplementationVersionName, 16+1);
cond = DUL_RequestAssociation(&network->network, block, timeout,
&(*assoc)->params->DULparams,
makeOFConditionConst(DUL_UNEXPECTEDPDU, OFM_dcmnet, DULC_UNEXPECTEDPDU , OF_error, "Received unexpected PDU");
makeOFConditionConst(DUL_UNSUPPORTEDPEERPROTOCOL, OFM_dcmnet, DULC_UNSUPPORTEDPEERPROTOCOL , OF_error, "DUL Unsupported peer protocol");
makeOFConditionConst(DUL_WRONGDATATYPE, OFM_dcmnet, DULC_WRONGDATATYPE , OF_error, "DUL Wrong Data Type Specified for Request");
+makeOFConditionConst(DUL_CANNOTREADSOCKETHANDLE, OFM_dcmnet, DULC_CANNOTREADSOCKETHANDLE , OF_error, "DUL Cannot Read Socket Handle from Pipe");
makeOFConditionConst(NET_EC_InvalidSOPClassUID, OFM_dcmnet, 1000, OF_error, "Invalid SOP Class UID");
makeOFConditionConst(NET_EC_UnknownStorageSOPClass, OFM_dcmnet, 1001, OF_error, "Unknown Storage SOP Class");
/*
*
- * Copyright (C) 2003-2015, OFFIS e.V.
+ * Copyright (C) 2003-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
, roleselection_()
, extneg_()
, profiles_()
+, alwaysAcceptDefaultRole_(OFFalse)
{
}
roleselection_.clear();
extneg_.clear();
profiles_.clear();
+ alwaysAcceptDefaultRole_ = OFFalse;
}
OFCondition DcmAssociationConfiguration::addTransferSyntax(
return roleselection_.add(key, abstractSyntaxUID, role);
}
+OFCondition DcmAssociationConfiguration::createEmptyRoleList(
+ const char* key)
+{
+ return roleselection_.addEmpty(key);
+}
+
OFCondition DcmAssociationConfiguration::addExtendedNegotiation(
const char *key,
const char *abstractSyntaxUID,
found = OFTrue;
result = ASC_acceptPresentationContext(
assoc.params, pc.presentationContextID,
- pc.proposedTransferSyntaxes[j], acceptedRole);
+ pc.proposedTransferSyntaxes[j], acceptedRole, alwaysAcceptDefaultRole_);
// SCP/SCU role selection failed, reject presentation context
if (result == ASC_SCPSCUROLESELECTIONFAILED)
{
return result;
}
+void DcmAssociationConfiguration::setAlwaysAcceptDefaultRole(const OFBool enabled)
+{
+ alwaysAcceptDefaultRole_ = enabled;
+}
+
+
void DcmAssociationConfiguration::dumpProfiles(
STD_NAMESPACE ostream &out,
/*
*
- * Copyright (C) 2003-2010, OFFIS e.V.
+ * Copyright (C) 2003-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
return EC_Normal;
}
+OFCondition DcmRoleSelectionMap::addEmpty(
+ const char *key)
+{
+ if (!key) return EC_IllegalCall;
+ OFString skey(key);
+ OFMap<OFString, DcmRoleSelectionList*>::iterator it = map_.find(skey);
+
+ if (it == map_.end())
+ {
+ DcmRoleSelectionList *newentry = new DcmRoleSelectionList();
+ map_.insert(OFPair<OFString, DcmRoleSelectionList*>(skey, newentry));
+ }
+ return EC_Normal;
+}
+
OFBool DcmRoleSelectionMap::isKnownKey(const char *key) const
{
if (!key) return OFFalse;
/*
*
- * Copyright (C) 1998-2010, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
}
-DcmTransportConnection * DcmTransportLayer::createConnection(int openSocket, OFBool useSecureLayer)
+DcmTransportConnection * DcmTransportLayer::createConnection(DcmNativeSocketType openSocket, OFBool useSecureLayer)
{
if (useSecureLayer) return NULL; /* secure layer connections not supported */
else return new DcmTCPConnection(openSocket);
*/
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#ifdef HAVE_WINDOWS_H
+// on Windows, we need Winsock2 for network functions
+#include <winsock2.h>
+#endif
+
#include "dcmtk/dcmnet/dcmtrans.h"
#include "dcmtk/dcmnet/dcompat.h" /* compatibility code for certain Unix dialects such as SunOS */
#include "dcmtk/dcmnet/diutil.h"
#define INCLUDE_CERRNO
#define INCLUDE_CSIGNAL
#include "dcmtk/ofstd/ofstdinc.h"
+#include "dcmtk/ofstd/oftimer.h"
BEGIN_EXTERN_C
#ifdef HAVE_SYS_TIME_H
#endif
END_EXTERN_C
-#ifdef HAVE_WINDOWS_H
-#include <windows.h>
-#endif
-
-#ifdef HAVE_GUSI_H
-#include <GUSI.h> /* Use the Grand Unified Sockets Interface (GUSI) on Macintosh */
+/* platform independent definition of EINTR */
+enum
+{
+#ifdef HAVE_WINSOCK_H
+ DCMNET_EINTR = WSAEINTR
+#else
+ DCMNET_EINTR = EINTR
#endif
+};
OFGlobal<Sint32> dcmSocketSendTimeout(60);
OFGlobal<Sint32> dcmSocketReceiveTimeout(60);
-DcmTransportConnection::DcmTransportConnection(int openSocket)
+DcmTransportConnection::DcmTransportConnection(DcmNativeSocketType openSocket)
: theSocket(openSocket)
{
-#ifndef HAVE_GUSI_H
if (theSocket >= 0)
{
#ifdef DISABLE_SEND_TIMEOUT
}
}
}
-#endif
}
DcmTransportConnection::~DcmTransportConnection()
OFBool DcmTransportConnection::fastSelectReadableAssociation(DcmTransportConnection *connections[], int connCount, int timeout)
{
+
+#ifdef _WIN32
+ SOCKET socketfd = INVALID_SOCKET;
+ SOCKET maxsocketfd = INVALID_SOCKET;
+#else
int socketfd = -1;
int maxsocketfd = -1;
+#endif
+
int i=0;
struct timeval t;
fd_set fdset;
-
FD_ZERO(&fdset);
- t.tv_sec = timeout;
- t.tv_usec = 0;
+ OFTimer timer;
+ int lTimeout = timeout;
for (i=0; i<connCount; i++)
{
}
}
+ OFBool done = OFFalse;
+ while (!done)
+ {
+ // timeval can be undefined after the call to select, see
+ // http://man7.org/linux/man-pages/man2/select.2.html
+ t.tv_sec = lTimeout;
+ t.tv_usec = 0;
+
#ifdef HAVE_INTP_SELECT
- int nfound = select(maxsocketfd + 1, (int *)(&fdset), NULL, NULL, &t);
+ int nfound = select(OFstatic_cast(int, maxsocketfd + 1), (int *)(&fdset), NULL, NULL, &t);
#else
- int nfound = select(maxsocketfd + 1, &fdset, NULL, NULL, &t);
+ // This is safe because on Win32 the first parameter of select() is ignored anyway
+ int nfound = select(OFstatic_cast(int, maxsocketfd + 1), &fdset, NULL, NULL, &t);
#endif
- if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
- {
- DU_logSelectResult(nfound);
+
+ if (nfound == 0) return OFFalse; // a regular timeout
+ else if (nfound > 0) done = OFTrue; // data available for reading
+ else
+ {
+ // check for interrupt call
+ if (OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR)
+ {
+ int diff = OFstatic_cast(int, timer.getDiff());
+ if (diff < timeout)
+ {
+ lTimeout = timeout - diff;
+ continue; // retry
+ }
+ }
+ else
+ {
+ DCMNET_ERROR("socket select returned with error: " << OFStandard::getLastNetworkErrorCode().message());
+ return OFFalse;
+ }
+ }
}
- if (nfound<=0) return OFFalse; /* none available for reading */
for (i=0; i<connCount; i++)
{
/* ================================================ */
-DcmTCPConnection::DcmTCPConnection(int openSocket)
+DcmTCPConnection::DcmTCPConnection(DcmNativeSocketType openSocket)
: DcmTransportConnection(openSocket)
{
}
ssize_t DcmTCPConnection::read(void *buf, size_t nbyte)
{
#ifdef HAVE_WINSOCK_H
- return recv(getSocket(), (char *)buf, nbyte, 0);
+ return recv(getSocket(), (char *)buf, OFstatic_cast(int, nbyte), 0);
#else
return ::read(getSocket(), (char *)buf, nbyte);
#endif
ssize_t DcmTCPConnection::write(void *buf, size_t nbyte)
{
#ifdef HAVE_WINSOCK_H
- return send(getSocket(), (char *)buf, nbyte, 0);
+ return send(getSocket(), (char *)buf, OFstatic_cast(int, nbyte), 0);
#else
return ::write(getSocket(), (char *)buf, nbyte);
#endif
struct timeval t;
fd_set fdset;
int nfound;
+ OFTimer timer;
+ int lTimeout = timeout;
FD_ZERO(&fdset);
FD_SET(getSocket(), &fdset);
#endif
- t.tv_sec = timeout;
- t.tv_usec = 0;
+ while (1)
+ {
+ // timeval can be undefined after the call to select, see
+ // http://man7.org/linux/man-pages/man2/select.2.html
+ t.tv_sec = lTimeout;
+ t.tv_usec = 0;
#ifdef HAVE_INTP_SELECT
- nfound = select(getSocket() + 1, (int *)(&fdset), NULL, NULL, &t);
+ nfound = select(OFstatic_cast(int, getSocket() + 1), (int *)(&fdset), NULL, NULL, &t);
#else
- nfound = select(getSocket() + 1, &fdset, NULL, NULL, &t);
+ // This is safe because on Win32 the first parameter of select() is ignored anyway
+ nfound = select(OFstatic_cast(int, getSocket() + 1), &fdset, NULL, NULL, &t);
#endif
- if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
- {
- DU_logSelectResult(nfound);
- }
- if (nfound <= 0)
- {
- return OFFalse;
- }
- else
- {
- if (FD_ISSET(getSocket(), &fdset)) return OFTrue;
- else return OFFalse; /* This should not really happen */
+
+ if (nfound < 0)
+ {
+ // check for interrupt call
+ if (OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR)
+ {
+ int diff = OFstatic_cast(int, timer.getDiff());
+ if (diff < timeout)
+ {
+ lTimeout = timeout - diff;
+ continue; // retry
+ }
+ }
+ else
+ {
+ DCMNET_ERROR("socket select returned with error: " << OFStandard::getLastNetworkErrorCode().message());
+ return OFFalse;
+ }
+ }
+ if (nfound == 0)
+ {
+ return OFFalse; // a regular timeout
+ }
+ else
+ {
+ if (FD_ISSET(getSocket(), &fdset)) return OFTrue;
+ else return OFFalse; /* This should not really happen */
+ }
}
+ return OFFalse;
}
OFBool DcmTCPConnection::isTransparentConnection()
#define INCLUDE_CSTDLIB
#define INCLUDE_CSTDIO
#define INCLUDE_CSTRING
-#define INCLUDE_CERRNO
#define INCLUDE_UNISTD
#include "dcmtk/ofstd/ofstdinc.h"
#endif
END_EXTERN_C
-#ifdef HAVE_WINDOWS_H
-#include <windows.h>
-#include <winbase.h>
-#endif
-
/*
* On DEC alpha the linker moans if a library is empty.
* So define a dummy variable.
return 0;
}
-void dcmtk_plockerr(const char *s)
-{
- DCMNET_WARN(s << ": flock not implemented");
-}
-
#else /* macintosh */
#ifdef _WIN32
else return -1; /* unknown lock operation */
}
-void dcmtk_plockerr(const char *s)
-{
- LPVOID lpMsgBuf=NULL;
-
- FormatMessage(
- FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
- NULL,
- GetLastError(),
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
- (LPTSTR) &lpMsgBuf, 0, NULL);
-
- if (lpMsgBuf && s)
- DCMNET_ERROR(s << ": " << (const char*)lpMsgBuf);
- LocalFree(lpMsgBuf);
-}
-
#else /* USE__LOCKING */
/* Note: this alternative emulation of flock() for Win32 uses _locking().
return status;
}
-void dcmtk_plockerr(const char *s)
-{
- char buf[256];
- DCMNET_ERROR(s << ": " << OFStandard::strerror(errno, buf, sizeof(buf)));
-}
-
#endif /* USE__LOCKING */
#else /* _WIN32 */
return result;
}
-void dcmtk_plockerr(const char *s)
-{
- char buf[256];
- DCMNET_ERROR(s << ": " << OFStandard::strerror(errno, buf, sizeof(buf)));
-}
-
#endif /* _WIN32 */
#endif /* macintosh */
#endif /* HAVE_FLOCK */
}
#endif
-#endif
-
-#if 0 // never called, replaced by OFStandard::strerror()
-#ifndef HAVE_STRERROR
+#endif /* HAVE_ACCESS */
-#warning Your system does not seem to have the strerror() function
-
-/*
- * strerror does not appear to be available on SunOs 4.1.3
- */
-char *strerror(int errornum)
+DCMTK_DCMNET_EXPORT void dcmtk_plockerr(const char *s)
{
- static char string[256];
- char *s = NULL;
- /*
- * These are not in the system include files,
- * declare them here.
- */
- extern int sys_nerr;
- extern char *sys_errlist[];
-
- string[0] = '\0';
- if (errornum < 0 || errornum >= sys_nerr) {
- sprintf(string, "Error number: %d", errornum);
- s = string;
- } else {
- s = sys_errlist[errornum];
- }
- return s;
-}
-
-#endif /* ! HAVE_STRERROR */
+#if !defined(HAVE_FLOCK) && defined(macintosh)
+ DCMNET_ERROR(s << ": flock not implemented");
+#else
+ DCMNET_ERROR(s << ": " << OFStandard::getLastSystemErrorCode().message());
#endif
+}
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
#include "dcmtk/dcmnet/dfindscu.h"
#define INCLUDE_CSTDLIB
#define INCLUDE_CSTDARG
#define INCLUDE_CERRNO
#include "dcmtk/ofstd/ofstdinc.h"
-
#include "dcmtk/dcmnet/diutil.h"
#include "dcmtk/dcmdata/dcfilefo.h"
#include "dcmtk/dcmdata/dcdicent.h"
{
T_ASC_Association *assoc = NULL;
T_ASC_Parameters *params = NULL;
- DIC_NODENAME localHost;
DIC_NODENAME peerHost;
OFString temp_str;
/* Figure out the presentation addresses and copy the */
/* corresponding values into the association parameters.*/
- gethostname(localHost, sizeof(localHost) - 1);
sprintf(peerHost, "%s:%d", peer, OFstatic_cast(int, port));
- ASC_setPresentationAddresses(params, localHost, peerHost);
+ ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost);
/* Set the presentation contexts which will be negotiated */
/* when the network connection will be established */
/*
*
- * Copyright (C) 1994-2016, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were partly developed by
#define INCLUDE_CSTDIO
#define INCLUDE_CSTRING
#define INCLUDE_CSTDARG
-#define INCLUDE_CERRNO
#define INCLUDE_UNISTD
#include "dcmtk/ofstd/ofstdinc.h"
{
if (! dcmff.loadFile(dataFileName, EXS_Unknown).good())
{
- char buf[256];
DCMNET_WARN(DIMSE_warn_str(assoc) << "sendMessage: cannot open DICOM file ("
- << dataFileName << "): " << OFStandard::strerror(errno, buf, sizeof(buf)));
+ << dataFileName << "): " << OFStandard::getLastSystemErrorCode().message());
cond = DIMSE_SENDFAILED;
} else {
dataObject = dcmff.getDataset();
metainfo->insert(elem, OFTrue);
const char *version = OFFIS_DTK_IMPLEMENTATION_VERSION_NAME2;
((DcmShortString*)elem)->putString(version);
+
+ if (strlen(OFFIS_DTK_IMPLEMENTATION_VERSION_NAME2) > 16)
+ {
+ DCMNET_WARN("DICOM implementation version name too long: " << OFFIS_DTK_IMPLEMENTATION_VERSION_NAME2);
+ }
} else cond = EC_MemoryExhausted;
if (NULL != (elem = new DcmApplicationEntity(sourceApplicationEntityTitle)))
{
/*
*
- * Copyright (C) 1994-2010, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were partly developed by
if (imageFileTotalBytes > 0) progress.totalBytes = imageFileTotalBytes;
else
{
- if (imageFileName != NULL) progress.totalBytes = OFStandard::getFileSize(imageFileName);
+ if (imageFileName != NULL) progress.totalBytes = OFstatic_cast(long, OFStandard::getFileSize(imageFileName));
else progress.totalBytes = dcmGuessModalityBytes(request->AffectedSOPClassUID);
}
callbackCtx.progress = &progress;
delete filestream;
if (cond != EC_Normal)
{
- if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) unlink(imageFileName);
+ if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) OFStandard::deleteFile(imageFileName);
}
}
}
if (s)
{
- n = strlen(s);
+ n = OFstatic_cast(int, strlen(s));
for (i = n - 1; i >= 0 && isspace(TO_UCHAR(s[i])); i--)
s[i] = '\0';
}
int i, j, n;
if (s == NULL) return;
- n = strlen(s);
+ n = OFstatic_cast(int, strlen(s));
if (n == 0) return;
if (!isspace(TO_UCHAR(s[0]))) return; /* no leading space */
/* gracefully correct space-padded UID strings */
int slength;
- if ((0 < (slength=strlen(sopClass)))&&(sopClass[slength-1]==' '))
+ if ((0 < (slength=OFstatic_cast(int, strlen(sopClass))))&&(sopClass[slength-1]==' '))
sopClass[slength-1]=0;
- if ((0 < (slength=strlen(sopInstance)))&&(sopInstance[slength-1]==' '))
+ if ((0 < (slength=OFstatic_cast(int, strlen(sopInstance))))&&(sopInstance[slength-1]==' '))
sopInstance[slength-1]=0;
}
return result;
/*
*
- * Copyright (C) 2013-2014, OFFIS e.V.
+ * Copyright (C) 2013-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
} else {
DCMNET_ERROR("cannot store received object: " << filename << ": " << status.text());
statusCode = STATUS_STORE_Refused_OutOfResources;
+
+ // delete incomplete file
+ OFStandard::deleteFile(filename);
}
} else {
DCMNET_ERROR("cannot create directory for received object: " << directoryName << ": " << status.text());
void DcmStorageSCU::notifySOPInstanceToBeSent(const TransferEntry & /*transferEntry*/)
{
- // avoid compiler warning
- (void)transferEntry;
// do nothing in the default implementation
}
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#ifdef HAVE_WINDOWS_H
+#include <winsock2.h> /* for SO_EXCLUSIVEADDRUSE */
+#endif
+
#include "dcmtk/dcmnet/diutil.h"
#define INCLUDE_CSTDLIB
#endif
END_EXTERN_C
-#ifdef HAVE_GUSI_H
-#include <GUSI.h> /* Use the Grand Unified Sockets Interface (GUSI) on Macintosh */
-#endif
-
#include "dcmtk/ofstd/ofstream.h"
#include "dcmtk/dcmnet/dcompat.h"
#include "dcmtk/dcmnet/dicom.h"
#include "dcmtk/ofstd/ofnetdb.h"
OFGlobal<OFBool> dcmDisableGethostbyaddr(OFFalse);
-OFGlobal<OFBool> dcmStrictRoleSelection(OFFalse);
OFGlobal<Sint32> dcmConnectionTimeout(-1);
-OFGlobal<int> dcmExternalSocketHandle(-1);
+OFGlobal<DcmNativeSocketType> dcmExternalSocketHandle(DCMNET_INVALID_SOCKET);
OFGlobal<const char *> dcmTCPWrapperDaemonName((const char *)NULL);
OFGlobal<unsigned long> dcmEnableBackwardCompatibility(0);
get_association_parameter(void *paramAddress,
DUL_DATA_TYPE paramType, size_t paramLength,
DUL_DATA_TYPE outputType, void *outputAddress, size_t outputLength);
+
+#ifdef _WIN32
+static void setTCPBufferLength(SOCKET sock);
+#else
static void setTCPBufferLength(int sock);
+#endif
+
static OFCondition checkNetwork(PRIVATE_NETWORKKEY ** networkKey);
static OFCondition checkAssociation(PRIVATE_ASSOCIATIONKEY ** association);
static OFString dump_presentation_ctx(LST_HEAD ** l);
processIsForkedChild = OFTrue;
}
+OFCondition DUL_readSocketHandleAsForkedChild()
+{
+ OFCondition result = EC_Normal;
+
+#ifdef _WIN32
+ // we are a child process
+ DUL_markProcessAsForkedChild();
+
+ char buf[256];
+ DWORD bytesRead = 0;
+ HANDLE hStdIn = GetStdHandle(STD_INPUT_HANDLE);
+
+ // read socket handle number from stdin, i.e. the anonymous pipe
+ // to which our parent process has written the handle number.
+ if (ReadFile(hStdIn, buf, sizeof(buf) - 1, &bytesRead, NULL))
+ {
+ // make sure buffer is zero terminated
+ buf[bytesRead] = '\0';
+ unsigned __int64 socketHandle = 0;
+ sscanf(buf, "%llu", &socketHandle);
+ // socketHandle is always 64-bit because we always use this type to
+ // pass the handle between parent and chile. Type DcmNativeSocketType
+ // can be 32-bit on a 32-bit Windows, however. We, therefore, cast to the
+ // appropriate type. This is safe because the handle in the parent
+ // also had type DcmNativeSocketType.
+ dcmExternalSocketHandle.set(OFstatic_cast(DcmNativeSocketType, socketHandle));
+ }
+ else
+ {
+ DCMNET_ERROR("cannot read socket handle: " << GetLastError());
+ result = DUL_CANNOTREADSOCKETHANDLE;
+ }
+#endif
+
+ return result;
+}
+
+
void DUL_requestForkOnTransportConnectionReceipt(int argc, char *argv[])
{
shouldFork = OFTrue;
DUL_ABORTITEMS abortItems = { 0, DUL_SCU_INITIATED_ABORT, 0 };
int event = 0;
unsigned char pduType = 0;
+ OFCondition tcpError = makeDcmnetCondition(DULC_TCPIOERROR, OF_error, "");
PRIVATE_ASSOCIATIONKEY ** association = (PRIVATE_ASSOCIATIONKEY **) callerAssociation;
OFCondition cond = checkAssociation(association);
else event = INVALID_PDU;
cond = PRV_StateMachine(NULL, association, event, (*association)->protocolState, NULL);
}
- if (cond.good()) done = OFTrue;
+ // the comparison with tcpError prevents a potential infinite loop if
+ // we are receiving garbage over the network connection.
+ if (cond.good() || (cond == tcpError)) done = OFTrue;
}
return EC_Normal;
}
int reuse = 1;
+#ifdef _WIN32
+ SOCKET sock = dcmExternalSocketHandle.get();
+ if (sock != INVALID_SOCKET)
+#else
int sock = dcmExternalSocketHandle.get();
if (sock > 0)
+#endif
{
// use the socket file descriptor provided to us externally
// instead of calling accept().
len = sizeof(from);
if (getpeername(sock, &from, &len))
{
- char buf[256];
OFOStringStream stream;
- stream << "TCP Initialization Error: " << OFStandard::strerror(errno, buf, sizeof(buf))
+ stream << "TCP Initialization Error: " << OFStandard::getLastNetworkErrorCode().message()
<< ", getpeername failed on socket " << sock << OFStringStream_ends;
OFSTRINGSTREAM_GETOFSTRING(stream, msg)
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
timeout_val.tv_sec = timeout;
timeout_val.tv_usec = 0;
#ifdef HAVE_INTP_SELECT
- nfound = select((*network)->networkSpecific.TCP.listenSocket + 1,
- (int *)(&fdset), NULL, NULL, &timeout_val);
+ nfound = select(
+ OFstatic_cast(int, (*network)->networkSpecific.TCP.listenSocket + 1),
+ (int *)(&fdset), NULL, NULL, &timeout_val);
#else
- nfound = select((*network)->networkSpecific.TCP.listenSocket + 1,
- &fdset, NULL, NULL, &timeout_val);
+ // On Win32, it is safe to cast the first parameter to int
+ // because Windows ignores this parameter anyway.
+ nfound = select(
+ OFstatic_cast(int, (*network)->networkSpecific.TCP.listenSocket + 1),
+ &fdset, NULL, NULL, &timeout_val);
#endif
if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
{
timeout_val.tv_sec = 5;
timeout_val.tv_usec = 0;
#ifdef HAVE_INTP_SELECT
- nfound = select((*network)->networkSpecific.TCP.listenSocket + 1,
+ nfound = select(
+ OFstatic_cast(int, (*network)->networkSpecific.TCP.listenSocket + 1),
(int *)(&fdset), NULL, NULL, &timeout_val);
#else
- nfound = select((*network)->networkSpecific.TCP.listenSocket + 1,
+ // On Win32, it is safe to cast the first parameter to int
+ // because Windows ignores this parameter anyway.
+ nfound = select(
+ OFstatic_cast(int, (*network)->networkSpecific.TCP.listenSocket + 1),
&fdset, NULL, NULL, &timeout_val);
#endif
if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
do
{
sock = accept((*network)->networkSpecific.TCP.listenSocket, &from, &len);
+#ifdef _WIN32
+ } while (sock == INVALID_SOCKET && WSAGetLastError() == WSAEINTR);
+ if (sock == INVALID_SOCKET)
+#else
} while (sock == -1 && errno == EINTR);
-
if (sock < 0)
+#endif
{
- char buf[256];
OFOStringStream stream;
- stream << "TCP Initialization Error: " << OFStandard::strerror(errno, buf, sizeof(buf))
+ stream << "TCP Initialization Error: " << OFStandard::getLastNetworkErrorCode().message()
<< ", accept failed on socket " << sock << OFStringStream_ends;
OFSTRINGSTREAM_GETOFSTRING(stream, msg)
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
// fork failed, return error code
close(sock);
- char buf[256];
OFString msg = "Multi-Process Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastSystemErrorCode().message();
msg += ", fork failed";
return makeDcmnetCondition(DULC_CANNOTFORK, OF_error, msg.c_str());
}
*/
cmdLine += " \"";
cmdLine += command_argv[i];
+ /* if last character in argument value is a backslash, escape it
+ * since otherwise it would escape the quote appended in the following
+ * step, i.e. make sure that something like '\my\dir\' does not become
+ * '"\my\dir\"' but instead ends up as '"\my\dir\\"' (single quotes for
+ * demonstration purposes). Make sure nobody passes a zero length string.
+ */
+ size_t len = strlen(command_argv[i]);
+ if ((len > 0) && (command_argv[i][len - 1] == '\\'))
+ {
+ cmdLine += "\\";
+ }
cmdLine += "\"";
}
// send number of socket handle in child process over anonymous pipe
DWORD bytesWritten;
- char buf[20];
- sprintf(buf, "%i", OFstatic_cast(int, OFreinterpret_cast(size_t, childSocketHandle)));
- if (!WriteFile(hChildStdInWriteDup, buf, strlen(buf) + 1, &bytesWritten, NULL))
+ char buf[30];
+ // we pass the socket handle as a 64-bit unsigned integer, which should work for 32 and 64 bit Windows
+ sprintf(buf, "%llu", OFreinterpret_cast(unsigned __int64, childSocketHandle));
+ if (!WriteFile(hChildStdInWriteDup, buf, OFstatic_cast(DWORD, strlen(buf) + 1), &bytesWritten, NULL))
{
CloseHandle(hChildStdInWriteDup);
return makeDcmnetCondition(DULC_CANNOTFORK, OF_error, "Multi-Process Error: Writing to anonymous pipe failed");
}
#endif
-#ifndef HAVE_GUSI_H
- /* GUSI always returns an error for setsockopt() */
sockarg.l_onoff = 0;
if (setsockopt(sock, SOL_SOCKET, SO_LINGER, (char *) &sockarg, sizeof(sockarg)) < 0)
{
- char buf[256];
OFOStringStream stream;
- stream << "TCP Initialization Error: " << OFStandard::strerror(errno, buf, sizeof(buf))
+ stream << "TCP Initialization Error: " << OFStandard::getLastNetworkErrorCode().message()
<< ", setsockopt failed on socket " << sock << OFStringStream_ends;
OFSTRINGSTREAM_GETOFSTRING(stream, msg)
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
reuse = 1;
+
+#ifdef _WIN32
+ if (setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, (char *) &reuse, sizeof(reuse)) < 0)
+#else
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *) &reuse, sizeof(reuse)) < 0)
+#endif
{
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
-#endif
setTCPBufferLength(sock);
/*
#endif
if (setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&tcpNoDelay, sizeof(tcpNoDelay)) < 0)
{
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
#ifdef DISABLE_NAGLE_ALGORITHM
#else
(void) close(sock);
#endif
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
(*key)->networkSpecific.TCP.tLayer = NULL;
(*key)->networkSpecific.TCP.tLayerOwned = 0;
(*key)->networkSpecific.TCP.port = -1;
+#ifdef _WIN32
+ (*key)->networkSpecific.TCP.listenSocket = INVALID_SOCKET;
+#else
(*key)->networkSpecific.TCP.listenSocket = -1;
+#endif
// Create listen socket if we're an application acceptor,
// unless the socket handle has already been passed to us or
// we are a forked child of an application acceptor, in which
// case the socket also already exists.
+#ifdef _WIN32
+ if ((dcmExternalSocketHandle.get() == INVALID_SOCKET) &&
+#else
if ((dcmExternalSocketHandle.get() < 0) &&
+#endif
((*key)->applicationFunction & DICOM_APPLICATION_ACCEPTOR) &&
(! processIsForkedChild))
{
#else
size_t length;
#endif
+
+#ifdef _WIN32
+ SOCKET sock;
+#else
int sock;
+#endif
struct sockaddr_in server;
/* Create socket for Internet type communication */
(*key)->networkSpecific.TCP.port = *(int *) parameter;
(*key)->networkSpecific.TCP.listenSocket = socket(AF_INET, SOCK_STREAM, 0);
sock = (*key)->networkSpecific.TCP.listenSocket;
+
+#ifdef _WIN32
+ if (sock == INVALID_SOCKET)
+#else
if (sock < 0)
+#endif
{
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
reuse = 1;
-#ifdef HAVE_GUSI_H
- /* GUSI always returns an error for setsockopt(...) */
+#ifdef _WIN32
+ if (setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, (char *) &reuse, sizeof(reuse)) < 0)
#else
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *) &reuse, sizeof(reuse)) < 0)
+#endif
{
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
-#endif
+
/* Name socket using wildcards */
server.sin_family = AF_INET;
server.sin_addr.s_addr = INADDR_ANY;
server.sin_port = (unsigned short) htons((*key)->networkSpecific.TCP.port);
if (bind(sock, (struct sockaddr *) & server, sizeof(server)))
{
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
/* Find out assigned port number and print it out */
length = sizeof(server);
if (getsockname(sock, (struct sockaddr *) &server, &length))
{
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
-#ifdef HAVE_GUSI_H
- /* GUSI always returns an error for setsockopt(...) */
-#else
sockarg.l_onoff = 0;
if (setsockopt(sock, SOL_SOCKET, SO_LINGER, (char *) &sockarg, sizeof(sockarg)) < 0)
{
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
-#endif
+
/* Listen on the socket */
if (listen(sock, PRV_LISTENBACKLOG) < 0)
{
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
}
** Algorithm:
** Description of the algorithm (optional) and any other notes.
*/
-static void
-setTCPBufferLength(int sock)
+#ifdef _WIN32
+static void setTCPBufferLength(SOCKET sock)
+#else
+static void setTCPBufferLength(int sock)
+#endif
{
char *TCPBufferLength;
int bufLen;
-#ifdef HAVE_GUSI_H
- /* GUSI always returns an error for setsockopt(...) */
-#else
/*
* check whether environment variable TCP_BUFFER_LENGTH is set.
* If not, the the operating system is responsible for selecting
DCMNET_WARN("DUL: cannot parse environment variable TCP_BUFFER_LENGTH=" << TCPBufferLength);
} else
DCMNET_TRACE(" environment variable TCP_BUFFER_LENGTH not set, using the system defaults");
-#endif // HAVE_GUSI_H
}
OFOStringStream str;
OFString temp_str;
- str << "APP CTX NAME:" << params->applicationContextName << OFendl;
- str << dump_uid(params->applicationContextName, "%13s");
+ str << "APP CTX NAME: " << params->applicationContextName << OFendl;
+ str << dump_uid(params->applicationContextName, "%14s") << OFendl;
str << "AP TITLE: " << params->callingAPTitle << OFendl
<< "AP TITLE: " << params->calledAPTitle << OFendl
<< "AP TITLE: " << params->respondingAPTitle << OFendl
<< "PRES ADDR: " << params->callingPresentationAddress << OFendl
<< "PRES ADDR: " << params->calledPresentationAddress << OFendl
<< "REQ IMP UID: " << params->callingImplementationClassUID << OFendl;
- str << dump_uid(params->callingImplementationClassUID, "%13s");
+ str << dump_uid(params->callingImplementationClassUID, "%14s") << OFendl;
str << "REQ VERSION: " << params->callingImplementationVersionName << OFendl
<< "ACC IMP UID: " << params->calledImplementationClassUID << OFendl;
- str << dump_uid(params->calledImplementationClassUID, "%13s");
+ str << dump_uid(params->calledImplementationClassUID, "%14s") << OFendl;
str << "ACC VERSION: " << params->calledImplementationVersionName << OFendl
<< "Requested Presentation Ctx" << OFendl;
str << dump_presentation_ctx(¶ms->requestedPresentationContext);
(void) LST_Position(l, (LST_NODE*)ctx);
while (ctx != NULL) {
- str << " Context ID: " << ctx->presentationContextID << OFendl
- << " Abstract Syntax: " << ctx->abstractSyntax << OFendl;
- str << dump_uid(ctx->abstractSyntax, "%24s");
- str << " Result field: " << (int) ctx->result << OFendl;
+ str << " Context ID: " << (int)ctx->presentationContextID << OFendl
+ << " Abstract Syntax: " << ctx->abstractSyntax << OFendl;
+ str << dump_uid(ctx->abstractSyntax, "%25s") << OFendl;
+ str << " Result field: " << (int) ctx->result << OFendl;
for (l_index = 0; l_index < (int) DIM_OF(scMap); l_index++) {
if (ctx->proposedSCRole == scMap[l_index].role)
- str << " Proposed SCU/SCP Role: " << scMap[l_index].text << OFendl;
+ str << " Proposed SCU/SCP Role: " << scMap[l_index].text << OFendl;
}
for (l_index = 0; l_index < (int) DIM_OF(scMap); l_index++) {
if (ctx->acceptedSCRole == scMap[l_index].role)
- str << " Accepted SCU/SCP Role: " << scMap[l_index].text << OFendl;
+ str << " Accepted SCU/SCP Role: " << scMap[l_index].text << OFendl;
}
str << " Proposed Xfer Syntax(es)" << OFendl;
if (ctx->proposedTransferSyntax != NULL) {
(void) LST_Position(&ctx->proposedTransferSyntax, (LST_NODE*)transfer);
while (transfer != NULL) {
- str << " " << transfer->transferSyntax << OFendl;
- str << dump_uid(transfer->transferSyntax, "%18s");
+ str << " " << transfer->transferSyntax << OFendl;
+ str << dump_uid(transfer->transferSyntax, "%25s") << OFendl;
transfer = (DUL_TRANSFERSYNTAX*)LST_Next(&ctx->proposedTransferSyntax);
}
}
- str << " Accepted Xfer Syntax: " << ctx->acceptedTransferSyntax << OFendl;
- str << dump_uid(ctx->acceptedTransferSyntax, "%24s");
+ str << " Accepted Xfer Syntax: " << ctx->acceptedTransferSyntax << OFendl;
+ str << dump_uid(ctx->acceptedTransferSyntax, "%25s") << OFendl;
ctx = (DUL_PRESENTATIONCONTEXT*)LST_Next(l);
}
presentationCtx = (DUL_PRESENTATIONCONTEXT*)LST_Next(¶ms->requestedPresentationContext);
}
} else { // type != DUL_TYPEASSOCIATERQ
+ /* The implemented behaviour is documented in dul.h (see DUL_SC_ROLE enum definition).
+ * The error case is already handled in ASC_acceptPresentationContext() in assoc.cc.
+ */
presentationCtx = params->acceptedPresentationContext != NULL ?
(DUL_PRESENTATIONCONTEXT*)LST_Head(¶ms->acceptedPresentationContext) :
(DUL_PRESENTATIONCONTEXT*)NULL;
/*
*
- * Copyright (C) 1994-2010, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were partly developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+#ifdef HAVE_WINDOWS_H
+// on Windows, we need Winsock2 for network functions
+#include <winsock2.h>
+#endif
+
#define INCLUDE_CSTDLIB
#define INCLUDE_CSTDIO
#define INCLUDE_CSTRING
else return ((PRIVATE_ASSOCIATIONKEY *)callerAssociation)->connection;
}
-int
-DUL_networkSocket(DUL_NETWORKKEY * callerNet)
+DcmNativeSocketType DUL_networkSocket(DUL_NETWORKKEY * callerNet)
{
- if (callerNet == NULL) return -1;
+ if (callerNet == NULL) return DCMNET_INVALID_SOCKET;
PRIVATE_NETWORKKEY *net = (PRIVATE_NETWORKKEY*)callerNet;
return net->networkSpecific.TCP.listenSocket;
}
DUL_associationWaiting(DUL_NETWORKKEY * callerNet, int timeout)
{
PRIVATE_NETWORKKEY *net;
- int s;
- OFBool assocWaiting = OFFalse;
+ DcmNativeSocketType s;
+ OFBool assocWaiting = OFFalse;
struct timeval t;
fd_set fdset;
int nfound;
s = net->networkSpecific.TCP.listenSocket;
FD_ZERO(&fdset);
-#ifdef __MINGW32__
- // on MinGW, FD_SET expects an unsigned first argument
- FD_SET((unsigned int) s, &fdset);
-#else
FD_SET(s, &fdset);
-#endif
t.tv_sec = timeout;
t.tv_usec = 0;
#ifdef HAVE_INTP_SELECT
- nfound = select(s + 1, (int *)(&fdset), NULL, NULL, &t);
+ nfound = select(OFstatic_cast(int, s + 1), (int *)(&fdset), NULL, NULL, &t);
#else
- nfound = select(s + 1, &fdset, NULL, NULL, &t);
+ // This is safe because on Windows the first select() parameter is ignored anyway
+ nfound = select(OFstatic_cast(int, s + 1), &fdset, NULL, NULL, &t);
#endif
if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
{
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+#ifdef HAVE_WINDOWS_H
+// on Windows, we need Winsock2 for network functions
+#include <winsock2.h>
+#endif
+
#define INCLUDE_CSTDLIB
#define INCLUDE_CSTDIO
#define INCLUDE_CSTRING
#endif
END_EXTERN_C
-#ifdef HAVE_GUSI_H
-#include <GUSI.h> /* Use the Grand Unified Sockets Interface (GUSI) on Macintosh */
-#endif
-
#include "dcmtk/ofstd/ofstream.h"
#include "dcmtk/dcmnet/dicom.h"
#include "dcmtk/dcmnet/lst.h"
#define INADDR_NONE 0xffffffff
#endif
+/* platform independent definition of EINTR */
+enum
+{
+#ifdef HAVE_WINSOCK_H
+ DCMNET_EINTR = WSAEINTR
+#else
+ DCMNET_EINTR = EINTR
+#endif
+};
+
static OFCondition
AE_1_TransportConnect(PRIVATE_NETWORKKEY ** network,
PRIVATE_ASSOCIATIONKEY ** association, int nextState, void *params);
static OFString dump_pdu(const char *type, void *buffer, unsigned long length);
+#ifdef _WIN32
+static void setTCPBufferLength(SOCKET sock);
+#else
static void setTCPBufferLength(int sock);
+#endif
+
OFCondition
translatePresentationContextList(LST_HEAD ** internalList,
LST_HEAD ** SCUSCPRoleList,
static FSM_ENTRY StateTable[DUL_NUMBER_OF_EVENTS][DUL_NUMBER_OF_STATES] = {
{
+ // EVENT, STATE, ACTION, NEXT_STATE
{A_ASSOCIATE_REQ_LOCAL_USER, STATE1, AE_1, STATE4, "", "", NULL},
{A_ASSOCIATE_REQ_LOCAL_USER, STATE2, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_REQ_LOCAL_USER, STATE3, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_REQ_LOCAL_USER, STATE10, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_REQ_LOCAL_USER, STATE11, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_REQ_LOCAL_USER, STATE12, NOACTION, NOSTATE, "", "", NULL},
- {A_ASSOCIATE_REQ_LOCAL_USER, STATE13, NOACTION, NOSTATE, "", "", NULL}},
+ {A_ASSOCIATE_REQ_LOCAL_USER, STATE13, NOACTION, NOSTATE, "", "", NULL}},
{
{TRANS_CONN_CONFIRM_LOCAL_USER, STATE1, NOACTION, NOSTATE, "", "", NULL},
{TRANS_CONN_CONFIRM_LOCAL_USER, STATE10, NOACTION, NOSTATE, "", "", NULL},
{TRANS_CONN_CONFIRM_LOCAL_USER, STATE11, NOACTION, NOSTATE, "", "", NULL},
{TRANS_CONN_CONFIRM_LOCAL_USER, STATE12, NOACTION, NOSTATE, "", "", NULL},
- {TRANS_CONN_CONFIRM_LOCAL_USER, STATE13, NOACTION, NOSTATE, "", "", NULL}},
+ {TRANS_CONN_CONFIRM_LOCAL_USER, STATE13, NOACTION, NOSTATE, "", "", NULL}},
{
{A_ASSOCIATE_AC_PDU_RCV, STATE1, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_AC_PDU_RCV, STATE10, AA_8, STATE13, "", "", NULL},
{A_ASSOCIATE_AC_PDU_RCV, STATE11, AA_8, STATE13, "", "", NULL},
{A_ASSOCIATE_AC_PDU_RCV, STATE12, AA_8, STATE13, "", "", NULL},
- {A_ASSOCIATE_AC_PDU_RCV, STATE13, AA_6, STATE13, "", "", NULL}},
+ {A_ASSOCIATE_AC_PDU_RCV, STATE13, AA_6, STATE13, "", "", NULL}},
{
{A_ASSOCIATE_RJ_PDU_RCV, STATE1, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_RJ_PDU_RCV, STATE10, AA_8, STATE13, "", "", NULL},
{A_ASSOCIATE_RJ_PDU_RCV, STATE11, AA_8, STATE13, "", "", NULL},
{A_ASSOCIATE_RJ_PDU_RCV, STATE12, AA_8, STATE13, "", "", NULL},
- {A_ASSOCIATE_RJ_PDU_RCV, STATE13, AA_6, STATE13, "", "", NULL}},
+ {A_ASSOCIATE_RJ_PDU_RCV, STATE13, AA_6, STATE13, "", "", NULL}},
{
{TRANS_CONN_INDICATION, STATE1, AE_5, STATE2, "", "", NULL},
{TRANS_CONN_INDICATION, STATE10, NOACTION, NOSTATE, "", "", NULL},
{TRANS_CONN_INDICATION, STATE11, NOACTION, NOSTATE, "", "", NULL},
{TRANS_CONN_INDICATION, STATE12, NOACTION, NOSTATE, "", "", NULL},
- {TRANS_CONN_INDICATION, STATE13, NOACTION, NOSTATE, "", "", NULL}},
+ {TRANS_CONN_INDICATION, STATE13, NOACTION, NOSTATE, "", "", NULL}},
{
{A_ASSOCIATE_RQ_PDU_RCV, STATE1, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_RQ_PDU_RCV, STATE10, AA_8, STATE13, "", "", NULL},
{A_ASSOCIATE_RQ_PDU_RCV, STATE11, AA_8, STATE13, "", "", NULL},
{A_ASSOCIATE_RQ_PDU_RCV, STATE12, AA_8, STATE13, "", "", NULL},
- {A_ASSOCIATE_RQ_PDU_RCV, STATE13, AA_7, STATE13, "", "", NULL}},
+ {A_ASSOCIATE_RQ_PDU_RCV, STATE13, AA_7, STATE13, "", "", NULL}},
{
{A_ASSOCIATE_RESPONSE_ACCEPT, STATE1, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_RESPONSE_ACCEPT, STATE10, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_RESPONSE_ACCEPT, STATE11, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_RESPONSE_ACCEPT, STATE12, NOACTION, NOSTATE, "", "", NULL},
- {A_ASSOCIATE_RESPONSE_ACCEPT, STATE13, NOACTION, NOSTATE, "", "", NULL}},
+ {A_ASSOCIATE_RESPONSE_ACCEPT, STATE13, NOACTION, NOSTATE, "", "", NULL}},
{
{A_ASSOCIATE_RESPONSE_REJECT, STATE1, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_RESPONSE_REJECT, STATE10, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_RESPONSE_REJECT, STATE11, NOACTION, NOSTATE, "", "", NULL},
{A_ASSOCIATE_RESPONSE_REJECT, STATE12, NOACTION, NOSTATE, "", "", NULL},
- {A_ASSOCIATE_RESPONSE_REJECT, STATE13, NOACTION, NOSTATE, "", "", NULL}},
+ {A_ASSOCIATE_RESPONSE_REJECT, STATE13, NOACTION, NOSTATE, "", "", NULL}},
{
{P_DATA_REQ, STATE1, NOACTION, NOSTATE, "", "", NULL},
{P_DATA_REQ, STATE10, NOACTION, NOSTATE, "", "", NULL},
{P_DATA_REQ, STATE11, NOACTION, NOSTATE, "", "", NULL},
{P_DATA_REQ, STATE12, NOACTION, NOSTATE, "", "", NULL},
- {P_DATA_REQ, STATE13, NOACTION, NOSTATE, "", "", NULL}},
+ {P_DATA_REQ, STATE13, NOACTION, NOSTATE, "", "", NULL}},
{
{P_DATA_TF_PDU_RCV, STATE1, NOACTION, NOSTATE, "", "", NULL},
{P_DATA_TF_PDU_RCV, STATE10, AA_8, STATE13, "", "", NULL},
{P_DATA_TF_PDU_RCV, STATE11, AA_8, STATE13, "", "", NULL},
{P_DATA_TF_PDU_RCV, STATE12, AA_8, STATE13, "", "", NULL},
- {P_DATA_TF_PDU_RCV, STATE13, AA_6, STATE13, "", "", NULL}},
+ {P_DATA_TF_PDU_RCV, STATE13, AA_6, STATE13, "", "", NULL}},
{
{A_RELEASE_REQ, STATE1, NOACTION, NOSTATE, "", "", NULL},
{A_RELEASE_REQ, STATE10, NOACTION, NOSTATE, "", "", NULL},
{A_RELEASE_REQ, STATE11, NOACTION, NOSTATE, "", "", NULL},
{A_RELEASE_REQ, STATE12, NOACTION, NOSTATE, "", "", NULL},
- {A_RELEASE_REQ, STATE13, NOACTION, NOSTATE, "", "", NULL}},
+ {A_RELEASE_REQ, STATE13, NOACTION, NOSTATE, "", "", NULL}},
{
{A_RELEASE_RQ_PDU_RCV, STATE1, NOACTION, NOSTATE, "", "", NULL},
{A_RELEASE_RQ_PDU_RCV, STATE10, AA_8, STATE13, "", "", NULL},
{A_RELEASE_RQ_PDU_RCV, STATE11, AA_8, STATE13, "", "", NULL},
{A_RELEASE_RQ_PDU_RCV, STATE12, AA_8, STATE13, "", "", NULL},
- {A_RELEASE_RQ_PDU_RCV, STATE13, AA_6, STATE13, "", "", NULL}},
+ {A_RELEASE_RQ_PDU_RCV, STATE13, AA_6, STATE13, "", "", NULL}},
{
{A_RELEASE_RP_PDU_RCV, STATE1, NOACTION, NOSTATE, "", "", NULL},
{A_RELEASE_RP_PDU_RCV, STATE10, AR_10, STATE12, "", "", NULL},
{A_RELEASE_RP_PDU_RCV, STATE11, AR_3, STATE1, "", "", NULL},
{A_RELEASE_RP_PDU_RCV, STATE12, AA_8, STATE13, "", "", NULL},
- {A_RELEASE_RP_PDU_RCV, STATE13, AA_6, STATE13, "", "", NULL}},
+ {A_RELEASE_RP_PDU_RCV, STATE13, AA_6, STATE13, "", "", NULL}},
{
{A_RELEASE_RESP, STATE1, NOACTION, NOSTATE, "", "", NULL},
{A_RELEASE_RESP, STATE10, NOACTION, NOSTATE, "", "", NULL},
{A_RELEASE_RESP, STATE11, NOACTION, NOSTATE, "", "", NULL},
{A_RELEASE_RESP, STATE12, AR_4, STATE13, "", "", NULL},
- {A_RELEASE_RESP, STATE13, NOACTION, NOSTATE, "", "", NULL}},
+ {A_RELEASE_RESP, STATE13, NOACTION, NOSTATE, "", "", NULL}},
{
{A_ABORT_REQ, STATE1, NOACTION, NOSTATE, "", "", NULL},
{A_ABORT_REQ, STATE10, AA_1, STATE13, "", "", NULL},
{A_ABORT_REQ, STATE11, AA_1, STATE13, "", "", NULL},
{A_ABORT_REQ, STATE12, AA_1, STATE13, "", "", NULL},
- {A_ABORT_REQ, STATE13, NOACTION, NOSTATE, "", "", NULL}},
+ {A_ABORT_REQ, STATE13, NOACTION, NOSTATE, "", "", NULL}},
{
{A_ABORT_PDU_RCV, STATE1, NOACTION, NOSTATE, "", "", NULL},
{A_ABORT_PDU_RCV, STATE10, AA_3, STATE1, "", "", NULL},
{A_ABORT_PDU_RCV, STATE11, AA_3, STATE1, "", "", NULL},
{A_ABORT_PDU_RCV, STATE12, AA_3, STATE1, "", "", NULL},
- {A_ABORT_PDU_RCV, STATE13, AA_2, STATE1, "", "", NULL}},
+ {A_ABORT_PDU_RCV, STATE13, AA_2, STATE1, "", "", NULL}},
{
{TRANS_CONN_CLOSED, STATE1, NOACTION, NOSTATE, "", "", NULL},
{TRANS_CONN_CLOSED, STATE10, AA_4, STATE1, "", "", NULL},
{TRANS_CONN_CLOSED, STATE11, AA_4, STATE1, "", "", NULL},
{TRANS_CONN_CLOSED, STATE12, AA_4, STATE1, "", "", NULL},
- {TRANS_CONN_CLOSED, STATE13, AR_5, STATE1, "", "", NULL}},
+ {TRANS_CONN_CLOSED, STATE13, AR_5, STATE1, "", "", NULL}},
{
{ARTIM_TIMER_EXPIRED, STATE1, NOACTION, NOSTATE, "", "", NULL},
{ARTIM_TIMER_EXPIRED, STATE2, AA_2T, STATE1, "", "", NULL},
{ARTIM_TIMER_EXPIRED, STATE3, NOACTION, NOSTATE, "", "", NULL},
{ARTIM_TIMER_EXPIRED, STATE4, NOACTION, NOSTATE, "", "", NULL},
- {ARTIM_TIMER_EXPIRED, STATE5, NOACTION, NOSTATE, "", "", NULL},
+
+ // DICOM part 8 does not define an action and state for the
+ // situation where a timeout occurs while we are waiting for an
+ // incoming A-ASSOCIATE-AC or A-ASSOCIATE-RJ. We close the transport
+ // connection, return an error code indicating a timout,
+ // and reset the FSM to idle state (STATE1).
+ {ARTIM_TIMER_EXPIRED, STATE5, AA_2T, STATE1, "", "", NULL},
+
{ARTIM_TIMER_EXPIRED, STATE6, NOACTION, NOSTATE, "", "", NULL},
-/* This next line is not per the standard. We added a timeout action
-** in this state.
-*/
+
+ // DICOM part 8 does not define an action and state for the
+ // situation where a timeout occurs while we are waiting for an
+ // incoming A-RELEASE-RSP. We close the transport
+ // connection, return an error code indicating a timout,
+ // and reset the FSM to idle state (STATE1).
{ARTIM_TIMER_EXPIRED, STATE7, AA_2T, STATE1, "", "", NULL},
+
{ARTIM_TIMER_EXPIRED, STATE8, NOACTION, NOSTATE, "", "", NULL},
{ARTIM_TIMER_EXPIRED, STATE9, NOACTION, NOSTATE, "", "", NULL},
{ARTIM_TIMER_EXPIRED, STATE10, NOACTION, NOSTATE, "", "", NULL},
{ARTIM_TIMER_EXPIRED, STATE11, NOACTION, NOSTATE, "", "", NULL},
{ARTIM_TIMER_EXPIRED, STATE12, NOACTION, NOSTATE, "", "", NULL},
- {ARTIM_TIMER_EXPIRED, STATE13, AA_2, STATE1, "", "", NULL}},
+ {ARTIM_TIMER_EXPIRED, STATE13, AA_2, STATE1, "", "", NULL}},
{
{INVALID_PDU, STATE1, NOACTION, NOSTATE, "", "", NULL},
{INVALID_PDU, STATE10, AA_8, STATE13, "", "", NULL},
{INVALID_PDU, STATE11, AA_8, STATE13, "", "", NULL},
{INVALID_PDU, STATE12, AA_8, STATE13, "", "", NULL},
- {INVALID_PDU, STATE13, AA_7, STATE13, "", "", NULL}}
+ {INVALID_PDU, STATE13, AA_7, STATE13, "", "", NULL}}
};
(*association)->maxPDV = assoc.userInfo.maxLength.maxLength;
(*association)->maxPDVAcceptor =
assoc.userInfo.maxLength.maxLength;
- strcpy(service->calledImplementationClassUID,
- assoc.userInfo.implementationClassUID.data);
- strcpy(service->calledImplementationVersionName,
- assoc.userInfo.implementationVersionName.data);
+ OFStandard::strlcpy(service->calledImplementationClassUID,
+ assoc.userInfo.implementationClassUID.data, DICOM_UI_LENGTH + 1);
+ OFStandard::strlcpy(service->calledImplementationVersionName,
+ assoc.userInfo.implementationVersionName.data, 16 + 1);
(*association)->associationState = DUL_ASSOC_ESTABLISHED;
(*association)->protocolState = nextState;
(*association)->maxPDV = assoc.userInfo.maxLength.maxLength;
(*association)->maxPDVRequestor =
assoc.userInfo.maxLength.maxLength;
- strcpy(service->callingImplementationClassUID,
- assoc.userInfo.implementationClassUID.data);
- strcpy(service->callingImplementationVersionName,
- assoc.userInfo.implementationVersionName.data);
+ OFStandard::strlcpy(service->callingImplementationClassUID,
+ assoc.userInfo.implementationClassUID.data, DICOM_UI_LENGTH + 1);
+ OFStandard::strlcpy(service->callingImplementationVersionName,
+ assoc.userInfo.implementationVersionName.data, 16 + 1);
(*association)->associationState = DUL_ASSOC_ESTABLISHED;
destroyPresentationContextList(&assoc.presentationContextList);
int port;
struct sockaddr_in server;
OFStandard::OFHostent hp;
+#ifdef _WIN32
+ SOCKET s;
+#else
int s;
+#endif
struct linger sockarg;
if (sscanf(params->calledPresentationAddress, "%[^:]:%d", node, &port) != 2)
}
s = socket(AF_INET, SOCK_STREAM, 0);
+#ifdef _WIN32
+ if (s == INVALID_SOCKET)
+#else
if (s < 0)
+#endif
{
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
server.sin_family = AF_INET;
int rc;
do {
rc = connect(s, (struct sockaddr *) & server, sizeof(server));
- } while (rc == -1 && errno == EINTR);
+ } while (rc == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR);
#ifdef HAVE_WINSOCK_H
if (rc == SOCKET_ERROR && WSAGetLastError() == WSAEWOULDBLOCK)
timeout.tv_usec = 0;
do {
- rc = select(s + 1, NULL, &fdSet, NULL, &timeout);
- } while (rc == -1 && errno == EINTR);
+ // the typecast is safe because Windows ignores the first select() parameter anyway
+ rc = select(OFstatic_cast(int, s + 1), NULL, &fdSet, NULL, &timeout);
+ } while (rc == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR);
if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
{
if ((*association)->connection) delete (*association)->connection;
(*association)->connection = NULL;
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
msg += " (Timeout)";
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
if ((*association)->connection) delete (*association)->connection;
(*association)->connection = NULL;
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
} else {
// success - we've opened a TCP transport connection
#endif
(*association)->networkState = NETWORK_DISCONNECTED;
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
sockarg.l_onoff = 0;
sockarg.l_linger = 0;
-#ifdef HAVE_GUSI_H
- /* GUSI always returns an error for setsockopt(...) */
-#else
if (setsockopt(s, SOL_SOCKET, SO_LINGER, (char *) &sockarg, (int) sizeof(sockarg)) < 0)
{
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
-#endif
setTCPBufferLength(s);
/*
#endif
if (setsockopt(s, IPPROTO_TCP, TCP_NODELAY, (char*)&tcpNoDelay, sizeof(tcpNoDelay)) < 0)
{
- char buf[256];
OFString msg = "TCP Initialization Error: ";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
#ifdef DISABLE_NAGLE_ALGORITHM
do {
nbytes = (*association)->connection ? (*association)->connection->write((char*)b, size_t(associateRequest.length + 6)) : 0;
- } while (nbytes == -1 && errno == EINTR);
+ } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR);
if ((unsigned long) nbytes != associateRequest.length + 6)
{
- char buf[256];
OFString msg = "TCP I/O Error (";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
msg += ") occurred in routine: sendAssociationRQTCP";
return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str());
}
do {
nbytes = (*association)->connection ? (*association)->connection->write((char*)b, size_t(associateReply.length + 6)) : 0;
- } while (nbytes == -1 && errno == EINTR);
+ } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR);
if ((unsigned long) nbytes != associateReply.length + 6)
{
- char buf[256];
OFString msg = "TCP I/O Error (";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
msg += ") occurred in routine: sendAssociationACTCP";
return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str());
}
{
do {
nbytes = (*association)->connection ? (*association)->connection->write((char*)b, size_t(pdu.length + 6)) : 0;
- } while (nbytes == -1 && errno == EINTR);
+ } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR);
if ((unsigned long) nbytes != pdu.length + 6)
{
- char buf[256];
OFString msg = "TCP I/O Error (";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
msg += ") occurred in routine: sendAssociationRJTCP";
return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str());
}
if (cond.good()) {
do {
nbytes = (*association)->connection ? (*association)->connection->write((char*)b, size_t(pdu.length + 6)) : 0;
- } while (nbytes == -1 && errno == EINTR);
+ } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR);
if ((unsigned long) nbytes != pdu.length + 6)
{
- char buf[256];
OFString msg = "TCP I/O Error (";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
msg += ") occurred in routine: sendAbortTCP";
return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str());
}
if (cond.good()) {
do {
nbytes = (*association)->connection ? (*association)->connection->write((char*)b, size_t(pdu.length + 6)) : 0;
- } while (nbytes == -1 && errno == EINTR);
+ } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR);
if ((unsigned long) nbytes != pdu.length + 6)
{
- char buf[256];
OFString msg = "TCP I/O Error (";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
msg += ") occurred in routine: sendReleaseRQTCP";
return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str());
}
if (cond.good()) {
do {
nbytes = (*association)->connection ? (*association)->connection->write((char*)b, size_t(pdu.length + 6)) : 0;
- } while (nbytes == -1 && errno == EINTR);
+ } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR);
if ((unsigned long) nbytes != pdu.length + 6)
{
- char buf[256];
OFString msg = "TCP I/O Error (";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
msg += ") occurred in routine: sendReleaseRPTCP";
return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str());
}
/* start a loop iterate over all PDVs in the given */
/* list and send every PDVs data over the network */
- while (cond.good() && count-- > 0)
+ while (cond.good() && count > 0)
{
+ --count;
/* determine length of PDV */
length = pdv->fragmentLength;
/* determine data to be set */
do
{
nbytes = (*association)->connection ? (*association)->connection->write((char*)head, size_t(length)) : 0;
- } while (nbytes == -1 && errno == EINTR);
+ } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR);
/* if not all head information was sent, return an error */
if ((unsigned long) nbytes != length)
{
- char buf[256];
OFString msg = "TCP I/O Error (";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
msg += ") occurred in routine: writeDataPDU";
return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str());
}
{
nbytes = (*association)->connection ? (*association)->connection->write((char*)pdu->presentationDataValue.data,
size_t(pdu->presentationDataValue.length - 2)) : 0;
- } while (nbytes == -1 && errno == EINTR);
+ } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR);
/* if not all head information was sent, return an error */
if ((unsigned long) nbytes != pdu->presentationDataValue.length - 2)
{
- char buf[256];
OFString msg = "TCP I/O Error (";
- msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ msg += OFStandard::getLastNetworkErrorCode().message();
msg += ") occurred in routine: writeDataPDU";
return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str());
}
/* data has become available, now call read(). */
bytesRead = connection->read((char*)b, size_t(l));
- } while (bytesRead == -1 && errno == EINTR);
+ } while (bytesRead == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR);
/* if we actually received data, move the buffer pointer to its own end, update the variable */
/* that determines the end of the first loop, and update the reference parameter return variable */
** Algorithm:
** Description of the algorithm (optional) and any other notes.
*/
-static void
-setTCPBufferLength(int sock)
+
+#ifdef _WIN32
+static void setTCPBufferLength(SOCKET sock)
+#else
+static void setTCPBufferLength(int sock)
+#endif
{
char *TCPBufferLength;
int bufLen;
-#ifdef HAVE_GUSI_H
- /* GUSI always returns an error for setsockopt(...) */
-#else
/*
* check whether environment variable TCP_BUFFER_LENGTH is set.
* If not, the the operating system is responsible for selecting
DCMNET_WARN("DULFSM: cannot parse environment variable TCP_BUFFER_LENGTH=" << TCPBufferLength);
} else
DCMNET_TRACE(" environment variable TCP_BUFFER_LENGTH not set, using the system defaults");
-#endif // HAVE_GUSI_H
}
/* translatePresentationContextList
if (role->length - 4 < UIDLength)
return makeLengthError("SCU-SCP role list UID", role->length, 0, UIDLength);
- OFStandard::strlcpy(role->SOPClassUID, (char*)buf, sizeof(role->SOPClassUID));
- if (UIDLength > sizeof(role->SOPClassUID))
+ if (UIDLength > DICOM_UI_LENGTH)
{
- DCMNET_WARN("Provided role SOP Class UID " << role->SOPClassUID << " is shorter than its announced length " << UIDLength << " (ignored)");
+ DCMNET_WARN("Provided role SOP Class UID length " << UIDLength
+ << " is larger than maximum allowed UID length " << DICOM_UI_LENGTH << " (will use 64 bytes max)");
+ UIDLength = DICOM_UI_LENGTH;
}
+ OFStandard::strlcpy(role->SOPClassUID, (char*)buf, UIDLength+1 /* +1 for 0-byte */);
buf += UIDLength;
role->SCURole = *buf++;
role->SCPRole = *buf++;
DCMNET_TRACE("Subitem parse: Type "
<< STD_NAMESPACE hex << STD_NAMESPACE setfill('0') << STD_NAMESPACE setw(2) << (unsigned int)role->type
<< STD_NAMESPACE dec << ", Length " << STD_NAMESPACE setw(4) << (int)role->length
- << ", Content: " << role->SOPClassUID << " " << (int)role->SCURole << " " << (int)role->SCPRole);
+ << ", Content: SOP Class: " << role->SOPClassUID << " SCU: " << (int)role->SCURole << " SCP: " << (int)role->SCPRole);
return EC_Normal;
}
/*
*
- * Copyright (C) 1994-2010, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were partly developed by
union {
struct {
int port;
- int listenSocket;
- DcmTransportLayer *tLayer;
- int tLayerOwned;
+ DcmNativeSocketType listenSocket;
+ DcmTransportLayer *tLayer;
+ int tLayerOwned;
} TCP;
} networkSpecific;
} PRIVATE_NETWORKKEY;
/*
*
- * Copyright (C) 2012, OFFIS e.V.
+ * Copyright (C) 2012-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#ifdef WITH_TCPWRAPPER
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+
#include <tcpd.h> /* for hosts_ctl */
#include <syslog.h>
m_assoc(NULL),
m_cfg()
{
-#ifdef HAVE_GUSI_H
- // needed for Macintosh.
- GUSISetup( GUSIwithSIOUXSockets );
- GUSISetup( GUSIwithInternetSockets );
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- // we need at least version 1.1.
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
}
// ----------------------------------------------------------------------------
dropAndDestroyAssociation();
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
}
// ----------------------------------------------------------------------------
}
-OFCondition DcmSCP::sendSTOREResponse(T_ASC_PresentationContextID presID,
+OFCondition DcmSCP::sendSTOREResponse(const T_ASC_PresentationContextID presID,
const T_DIMSE_C_StoreRQ &reqMessage,
const Uint16 rspStatusCode)
{
OFCondition DcmSCP::addPresentationContext(const OFString &abstractSyntax,
const OFList<OFString> &xferSyntaxes,
- const T_ASC_SC_ROLE role,
+ const T_ASC_SC_ROLE requestorRole,
const OFString &profile)
{
- return m_cfg->addPresentationContext(abstractSyntax, xferSyntaxes, role, profile);
+ return m_cfg->addPresentationContext(abstractSyntax, xferSyntaxes, requestorRole, profile);
}
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
+void DcmSCP::setAlwaysAcceptDefaultRole(const OFBool enabled)
+{
+ m_cfg->setAlwaysAcceptDefaultRole(enabled);
+}
+
+// ----------------------------------------------------------------------------
+
/* Get methods for SCP settings and current association information */
OFBool DcmSCP::getRefuseAssociation() const
/*
*
- * Copyright (C) 2012-2015, OFFIS e.V.
+ * Copyright (C) 2012-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
// ----------------------------------------------------------------------------
+void DcmSCPConfig::setAlwaysAcceptDefaultRole(const OFBool enabled)
+{
+ m_assocConfig.setAlwaysAcceptDefaultRole(enabled);
+}
+
+// ----------------------------------------------------------------------------
+
/* Get methods for SCP settings and current association information */
OFBool DcmSCPConfig::getRefuseAssociation() const
// create role key and amend configuration (if required)
OFString DCMSCP_RO_KEY;
- if ( role != ASC_SC_ROLE_DEFAULT )
+ DCMSCP_RO_KEY = profileName;
+ DCMSCP_RO_KEY += "_ROLEKEY";
+ result = m_assocConfig.createEmptyRoleList(DCMSCP_RO_KEY.c_str());
+ if (result.good() && (role != ASC_SC_ROLE_DEFAULT))
{
- DCMSCP_RO_KEY = profileName;
- DCMSCP_RO_KEY += "_ROLEKEY";
result = m_assocConfig.addRole(DCMSCP_RO_KEY.c_str(), abstractSyntax.c_str(), role);
}
+ if (result.bad())
+ return result;
+
// create new profile if required and add presentation context as just defined.
// we always use the same presentation context list.
{
// finally add new presentation context to list and profile to configuration
if ( result.good() ) result = m_assocConfig.addPresentationContext(DCMSCP_PC_KEY.c_str(), abstractSyntax.c_str(), DCMSCP_TS_KEY.c_str());
- if ( result.good() ) result = m_assocConfig.addProfile(profileName.c_str(), DCMSCP_PC_KEY.c_str(), DCMSCP_RO_KEY.empty() ? NULL : DCMSCP_RO_KEY.c_str());
+ if ( result.good() ) result = m_assocConfig.addProfile(profileName.c_str(), DCMSCP_PC_KEY.c_str(), DCMSCP_RO_KEY.c_str());
}
else
{
/*
*
- * Copyright (C) 2008-2015, OFFIS e.V.
+ * Copyright (C) 2008-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
m_datasetConversionMode(OFFalse),
m_progressNotificationMode(OFTrue)
{
-
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
}
void DcmSCU::freeNetwork()
freeNetwork();
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
}
/* Figure out the presentation addresses and copy the */
/* corresponding values into the association parameters.*/
- DIC_NODENAME localHost;
DIC_NODENAME peerHost;
- gethostname(localHost, sizeof(localHost) - 1);
+ const OFString localHost = OFStandard::getHostName();
/* Since the underlying dcmnet structures reserve only 64 bytes for peer
as well as local host name, we check here for buffer overflow.
*/
DCMNET_ERROR("Maximum length of peer host name '" << m_peer << "' is longer than maximum of 57 characters");
return EC_IllegalCall; // TODO: need to find better error code
}
- if (strlen(localHost) + 1 > 63)
+ if (localHost.size() + 1 > 63)
{
DCMNET_ERROR("Maximum length of local host name '" << localHost << "' is longer than maximum of 62 characters");
return EC_IllegalCall; // TODO: need to find better error code
}
sprintf(peerHost, "%s:%d", m_peer.c_str(), OFstatic_cast(int, m_peerPort));
- ASC_setPresentationAddresses(m_params, localHost, peerHost);
+ ASC_setPresentationAddresses(m_params, localHost.c_str(), peerHost);
/* Add presentation contexts */
// Returns usable presentation context ID for a given abstract syntax UID and
// transfer syntax UID. 0 if none matches.
T_ASC_PresentationContextID DcmSCU::findPresentationContextID(const OFString &abstractSyntax,
- const OFString &transferSyntax)
+ const OFString &transferSyntax,
+ const T_ASC_SC_ROLE requestorRole)
{
if (!isConnected())
return 0;
found &= (pc->result == ASC_P_ACCEPTANCE);
if (!transferSyntax.empty()) // ignore transfer syntax if not specified
found &= (strcmp(pc->acceptedTransferSyntax, transferSyntax.c_str()) == 0);
+ if (found) found &= pc->acceptedSCRole == ascRole2dulRole(requestorRole);
if (!found) pc = (DUL_PRESENTATIONCONTEXT*) LST_Next(l);
}
if (found)
}
else
{
+ DCMNET_ERROR("cannot write DICOM file: " << filename);
cStoreReturnStatus = STATUS_STORE_Refused_OutOfResources;
+
+ // delete incomplete file
+ OFStandard::deleteFile(filename);
}
return result;
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/assoc.h \
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dclist.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dimse.h \
- ../include/dcmtk/dcmnet/scpcfg.h ../include/dcmtk/dcmnet/dcasccff.h \
- ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \
- ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
- ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
- ../include/dcmtk/dcmnet/dccfprmp.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/diutil.h \
- ../include/dcmtk/dcmnet/scu.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/scpcfg.h \
+ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \
+ ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \
+ ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \
+ ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \
+ ../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/scu.h
tscuscp.o: tscuscp.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h ../include/dcmtk/dcmnet/lst.h \
../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \
- ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dimse.h \
- ../include/dcmtk/dcmnet/scpcfg.h ../include/dcmtk/dcmnet/dcasccff.h \
- ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \
- ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
- ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
- ../include/dcmtk/dcmnet/dccfprmp.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/diutil.h \
- ../include/dcmtk/dcmnet/scu.h
+ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \
+ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/scpcfg.h \
+ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \
+ ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \
+ ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \
+ ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \
+ ../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/scu.h
LIBDIRS = -L$(top_srcdir)/libsrc -L$(ofstddir)/libsrc -L$(oflogdir)/libsrc \
-L$(dcmdatadir)/libsrc -L$(dcmtlsdir)/libsrc $(compr_libdirs)
LOCALLIBS = -ldcmnet -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(TCPWRAPPERLIBS) \
- $(CHARCONVLIBS)
+ $(CHARCONVLIBS) $(MATHLIBS)
objs = tests.o tdump.o tpool.o tscuscp.o
progs = tests
OFTEST_REGISTER(dcmnet_scp_no_stop_wo_request_noblock);
OFTEST_REGISTER(dcmnet_scp_no_stop_wo_request_block);
OFTEST_REGISTER(dcmnet_scp_no_term_notify_without_association);
+OFTEST_REGISTER(dcmnet_scp_role_selection);
#endif // WITH_THREADS
OFTEST_MAIN("dcmnet")
#include "dcmtk/dcmnet/scp.h"
#include "dcmtk/dcmnet/scu.h"
+static OFLogger t_scuscp_logger= OFLog::getLogger("dcmtk.test.tscuscp");
+
+
/** SCP derived from DcmSCP in order to test two types of virtual methods:
* <ul>
* <li> Notifiers: Called for some events happening in DcmSCP. So far
/** Configure Verification SOP class on server
* @param cfg The SCP configuration to modify
*/
-void configure_scp_for_echo(DcmSCPConfig& cfg)
+void configure_scp_for_echo(DcmSCPConfig& cfg, T_ASC_SC_ROLE roleOfRequestor = ASC_SC_ROLE_DEFAULT)
{
cfg.setPort(11112);
OFList<OFString> xfers;
xfers.push_back(UID_LittleEndianImplicitTransferSyntax);
- cfg.addPresentationContext(UID_VerificationSOPClass, xfers);
+ OFCHECK(cfg.addPresentationContext(UID_VerificationSOPClass, xfers, roleOfRequestor).good());
}
}
+/** Helper function for testing role selection, test "dcmnet_scp_role_selection".
+ * @param r_req The role selection setting from the association requestor
+ * @param r_acc The role selection setting configured for the association acceptor
+ * @param expected_result The expected result of the role negotiation, i.e. what the
+ * acceptor will return to the client.
+ * @param expect_assoc_reject If OFTrue, it is expected that the negotiation fails,
+ * default is OFFalse
+ */
+void test_role_selection(const T_ASC_SC_ROLE r_req,
+ const T_ASC_SC_ROLE r_acc,
+ const T_ASC_SC_ROLE expected_result,
+ const OFBool expect_assoc_reject = OFFalse,
+ const OFBool acceptDefaultInsteadOfSCP = OFFalse)
+{
+ // Make it possible to loop over roles, used for checking the
+ // negotiated presentation contexts.
+ static OFVector<T_ASC_SC_ROLE> roles;
+ if (roles.empty())
+ {
+ roles.push_back(ASC_SC_ROLE_DEFAULT);
+ roles.push_back(ASC_SC_ROLE_NONE);
+ roles.push_back(ASC_SC_ROLE_SCP);
+ roles.push_back(ASC_SC_ROLE_SCU);
+ roles.push_back(ASC_SC_ROLE_SCUSCP);
+ }
+
+ TestSCP scp;
+ DcmSCPConfig& config = scp.getConfig();
+ configure_scp_for_echo(config, r_acc);
+
+ config.setAETitle("ACCEPTOR");
+ config.setConnectionBlockingMode(DUL_NOBLOCK);
+ config.setConnectionTimeout(3);
+ config.setAlwaysAcceptDefaultRole(acceptDefaultInsteadOfSCP);
+
+ scp.start();
+ OFStandard::sleep(1);
+ DcmSCU scu;
+ scu.setPeerAETitle("ACCEPTOR");
+ scu.setAETitle("REQUESTOR");
+ scu.setPeerHostName("localhost");
+ scu.setPeerPort(11112);
+ OFList<OFString> ts;
+ ts.push_back(UID_LittleEndianImplicitTransferSyntax);
+ OFCHECK(scu.addPresentationContext(UID_VerificationSOPClass, ts, r_req).good());
+ OFCHECK(scu.initNetwork().good());
+ if (!expect_assoc_reject)
+ OFCHECK(scu.negotiateAssociation().good());
+ else
+ {
+ OFCHECK(scu.negotiateAssociation() == DUL_ASSOCIATIONREJECTED);
+ }
+ // Loop over roles and check for each role whether has been negotiated or not.
+ // Only a single role (the expected_result) should be successfully negotiated.
+ OFVector<T_ASC_SC_ROLE>::iterator it = roles.begin();
+ OFCondition result;
+ while (it != roles.end())
+ {
+ T_ASC_PresentationContextID id = scu.findPresentationContextID(UID_VerificationSOPClass, UID_LittleEndianImplicitTransferSyntax, (*it));
+ if ( ((*it) == expected_result) && !expect_assoc_reject)
+ {
+ if (id == 0)
+ {
+ OFCHECK_FAIL("Error while testing requestor role " << ASC_role2String(r_req)
+ << " versus acceptor role " << ASC_role2String(r_acc)
+ << ", expected result: " << ASC_role2String(expected_result) << ", but did not find related presentation context with that role");
+ }
+ }
+ else
+ {
+ if (id != 0)
+ {
+ OFCHECK_FAIL("Error while testing requestor role " << ASC_role2String(r_req)
+ << " versus acceptor role " << ASC_role2String(r_acc)
+ << ", expected result: " << ASC_role2String(expected_result) << ", but found unexpected presentation context for role " << ASC_role2String(*it));
+ }
+ }
+ it++;
+ }
+ scp.m_set_stop_after_assoc = OFTrue;
+ scp.m_set_stop_after_timeout = OFTrue; // also handles the association rejection case
+ // Only release association if we're connected (could happen we're not in case
+ // of test failures of if expect_assoc_reject is true)
+ if (scu.isConnected())
+ OFCHECK(scu.releaseAssociation().good());
+ scp.join();
+}
+
+// Test case that checks whether server returns after association if enabled
+OFTEST_FLAGS(dcmnet_scp_role_selection, EF_Slow)
+{
+ // The ollowing role selection behaviour should be implemented and
+ // is exercised in this test (copied from dul.h):
+ // * +--------------------+------------------+---------+
+ // * | Requestor Proposal | Acceptor Setting | Result |
+ // * +--------------------+------------------+---------+
+ // * | SCU | SCP | NONE |
+ // * | SCU | SCU | SCU |
+ // * | SCU | SCU/SCP | SCU |
+ // * | SCU | DEFAULT | DEFAULT |
+ // * | SCP | SCP | SCP |
+ // * | SCP | SCU | NONE |
+ // * | SCP | SCU/SCP | SCP |
+ // * | SCP | DEFAULT | DEFAULT |
+ // * | SCU/SCP | SCP | SCP |
+ // * | SCU/SCP | SCU | SCU |
+ // * | SCU/SCP | SCU/SCP | SCU/SCP |
+ // * | SCU/SCP | DEFAULT | DEFAULT |
+ // * | DEFAULT | SCP | Reject |
+ // * | DEFAULT | SCU | DEFAULT |
+ // * | DEFAULT | SCU/SCP | DEFAULT |
+ // * | DEFAULT | DEFAULT | DEFAULT |
+ // * +--------------------+------------------+---------+
+ //
+ // The Reject case can be turned into returning DEFAULT role when
+ // setting a specific option also being tested below.
+
+ test_role_selection(ASC_SC_ROLE_SCU, ASC_SC_ROLE_SCP, ASC_SC_ROLE_NONE);
+ test_role_selection(ASC_SC_ROLE_SCU, ASC_SC_ROLE_SCU, ASC_SC_ROLE_SCU);
+ test_role_selection(ASC_SC_ROLE_SCU, ASC_SC_ROLE_SCUSCP, ASC_SC_ROLE_SCU);
+ test_role_selection(ASC_SC_ROLE_SCU, ASC_SC_ROLE_DEFAULT, ASC_SC_ROLE_DEFAULT);
+
+ test_role_selection(ASC_SC_ROLE_SCP, ASC_SC_ROLE_SCP, ASC_SC_ROLE_SCP);
+ test_role_selection(ASC_SC_ROLE_SCP, ASC_SC_ROLE_SCU, ASC_SC_ROLE_NONE);
+ test_role_selection(ASC_SC_ROLE_SCP, ASC_SC_ROLE_SCUSCP, ASC_SC_ROLE_SCP);
+ test_role_selection(ASC_SC_ROLE_SCP, ASC_SC_ROLE_DEFAULT, ASC_SC_ROLE_DEFAULT);
+ test_role_selection(ASC_SC_ROLE_SCUSCP, ASC_SC_ROLE_SCP, ASC_SC_ROLE_SCP);
+ test_role_selection(ASC_SC_ROLE_SCUSCP, ASC_SC_ROLE_SCU, ASC_SC_ROLE_SCU);
+ test_role_selection(ASC_SC_ROLE_SCUSCP, ASC_SC_ROLE_SCUSCP, ASC_SC_ROLE_SCUSCP);
+ test_role_selection(ASC_SC_ROLE_SCUSCP, ASC_SC_ROLE_DEFAULT, ASC_SC_ROLE_DEFAULT);
+
+ test_role_selection(ASC_SC_ROLE_DEFAULT, ASC_SC_ROLE_SCP, ASC_SC_ROLE_NONE /* not evaluated */, OFTrue /* expect rejection */);
+ // Repeat the test but this time work around faulty clients by also accepting Default role
+ // instead of the originally configured SCP role.
+ test_role_selection(ASC_SC_ROLE_DEFAULT, ASC_SC_ROLE_SCP, ASC_SC_ROLE_DEFAULT, OFFalse, OFTrue);
+ test_role_selection(ASC_SC_ROLE_DEFAULT, ASC_SC_ROLE_SCU, ASC_SC_ROLE_DEFAULT);
+ test_role_selection(ASC_SC_ROLE_DEFAULT, ASC_SC_ROLE_SCUSCP, ASC_SC_ROLE_DEFAULT);
+ test_role_selection(ASC_SC_ROLE_DEFAULT, ASC_SC_ROLE_DEFAULT, ASC_SC_ROLE_DEFAULT);
+
+}
+
#endif // WITH_THREADS
PROJECT(dcmpmaps)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmpmaps_SOURCE_DIR}/include ${dcmfg_SOURCE_DIR}/include ${dcmiod_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmpmaps_SOURCE_DIR}/include" "${dcmfg_SOURCE_DIR}/include" "${dcmiod_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" ${ZLIB_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc include)
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmpmap DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h" PATTERN "CVS" EXCLUDE)
+INSTALL(DIRECTORY dcmtk/dcmpmap DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h" PATTERN "CVS" EXCLUDE)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmpmap/dpmmodparametricmapimage.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
../include/dcmtk/dcmpmap/dpmdef.h
dpmmodparametricmapseries.o: dpmmodparametricmapseries.cc \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmpmap/dpmmodparametricmapseries.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
../include/dcmtk/dcmpmap/dpmdef.h \
../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmpmap/dpmtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/dcmpmap/dpmdef.h \
../include/dcmtk/dcmpmap/dpmparametricmapbase.h \
../../dcmfg/include/dcmtk/dcmfg/fginterface.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/dcmpmap/dpmdef.h
if (m_pElement->setVR(EVR_OB).good())
{
Uint8* result;
- if (m_pElement->createUint8Array(size, result).good())
+ if (m_pElement->createUint8Array(OFstatic_cast(Uint32, size), result).good())
return result;
}
return OFnullptr;
if (m_pElement->setVR(EVR_OB).good())
{
Uint8* result;
- if (m_pElement->createUint8Array(size, result).good())
+ if (m_pElement->createUint8Array(OFstatic_cast(Uint32, size), result).good())
return OFreinterpret_cast(Sint8*, result);
}
return OFnullptr;
if (m_pElement->setVR(EVR_OW).good())
{
Uint16* result;
- if (m_pElement->createUint16Array(size / 2, result).good())
+ if (m_pElement->createUint16Array(OFstatic_cast(Uint32, size/2), result).good())
return result;
}
return OFnullptr;
if (m_pElement->setVR(EVR_OW).good())
{
Uint16* result;
- if (m_pElement->createUint16Array(size / 2, result).good())
+ if (m_pElement->createUint16Array(OFstatic_cast(Uint32, size/2), result).good())
return OFreinterpret_cast(Sint16*, result);
}
return OFnullptr;
OFCondition createFloat32Array(const size_t size,
Float32*& result)
{
- OFCondition status = createEmptyValue(size);
+ OFCondition status = createEmptyValue(OFstatic_cast(Uint32, size));
result = OFreinterpret_cast(Float32*, getValue());
return status;
}
OFCondition createFloat64Array(const size_t size, Float64*& result)
{
- OFCondition status = createEmptyValue(size);
+ OFCondition status = createEmptyValue(OFstatic_cast(Uint32, size));
result = OFreinterpret_cast(Float64*, getValue());
return status;
}
OFVector<FGBase*>::const_iterator fg = perFrameInformation.begin();
while ( result.good() && (fg != perFrameInformation.end()) )
{
- result = m_Map.m_FGInterface.addPerFrame(m_Map.m_Frames.size(), **fg);
+ result = m_Map.m_FGInterface.addPerFrame(OFstatic_cast(Uint32, m_Map.m_Frames.size()), **fg);
if (result.bad())
{
DCMPMAP_ERROR("Could not add functional group: " << DcmFGTypes::FGType2OFString((*fg)->getType()));
}
// Clean up if necessary
if (result.bad())
- m_Map.m_FGInterface.deleteFrame(m_Map.m_Frames.size());
+ m_Map.m_FGInterface.deleteFrame(OFstatic_cast(Uint32, m_Map.m_Frames.size()));
return result;
}
+++ /dev/null
-dump_pmp.o: dump_pmp.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmpmap/dpmparametricmapiod.h \
- ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \
- ../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/oftypes.h \
- ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
- ../../ofstd/include/dcmtk/ofstd/ofcast.h \
- ../../ofstd/include/dcmtk/ofstd/ofexport.h \
- ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
- ../../ofstd/include/dcmtk/ofstd/ofstream.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
- ../../ofstd/include/dcmtk/ofstd/offile.h \
- ../../ofstd/include/dcmtk/ofstd/ofstring.h \
- ../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oflist.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h \
- ../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h \
- ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
- ../../oflog/include/dcmtk/oflog/oflog.h \
- ../../oflog/include/dcmtk/oflog/logger.h \
- ../../oflog/include/dcmtk/oflog/config.h \
- ../../oflog/include/dcmtk/oflog/config/defines.h \
- ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
- ../../oflog/include/dcmtk/oflog/loglevel.h \
- ../../oflog/include/dcmtk/oflog/tstring.h \
- ../../oflog/include/dcmtk/oflog/tchar.h \
- ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
- ../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
- ../../oflog/include/dcmtk/oflog/layout.h \
- ../../oflog/include/dcmtk/oflog/streams.h \
- ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
- ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
- ../../oflog/include/dcmtk/oflog/spi/filter.h \
- ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
- ../../oflog/include/dcmtk/oflog/spi/logfact.h \
- ../../oflog/include/dcmtk/oflog/logmacro.h \
- ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
- ../../oflog/include/dcmtk/oflog/tracelog.h \
- ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
- ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
- ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
- ../../ofstd/include/dcmtk/ofstd/ofthread.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
- ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
- ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
- ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
- ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
- ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
- ../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
- ../include/dcmtk/dcmpmap/dpmparametricmapbase.h \
- ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
- ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
- ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
- ../../ofstd/include/dcmtk/ofstd/ofdate.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
- ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
- ../../ofstd/include/dcmtk/ofstd/oftime.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \
- ../../dcmfg/include/dcmtk/dcmfg/fg.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgderimg.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgframeanatomy.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgframevoilut.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgidentpixeltransform.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgparametricmapframetype.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgpixmsr.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgplanor.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgplanpo.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \
- ../../ofstd/include/dcmtk/ofstd/ofvriant.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \
- ../../ofstd/include/dcmtk/ofstd/ofalign.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \
- ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \
- ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \
- ../../ofstd/include/dcmtk/ofstd/ofoption.h \
- ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \
- ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \
- ../../dcmiod/include/dcmtk/dcmiod/modgeneralseries.h \
- ../../dcmiod/include/dcmtk/dcmiod/modfor.h \
- ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \
- ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \
- ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \
- ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \
- ../../dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h \
- ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \
- ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \
- ../../dcmiod/include/dcmtk/dcmiod/modmultiframefg.h \
- ../../dcmiod/include/dcmtk/dcmiod/modimagepixel.h \
- ../../dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h \
- ../include/dcmtk/dcmpmap/dpmmodparametricmapimage.h \
- ../include/dcmtk/dcmpmap/dpmdef.h \
- ../include/dcmtk/dcmpmap/dpmmodparametricmapseries.h \
- ../include/dcmtk/dcmpmap/dpmtypes.h
-make_pmp.o: make_pmp.cc ../../ofstd/include/dcmtk/ofstd/oftest.h \
- ../../config/include/dcmtk/config/osconfig.h \
- ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
- ../../ofstd/include/dcmtk/ofstd/oftypes.h \
- ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
- ../../ofstd/include/dcmtk/ofstd/ofcast.h \
- ../../ofstd/include/dcmtk/ofstd/ofexport.h \
- ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
- ../../ofstd/include/dcmtk/ofstd/ofstream.h \
- ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
- ../../ofstd/include/dcmtk/ofstd/oflist.h \
- ../../ofstd/include/dcmtk/ofstd/ofstring.h \
- ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
- ../../ofstd/include/dcmtk/ofstd/ofthread.h \
- ../../ofstd/include/dcmtk/ofstd/offile.h \
- ../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h \
- ../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
- ../../oflog/include/dcmtk/oflog/oflog.h \
- ../../oflog/include/dcmtk/oflog/logger.h \
- ../../oflog/include/dcmtk/oflog/config.h \
- ../../oflog/include/dcmtk/oflog/config/defines.h \
- ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
- ../../oflog/include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
- ../../oflog/include/dcmtk/oflog/tstring.h \
- ../../oflog/include/dcmtk/oflog/tchar.h \
- ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
- ../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
- ../../oflog/include/dcmtk/oflog/layout.h \
- ../../oflog/include/dcmtk/oflog/streams.h \
- ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
- ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
- ../../oflog/include/dcmtk/oflog/spi/filter.h \
- ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
- ../../oflog/include/dcmtk/oflog/spi/logfact.h \
- ../../oflog/include/dcmtk/oflog/logmacro.h \
- ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
- ../../oflog/include/dcmtk/oflog/tracelog.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
- ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
- ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
- ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
- ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
- ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \
- ../../ofstd/include/dcmtk/ofstd/ofdate.h \
- ../../ofstd/include/dcmtk/ofstd/oftime.h \
- ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
- ../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
- ../include/dcmtk/dcmpmap/dpmparametricmapiod.h \
- ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \
- ../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
- ../include/dcmtk/dcmpmap/dpmparametricmapbase.h \
- ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \
- ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
- ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
- ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \
- ../../dcmfg/include/dcmtk/dcmfg/fg.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgderimg.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgframeanatomy.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgframevoilut.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgidentpixeltransform.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgparametricmapframetype.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgpixmsr.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgplanor.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgplanpo.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \
- ../../ofstd/include/dcmtk/ofstd/ofvriant.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \
- ../../ofstd/include/dcmtk/ofstd/ofalign.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \
- ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \
- ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \
- ../../ofstd/include/dcmtk/ofstd/ofoption.h \
- ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \
- ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \
- ../../dcmiod/include/dcmtk/dcmiod/modgeneralseries.h \
- ../../dcmiod/include/dcmtk/dcmiod/modfor.h \
- ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \
- ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \
- ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \
- ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \
- ../../dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h \
- ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \
- ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \
- ../../dcmiod/include/dcmtk/dcmiod/modmultiframefg.h \
- ../../dcmiod/include/dcmtk/dcmiod/modimagepixel.h \
- ../../dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h \
- ../include/dcmtk/dcmpmap/dpmmodparametricmapimage.h \
- ../include/dcmtk/dcmpmap/dpmdef.h \
- ../include/dcmtk/dcmpmap/dpmmodparametricmapseries.h \
- ../include/dcmtk/dcmpmap/dpmtypes.h
-rw_pmp.o: rw_pmp.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmpmap/dpmparametricmapiod.h \
- ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \
- ../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/oftypes.h \
- ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
- ../../ofstd/include/dcmtk/ofstd/ofcast.h \
- ../../ofstd/include/dcmtk/ofstd/ofexport.h \
- ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
- ../../ofstd/include/dcmtk/ofstd/ofstream.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
- ../../ofstd/include/dcmtk/ofstd/offile.h \
- ../../ofstd/include/dcmtk/ofstd/ofstring.h \
- ../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oflist.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h \
- ../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h \
- ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
- ../../oflog/include/dcmtk/oflog/oflog.h \
- ../../oflog/include/dcmtk/oflog/logger.h \
- ../../oflog/include/dcmtk/oflog/config.h \
- ../../oflog/include/dcmtk/oflog/config/defines.h \
- ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
- ../../oflog/include/dcmtk/oflog/loglevel.h \
- ../../oflog/include/dcmtk/oflog/tstring.h \
- ../../oflog/include/dcmtk/oflog/tchar.h \
- ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
- ../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
- ../../oflog/include/dcmtk/oflog/layout.h \
- ../../oflog/include/dcmtk/oflog/streams.h \
- ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
- ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
- ../../oflog/include/dcmtk/oflog/spi/filter.h \
- ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
- ../../oflog/include/dcmtk/oflog/spi/logfact.h \
- ../../oflog/include/dcmtk/oflog/logmacro.h \
- ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
- ../../oflog/include/dcmtk/oflog/tracelog.h \
- ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
- ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
- ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
- ../../ofstd/include/dcmtk/ofstd/ofthread.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
- ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
- ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
- ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
- ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
- ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
- ../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
- ../include/dcmtk/dcmpmap/dpmparametricmapbase.h \
- ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
- ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
- ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
- ../../ofstd/include/dcmtk/ofstd/ofdate.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
- ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
- ../../ofstd/include/dcmtk/ofstd/oftime.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \
- ../../dcmfg/include/dcmtk/dcmfg/fg.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgderimg.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgframeanatomy.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgframevoilut.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgidentpixeltransform.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgparametricmapframetype.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgpixmsr.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgplanor.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgplanpo.h \
- ../../dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \
- ../../ofstd/include/dcmtk/ofstd/ofvriant.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \
- ../../ofstd/include/dcmtk/ofstd/ofalign.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \
- ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \
- ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \
- ../../ofstd/include/dcmtk/ofstd/ofoption.h \
- ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \
- ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \
- ../../dcmiod/include/dcmtk/dcmiod/modgeneralseries.h \
- ../../dcmiod/include/dcmtk/dcmiod/modfor.h \
- ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \
- ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \
- ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \
- ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \
- ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \
- ../../dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h \
- ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \
- ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \
- ../../dcmiod/include/dcmtk/dcmiod/modmultiframefg.h \
- ../../dcmiod/include/dcmtk/dcmiod/modimagepixel.h \
- ../../dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h \
- ../include/dcmtk/dcmpmap/dpmmodparametricmapimage.h \
- ../include/dcmtk/dcmpmap/dpmdef.h \
- ../include/dcmtk/dcmpmap/dpmmodparametricmapseries.h \
- ../include/dcmtk/dcmpmap/dpmtypes.h
-tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \
- ../../ofstd/include/dcmtk/ofstd/oftest.h \
- ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
- ../../ofstd/include/dcmtk/ofstd/oftypes.h \
- ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
- ../../ofstd/include/dcmtk/ofstd/ofcast.h \
- ../../ofstd/include/dcmtk/ofstd/ofexport.h \
- ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
- ../../ofstd/include/dcmtk/ofstd/ofstream.h \
- ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
- ../../ofstd/include/dcmtk/ofstd/oflist.h \
- ../../ofstd/include/dcmtk/ofstd/ofstring.h \
- ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
- ../../ofstd/include/dcmtk/ofstd/ofthread.h \
- ../../ofstd/include/dcmtk/ofstd/offile.h \
- ../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h \
- ../../ofstd/include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
- ../../oflog/include/dcmtk/oflog/oflog.h \
- ../../oflog/include/dcmtk/oflog/logger.h \
- ../../oflog/include/dcmtk/oflog/config.h \
- ../../oflog/include/dcmtk/oflog/config/defines.h \
- ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
- ../../oflog/include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
- ../../oflog/include/dcmtk/oflog/tstring.h \
- ../../oflog/include/dcmtk/oflog/tchar.h \
- ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
- ../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
- ../../oflog/include/dcmtk/oflog/layout.h \
- ../../oflog/include/dcmtk/oflog/streams.h \
- ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
- ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
- ../../oflog/include/dcmtk/oflog/spi/filter.h \
- ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
- ../../oflog/include/dcmtk/oflog/spi/logfact.h \
- ../../oflog/include/dcmtk/oflog/logmacro.h \
- ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
- ../../oflog/include/dcmtk/oflog/tracelog.h
PROJECT(dcmpstat)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmpstat_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmnet_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmqrdb_SOURCE_DIR}/include ${dcmsr_SOURCE_DIR}/include ${dcmsign_SOURCE_DIR}/include ${dcmtls_SOURCE_DIR}/include ${ZLIB_INCDIR} ${OPENSSL_INCDIR})
+INCLUDE_DIRECTORIES("${dcmpstat_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${dcmnet_SOURCE_DIR}/include" "${dcmimgle_SOURCE_DIR}/include" "${dcmqrdb_SOURCE_DIR}/include" "${dcmsr_SOURCE_DIR}/include" "${dcmsign_SOURCE_DIR}/include" "${dcmtls_SOURCE_DIR}/include" ${ZLIB_INCDIR} ${OPENSSL_INCDIR})
# recurse into subdirectories
-FOREACH(SUBDIR libsrc apps include data etc)
+FOREACH(SUBDIR libsrc apps include data etc tests)
ADD_SUBDIRECTORY(${SUBDIR})
ENDFOREACH(SUBDIR)
ENDFOREACH(PROGRAM)
# make sure executables are linked to the corresponding libraries
-FOREACH(PROGRAM dcmmkcrv dcmmklut dcmp2pgm dcmprscp dcmprscu dcmpsmk dcmpschk dcmpsprt dcmpsrcv dcmpssnd)
+FOREACH(PROGRAM dcmp2pgm dcmprscp dcmprscu dcmpsmk dcmpschk dcmpsprt dcmpsrcv dcmpssnd)
DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmpstat dcmdsig dcmsr dcmimage dcmimgle dcmqrdb dcmnet dcmtls dcmdata oflog ofstd)
ENDFOREACH(PROGRAM)
+
+FOREACH(PROGRAM dcmmkcrv dcmmklut)
+ DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmdsig dcmsr dcmimage dcmimgle dcmdata oflog ofstd)
+ENDFOREACH(PROGRAM)
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../ofstd/include/dcmtk/ofstd/offname.h \
../include/dcmtk/dcmpstat/dvcache.h ../include/dcmtk/dcmpstat/dvpstx.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmpstat/dviface.h ../include/dcmtk/dcmpstat/dvpscf.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../ofstd/include/dcmtk/ofstd/offname.h \
../include/dcmtk/dcmpstat/dvcache.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmpstat/dviface.h ../include/dcmtk/dcmpstat/dvpscf.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmnet/include/dcmtk/dcmnet/cond.h \
../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../ofstd/include/dcmtk/ofstd/offname.h \
../include/dcmtk/dcmpstat/dvcache.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmnet/include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../include/dcmtk/dcmpstat/dcmpstat.h ../include/dcmtk/dcmpstat/dvpstyp.h \
../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dpdefine.h \
../include/dcmtk/dcmpstat/dvpsgll.h ../include/dcmtk/dcmpstat/dvpsrsl.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmnet/include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../include/dcmtk/dcmpstat/dcmpstat.h ../include/dcmtk/dcmpstat/dvpstyp.h \
../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dpdefine.h \
../include/dcmtk/dcmpstat/dvpsgll.h ../include/dcmtk/dcmpstat/dvpsrsl.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../ofstd/include/dcmtk/ofstd/offname.h \
../include/dcmtk/dcmpstat/dvcache.h ../include/dcmtk/dcmpstat/dvpssp.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmpstat/dvpscf.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \
../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmpstat/dvpscf.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpshlp.h \
LOCALLIBS = $(dcmpstatlib) $(dcmsignlib) $(dcmsrlib) $(dcmimagelib) $(dcmimglelib) \
$(dcmqrdblib) $(dcmnetlib) $(dcmtlslib) $(dcmdatalib) $(ofloglib) $(ofstdlib) \
$(TIFFLIBS) $(PNGLIBS) $(XMLLIBS) $(ZLIBLIBS) $(TCPWRAPPERLIBS) $(OPENSSLLIBS) \
- $(CHARCONVLIBS)
-DCMMKLUT_LIBS = $(dcmimglelib) $(dcmdatalib) $(ofloglib) $(ofstdlib) $(XMLLIBS) $(ZLIBLIBS) \
- $(CHARCONVLIBS)
-DCMMKCRV_LIBS = $(dcmdatalib) $(ofloglib) $(ofstdlib) $(XMLLIBS) $(ZLIBLIBS) $(CHARCONVLIBS)
+ $(CHARCONVLIBS) $(MATHLIBS)
+DCMMKLUT_LIBS = $(dcmimglelib) $(dcmdatalib) $(ofloglib) $(ofstdlib) $(XMLLIBS) \
+ $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS)
+DCMMKCRV_LIBS = $(dcmdatalib) $(ofloglib) $(ofstdlib) $(XMLLIBS) $(ZLIBLIBS) \
+ $(CHARCONVLIBS) $(MATHLIBS)
objs = dcmpsmk.o dcmp2pgm.o dcmmklut.o dcmmkcrv.o dcmpssnd.o dcmpsrcv.o dcmpsprt.o dcmprscu.o \
dcmprscp.o dcmpschk.o
all: $(progs)
dcmpsmk: dcmpsmk.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmpsmk.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmpsmk.o $(LOCALLIBS) $(LIBS)
dcmp2pgm: dcmp2pgm.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmp2pgm.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmp2pgm.o $(LOCALLIBS) $(LIBS)
dcmmklut: dcmmklut.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmmklut.o $(DCMMKLUT_LIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmmklut.o $(DCMMKLUT_LIBS) $(LIBS)
dcmmkcrv: dcmmkcrv.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmmkcrv.o $(DCMMKCRV_LIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmmkcrv.o $(DCMMKCRV_LIBS) $(LIBS)
dcmpssnd: dcmpssnd.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmpssnd.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmpssnd.o $(LOCALLIBS) $(LIBS)
dcmpsrcv: dcmpsrcv.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmpsrcv.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmpsrcv.o $(LOCALLIBS) $(LIBS)
dcmpsprt: dcmpsprt.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmpsprt.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmpsprt.o $(LOCALLIBS) $(LIBS)
dcmprscu: dcmprscu.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmprscu.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmprscu.o $(LOCALLIBS) $(LIBS)
dcmprscp: dcmprscp.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmprscp.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmprscp.o $(LOCALLIBS) $(LIBS)
dcmpschk: dcmpschk.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmpschk.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmpschk.o $(LOCALLIBS) $(LIBS)
install: all
/*
*
- * Copyright (C) 1998-2012, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/ofstd/ofstream.h"
#include "dcmtk/ofstd/ofconapp.h"
#include "dcmtk/ofstd/ofcast.h"
OFLOG_WARN(dcmmkcrvLogger, "too many curve points, can only handle " << MAX_POINTS << ".");
done = OFTrue;
} else {
- if (curvefile.good()) array[idx++] = d;
+ if (curvefile.good()) array[idx++] = d;
}
}
OFLOG_INFO(dcmmkcrvLogger, "encoding curve data element as VR=US");
element = new DcmUnsignedShort(DcmTag(DCM_RETIRED_CurveData, EVR_US));
if (element==NULL) { OFLOG_FATAL(dcmmkcrvLogger, "out of memory"); return 1; }
- element->putUint16Array(OFstatic_cast(Uint16 *,rawData), byteLength/sizeof(Uint16));
+ element->putUint16Array(OFstatic_cast(Uint16 *,rawData), OFstatic_cast(Uint32, byteLength/sizeof(Uint16)));
break;
case 1: // SS
OFLOG_INFO(dcmmkcrvLogger, "encoding curve data element as VR=SS");
element = new DcmSignedShort(DcmTag(DCM_RETIRED_CurveData, EVR_SS));
if (element==NULL) { OFLOG_FATAL(dcmmkcrvLogger, "out of memory"); return 1; }
- element->putSint16Array(OFstatic_cast(Sint16 *,rawData), byteLength/sizeof(Sint16));
+ element->putSint16Array(OFstatic_cast(Sint16 *,rawData), OFstatic_cast(Uint32, byteLength/sizeof(Sint16)));
break;
case 2: // FL
OFLOG_INFO(dcmmkcrvLogger, "encoding curve data element as VR=FL");
element = new DcmFloatingPointSingle(DcmTag(DCM_RETIRED_CurveData, EVR_FL));
if (element==NULL) { OFLOG_FATAL(dcmmkcrvLogger, "out of memory"); return 1; }
- element->putFloat32Array(OFstatic_cast(Float32 *,rawData), byteLength/sizeof(Float32));
+ element->putFloat32Array(OFstatic_cast(Float32 *,rawData), OFstatic_cast(Uint32, byteLength/sizeof(Float32)));
break;
case 3: // FD
OFLOG_INFO(dcmmkcrvLogger, "encoding curve data element as VR=FD");
element = new DcmFloatingPointDouble(DcmTag(DCM_RETIRED_CurveData, EVR_FD));
if (element==NULL) { OFLOG_FATAL(dcmmkcrvLogger, "out of memory"); return 1; }
- element->putFloat64Array(OFstatic_cast(Float64 *,rawData), byteLength/sizeof(Float64));
+ element->putFloat64Array(OFstatic_cast(Float64 *,rawData), OFstatic_cast(Uint32, byteLength/sizeof(Float64)));
break;
case 4: // SL
OFLOG_INFO(dcmmkcrvLogger, "encoding curve data element as VR=SL");
element = new DcmSignedLong(DcmTag(DCM_RETIRED_CurveData, EVR_SL));
if (element==NULL) { OFLOG_FATAL(dcmmkcrvLogger, "out of memory"); return 1; }
- element->putSint32Array(OFstatic_cast(Sint32 *,rawData), byteLength/sizeof(Sint32));
+ element->putSint32Array(OFstatic_cast(Sint32 *,rawData), OFstatic_cast(Uint32, byteLength/sizeof(Sint32)));
break;
default:
OFLOG_FATAL(dcmmkcrvLogger, "unknown data VR, bailing out");
case 1: // OB
// create little endian byte order
OFLOG_INFO(dcmmkcrvLogger, "encoding curve data element as VR=OB");
- swapIfNecessary(EBO_LittleEndian, gLocalByteOrder, rawData, byteLength, align);
+ swapIfNecessary(EBO_LittleEndian, gLocalByteOrder, rawData, OFstatic_cast(Uint32, byteLength), align);
element = new DcmOtherByteOtherWord(DCM_RETIRED_CurveData);
if (element==NULL) { OFLOG_FATAL(dcmmkcrvLogger, "out of memory"); return 1; }
element->setGTag(OFstatic_cast(Uint16,0x5000+2*opt_group));
element->setVR(EVR_OB);
- element->putUint8Array(OFstatic_cast(Uint8 *,rawData), byteLength);
+ element->putUint8Array(OFstatic_cast(Uint8 *,rawData), OFstatic_cast(Uint32, byteLength));
dataset->insert(element, OFTrue);
break;
case 2: // OW
OFLOG_INFO(dcmmkcrvLogger, "encoding curve data element as VR=OW");
if (align != sizeof(Uint16))
{
- swapIfNecessary(EBO_LittleEndian, gLocalByteOrder, rawData, byteLength, align);
- swapIfNecessary(gLocalByteOrder, EBO_LittleEndian, rawData, byteLength, sizeof(Uint16));
+ swapIfNecessary(EBO_LittleEndian, gLocalByteOrder, rawData, OFstatic_cast(Uint32, byteLength), align);
+ swapIfNecessary(gLocalByteOrder, EBO_LittleEndian, rawData, OFstatic_cast(Uint32, byteLength), sizeof(Uint16));
}
element = new DcmOtherByteOtherWord(DCM_RETIRED_CurveData);
if (element==NULL) { OFLOG_FATAL(dcmmkcrvLogger, "out of memory"); return 1; }
element->setGTag(OFstatic_cast(Uint16,0x5000+2*opt_group));
element->setVR(EVR_OW);
- element->putUint16Array(OFstatic_cast(Uint16 *,rawData), byteLength/sizeof(Uint16));
+ element->putUint16Array(OFstatic_cast(Uint16 *,rawData), OFstatic_cast(Uint32, byteLength/sizeof(Uint16)));
dataset->insert(element, OFTrue);
break;
default:
/*
*
- * Copyright (C) 1998-2012, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/ofstd/ofstream.h"
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
/*
*
- * Copyright (C) 1998-2012, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/ofstd/ofstream.h"
#include "dcmtk/dcmpstat/dviface.h"
#include "dcmtk/dcmpstat/dvpstx.h" /* for DVPSTextObject */
/*
*
- * Copyright (C) 2000-2014, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
BEGIN_EXTERN_C
#ifdef HAVE_FCNTL_H
#include <fcntl.h> /* for O_RDONLY */
int main(int argc, char *argv[])
{
-
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
dcmDisableGethostbyaddr.set(OFTrue); // disable hostname lookup
OFString logfilename = logfileprefix;
logfilename += ".log";
- OFauto_ptr<dcmtk::log4cplus::Layout> layout(new dcmtk::log4cplus::PatternLayout(pattern));
+ OFunique_ptr<dcmtk::log4cplus::Layout> layout(new dcmtk::log4cplus::PatternLayout(pattern));
dcmtk::log4cplus::SharedAppenderPtr logfile(new dcmtk::log4cplus::FileAppender(logfilename));
dcmtk::log4cplus::Logger log = dcmtk::log4cplus::Logger::getRoot();
- logfile->setLayout(layout);
+ logfile->setLayout(OFmove(layout));
log.removeAllAppenders();
log.addAppender(logfile);
}
} // finished
cleanChildren();
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
#ifdef DEBUG
dcmDataDict.clear(); /* useful for debugging with dmalloc */
/*
- * Copyright (C) 1999-2014, OFFIS e.V.
+ * Copyright (C) 1999-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-#include "dcmtk/dcmnet/dcompat.h" /* compatibility code, needs to be included before dirent.h */
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
+#include "dcmtk/dcmnet/dcompat.h" /* compatibility code, needs to be included before dirent.h */
#define INCLUDE_CCTYPE
#include "dcmtk/ofstd/ofstdinc.h"
int main(int argc, char *argv[])
{
-
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION , "Print spooler for presentation state viewer", rcsid);
OFCommandLine cmd;
delete tLayer;
#endif
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
#ifdef DEBUG
dcmDataDict.clear(); /* useful for debugging with dmalloc */
/*
*
- * Copyright (C) 2000-2012, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTDLIB
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_WINDOWS_H
-#include <windows.h> /* this includes either winsock.h or winsock2.h */
-#endif
-
-#ifdef HAVE_GUSI_H
-#include <GUSI.h> /* needed for Macintosh */
-#include <SIOUX.h>
-#endif
-
#include "dcmtk/ofstd/ofstream.h"
#include "dcmtk/ofstd/ofstring.h" /* for class OFString */
#include "dcmtk/ofstd/ofconapp.h" /* for OFConsoleApplication */
{
char* p;
Uint32 foundFields = 0;
- int len;
+ size_t len;
do {
p = strchr(line, splitChar);
}
for (i=0; (Uint32)i<vm; i++) {
char* s = fields[i];
- int slen = strlen(s);
+ size_t slen = strlen(s);
if ((Uint32)slen > vr.getMaxValueLength()) {
OFLOG_WARN(dcmpschkLogger, MSG_lengthtoolarge << OFendl
<< " Affected length : " << slen << " bytes, should be "
int main(int argc, char *argv[])
{
-
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
+ OFStandard::initializeNetwork();
#ifdef WITH_TCPWRAPPER
// this code makes sure that the linker cannot optimize away
dcmTCPWrapperDaemonName.set(NULL);
#endif
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
-
OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION , "Checking tool for presentation states", rcsid);
OFCommandLine cmd;
cmd.setOptionColumns(LONGCOL, SHORTCOL);
#define INCLUDE_CSTRING
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/ofstd/ofconapp.h"
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/cmdlnarg.h"
int main(int argc, char *argv[])
{
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
#ifdef WITH_TCPWRAPPER
// this code makes sure that the linker cannot optimize away
// the DUL part of the network module where the external flags
/*
*
- * Copyright (C) 1999-2012, OFFIS e.V.
+ * Copyright (C) 1999-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CCTYPE
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/ofstd/ofstream.h"
#include "dcmtk/dcmpstat/dviface.h"
#include "dcmtk/dcmpstat/dvpssp.h"
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
BEGIN_EXTERN_C
#ifdef HAVE_FCNTL_H
#include <fcntl.h> /* for O_RDONLY */
{
OFLOG_ERROR(dcmpsrcvLogger, "Cannot write image file: " << context->fileName);
rsp->DimseStatus = STATUS_STORE_Refused_OutOfResources;
+
+ // delete incomplete file
+ OFStandard::deleteFile(context->fileName);
}
}
saveImageToDB(context, req, context->fileName, rsp, statusDetail);
if (strcpy(imageFileName, NULL_DEVICE_NAME) != 0)
{
OFLOG_INFO(dcmpsrcvLogger, "Store SCP: Deleting Image File: " << imageFileName);
- unlink(imageFileName);
+ OFStandard::deleteFile(imageFileName);
}
if (dbhandle) dbhandle->pruneInvalidRecords();
}
OFBool recUseTLS=OFFalse;
T_ASC_Network *net=NULL;
T_ASC_Parameters *params=NULL;
- DIC_NODENAME localHost;
DIC_NODENAME peerHost;
T_ASC_Association *assoc=NULL;
OFBool prepared = OFTrue;
{
ASC_setTransportLayerType(params, recUseTLS);
ASC_setAPTitles(params, dvi.getNetworkAETitle(), recAETitle, NULL);
- gethostname(localHost, sizeof(localHost) - 1);
sprintf(peerHost, "%s:%d", "localhost", (int)recPort);
- ASC_setPresentationAddresses(params, localHost, peerHost);
+ ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost);
// we propose only the "shutdown" SOP class in implicit VR
ASC_addPresentationContext(params, 1, UID_PrivateShutdownSOPClass, &xfer, 1);
// request shutdown association, abort if some strange peer accepts it
} /* for loop */
ASC_dropNetwork(&net);
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
return;
}
int main(int argc, char *argv[])
{
-
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
int opt_terminate = 0; /* default: no terminate mode */
const char *opt_cfgName = NULL; /* config file name */
delete messageClient;
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
#ifdef WITH_OPENSSL
if (tLayer)
/*
*
- * Copyright (C) 1999-2014, OFFIS e.V.
+ * Copyright (C) 1999-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
BEGIN_EXTERN_C
#ifdef HAVE_FCNTL_H
#include <fcntl.h> /* for O_RDONLY */
int main(int argc, char *argv[])
{
- OFString temp_str;
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
+ OFStandard::initializeNetwork();
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFString temp_str;
const char *opt_cfgName = NULL; /* config file name */
const char *opt_target = NULL; /* send target name */
/* open network connection */
T_ASC_Network *net=NULL;
T_ASC_Parameters *params=NULL;
- DIC_NODENAME localHost;
DIC_NODENAME peerHost;
T_ASC_Association *assoc=NULL;
ASC_setAPTitles(params, dvi.getNetworkAETitle(), targetAETitle, NULL);
- gethostname(localHost, sizeof(localHost) - 1);
sprintf(peerHost, "%s:%d", targetHostname, (int)targetPort);
- ASC_setPresentationAddresses(params, localHost, peerHost);
+ ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost);
cond = addAllStoragePresentationContexts(params, targetImplicitOnly);
if (cond.bad())
delete messageClient;
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
#ifdef WITH_OPENSSL
if (tLayer)
# declare installation files
-INSTALL(FILES philips.lut DESTINATION ${DCMTK_INSTALL_DATDIR} COMPONENT data)
+INSTALL(FILES philips.lut DESTINATION "${DCMTK_INSTALL_DATDIR}" COMPONENT data)
\page dcmmkcrv dcmmkcrv: Add 2D curve data to image
\endif
-\section synopsis SYNOPSIS
+\section dcmmkcrv_synopsis SYNOPSIS
\verbatim
dcmmkcrv [options] dcmfile-in curvedata-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section dcmmkcrv_description DESCRIPTION
The \b dcmmkcrv utility allows one to create DICOM images containing curve data.
Since curve data is hardly used by vendors today, this is intended as a
syntax used for the input file. This utility only supports the creation of
two-dimensional curves.
-\section parameters PARAMETERS
+\section dcmmkcrv_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input image file
dcmfile-out DICOM output filename
\endverbatim
-\section options OPTIONS
+\section dcmmkcrv_options OPTIONS
-\subsection general_options general options
+\subsection dcmmkcrv_general_options general options
\verbatim
-h --help
use config file f for the logger
\endverbatim
-\subsection curve_creation_options curve creation options
+\subsection dcmmkcrv_curve_creation_options curve creation options
\verbatim
curve type:
set Axis Units to x\y (default: absent)
\endverbatim
-\section notes NOTES
+\section dcmmkcrv_notes NOTES
-\subsection syntax_data_file Syntax of the Curve Data File
+\subsection dcmmkcrv_syntax_data_file Syntax of the Curve Data File
The curve data file is expected to be a plain ASCII text file containing
numbers (integer or floating point) comprising the values of the point
256.451947 1.000000
\endverbatim
-\section logging LOGGING
+\section dcmmkcrv_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmmkcrv_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmmkcrv_environment ENVIRONMENT
The \b dcmmkcrv utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section copyright COPYRIGHT
+\section dcmmkcrv_copyright COPYRIGHT
Copyright (C) 1998-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmmklut dcmmklut: Create DICOM look-up tables
\endif
-\section synopsis SYNOPSIS
+\section dcmmklut_synopsis SYNOPSIS
\verbatim
dcmmklut [options] dcmimg-out
\endverbatim
-\section description DESCRIPTION
+\section dcmmklut_description DESCRIPTION
The \b dcmmklut utility allows one to create a variety of DICOM Modality,
Presentation and VOI look-up tables (LUT) and is intended for the creation
tabbed text file which allows the easy visualization of the curves with a
common spread sheet application (e.g. Microsoft Excel).
-\section parameters PARAMETERS
+\section dcmmklut_parameters PARAMETERS
\verbatim
dcmimg-out DICOM output filename
\endverbatim
-\section options OPTIONS
+\section dcmmklut_options OPTIONS
-\subsection general_options general options
+\subsection dcmmklut_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection lut_creation_options LUT creation options
+\subsection dcmmklut_lut_creation_options LUT creation options
\verbatim
LUT type:
write LUT Data as SS (minimal support)
\endverbatim
-\subsection file_options file options
+\subsection dcmmklut_file_options file options
\verbatim
+Fi --dicom-input [f]ilename: string
read dataset from DICOM file f
write LUT data to tabbed text file f
\endverbatim
-\section notes NOTES
+\section dcmmklut_notes NOTES
Please check the DICOM standard for further restrictions on the look-up table
structure. Especially the number of bits per table entry might be restricted
in particular IODs.
-\section logging LOGGING
+\section dcmmklut_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmmklut_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmmklut_environment ENVIRONMENT
The \b dcmmklut utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcmmklut_files FILES
<em>\<datadir\>/philips.lut</em> - sample LUT in text format
-\section copyright COPYRIGHT
+\section dcmmklut_copyright COPYRIGHT
Copyright (C) 1998-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmp2pgm dcmp2pgm: Read DICOM image and presentation state and render bitmap
\endif
-\section synopsis SYNOPSIS
+\section dcmp2pgm_synopsis SYNOPSIS
\verbatim
dcmp2pgm [options] dcmimage-in [bitmap-out]
\endverbatim
-\section description DESCRIPTION
+\section dcmp2pgm_description DESCRIPTION
The \b dcmp2pgm utility renders a monochrome DICOM image under the control of
a grayscale softcopy presentation state object into a monochrome bitmap
performed if the characteristic curve of the display system is available
and defined in the configuration file.
-\section parameters PARAMETERS
+\section dcmp2pgm_parameters PARAMETERS
\verbatim
dcmimage-in input DICOM image
bitmap-out output DICOM image or PGM bitmap
\endverbatim
-\section options OPTIONS
+\section dcmp2pgm_options OPTIONS
-\subsection general_options general options
+\subsection dcmp2pgm_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection processing_options processing options
+\subsection dcmp2pgm_processing_options processing options
\verbatim
-p --pstate [f]ilename: string
process using presentation state file
process using image frame f (default: 1)
\endverbatim
-\subsection output_format output format
+\subsection dcmp2pgm_output_format output format
\verbatim
-D --pgm
save image as PGM (default)
save image as DICOM secondary capture
\endverbatim
-\subsection output_options output options
+\subsection dcmp2pgm_output_options output options
\verbatim
+S --save-pstate [f]ilename: string
save presentation state to file
\endverbatim
-\section notes NOTES
+\section dcmp2pgm_notes NOTES
-\subsection limitations Limitations
+\subsection dcmp2pgm_limitations Limitations
Please note that the \b dcmp2pgm tool does not render all aspects that are
defined by the Grayscale Softcopy Presentation State (GSPS) object but only
IOD (see Supplement 33) are ignored. This includes Supplement 120 with its
extended features like e.g. Compound Graphics.
-\section logging LOGGING
+\section dcmp2pgm_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmp2pgm_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmp2pgm_environment ENVIRONMENT
The \b dcmp2pgm utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcmp2pgm_files FILES
<em>\<etcdir\>/dcmpstat.cfg</em> - sample configuration file
-\section copyright COPYRIGHT
+\section dcmp2pgm_copyright COPYRIGHT
Copyright (C) 1998-2017 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmprscp dcmprscp: DICOM basic grayscale print management SCP
\endif
-\section synopsis SYNOPSIS
+\section dcmprscp_synopsis SYNOPSIS
\verbatim
dcmprscp [options]
\endverbatim
-\section description DESCRIPTION
+\section dcmprscp_description DESCRIPTION
The \b dcmprscp utility implements the DICOM Basic Grayscale Print Management
Service Class as SCP. It also supports the optional Presentation LUT SOP
preview of the hardcopy. The \b dcmprscp utility reads the characteristics of
the printer to be emulated from the configuration file.
-\section options OPTIONS
+\section dcmprscp_options OPTIONS
-\subsection general_options general options
+\subsection dcmprscp_general_options general options
\verbatim
-h --help
print this help text and exit
# compatibility only
\endverbatim
-\subsection processing_options processing options
+\subsection dcmprscp_processing_options processing options
\verbatim
-c --config [f]ilename: string
process using settings from configuration file
dump all DIMSE messages
\endverbatim
-\section logging LOGGING
+\section dcmprscp_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmprscp_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmprscp_environment ENVIRONMENT
The \b dcmprscp utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcmprscp_files FILES
<em>\<etcdir\>/dcmpstat.cfg</em>, <em>\<etcdir\>/printers.cfg</em> - sample configuration files
-\section see_also SEE ALSO
+\section dcmprscp_see_also SEE ALSO
<b>dcmprscu</b>(1)
-\section copyright COPYRIGHT
+\section dcmprscp_copyright COPYRIGHT
Copyright (C) 1999-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmprscu dcmprscu: Print spooler for presentation state viewer
\endif
-\section synopsis SYNOPSIS
+\section dcmprscu_synopsis SYNOPSIS
\verbatim
dcmprscu [options] [dcmfile-in...]
\endverbatim
-\section description DESCRIPTION
+\section dcmprscu_description DESCRIPTION
The \b dcmprscu utility implements the DICOM Basic Grayscale Print Management
Service Class as SCU. It also supports the optional Basic Annotation Box
the file name of a Stored Print object must be passed, or in "spool mode",
in which case commands are read periodically from a spool directory.
-\section parameters PARAMETERS
+\section dcmprscu_parameters PARAMETERS
\verbatim
dcmfile-in stored print file(s) to be spooled
\endverbatim
-\section options OPTIONS
+\section dcmprscu_options OPTIONS
-\subsection general_options general options
+\subsection dcmprscu_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection print_options print options
+\subsection dcmprscu_print_options print options
\verbatim
--noprint
do not create print-out (no n-action-rq)
transmit basic grayscale images in MONOCHROME1
\endverbatim
-\subsection mode_options mode options
+\subsection dcmprscu_mode_options mode options
\verbatim
+p --print
printer mode, print file(s) and terminate (default)
spooler mode, use job prefix n
\endverbatim
-\subsection processing_options processing options
+\subsection dcmprscu_processing_options processing options
\verbatim
-c --config [f]ilename: string
process using settings from configuration file
dump all DIMSE messages
\endverbatim
-\subsection spooler_options spooler options (only with --spool)
+\subsection dcmprscu_spooler_options spooler options (only with --spool)
\verbatim
--sleep [d]elay: integer (default: 1)
sleep d seconds between spooler checks
\endverbatim
-\subsection film_session_options basic film session options (not with --spool):
+\subsection dcmprscu_film_session_options basic film session options (not with --spool):
\verbatim
--copies [v]alue: integer (1..100, default: 1)
set number of copies to v
set film session owner ID to v
\endverbatim
-\section logging LOGGING
+\section dcmprscu_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmprscu_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmprscu_environment ENVIRONMENT
The \b dcmprscu utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcmprscu_files FILES
<em>\<etcdir\>/dcmpstat.cfg</em>, <em>\<etcdir\>/printers.cfg</em> - sample configuration files
-\section see_also SEE ALSO
+\section dcmprscu_see_also SEE ALSO
<b>dcmprscp</b>(1)
-\section copyright COPYRIGHT
+\section dcmprscu_copyright COPYRIGHT
Copyright (C) 1999-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmpschk dcmpschk: Checking tool for presentation states
\endif
-\section synopsis SYNOPSIS
+\section dcmpschk_synopsis SYNOPSIS
\verbatim
dcmpschk [options] [dcmfile-in...]
\endverbatim
-\section description DESCRIPTION
+\section dcmpschk_description DESCRIPTION
The \b dcmpschk utility checks DICOM Grayscale Softcopy Presentation State
objects for conformance with the standard. The test is performed in three
which contain the Mask Module. These will be rejected with a message
that the Mask Module is not supported.
-\section parameters PARAMETERS
+\section dcmpschk_parameters PARAMETERS
\verbatim
dcmfile-in presentation state file(s) to be checked
\endverbatim
-\section options OPTIONS
+\section dcmpschk_options OPTIONS
-\subsection general_options general options
+\subsection dcmpschk_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\section logging LOGGING
+\section dcmpschk_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmpschk_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmpschk_environment ENVIRONMENT
The \b dcmpschk utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section copyright COPYRIGHT
+\section dcmpschk_copyright COPYRIGHT
Copyright (C) 2000-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmpsmk dcmpsmk: Create DICOM grayscale softcopy presentation state
\endif
-\section synopsis SYNOPSIS
+\section dcmpsmk_synopsis SYNOPSIS
\verbatim
dcmpsmk [options] dcmfile-in dcmfile-out
\endverbatim
-\section description DESCRIPTION
+\section dcmpsmk_description DESCRIPTION
The \b dcmpsmk utility reads a DICOM image file and creates a grayscale
softcopy presentation state object according to Supplement 33. The
contains values that should allow for a "reasonable" display of the image
when rendered under control of the presentation state.
-\section parameters PARAMETERS
+\section dcmpsmk_parameters PARAMETERS
\verbatim
dcmfile-in DICOM image file(s) to be read
dcmfile-out DICOM presentation state file to be created
\endverbatim
-\section options OPTIONS
+\section dcmpsmk_options OPTIONS
-\subsection general_options general options
+\subsection dcmpsmk_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input optons
+\subsection dcmpsmk_input_options input optons
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection processing_options processing options
+\subsection dcmpsmk_processing_options processing options
\verbatim
VOI transform handling:
image located on storage medium
\endverbatim
-\subsection output_options output options
+\subsection dcmpsmk_output_options output options
\verbatim
output transfer syntax:
write with implicit VR little endian TS
\endverbatim
-\section notes NOTES
+\section dcmpsmk_notes NOTES
If more than one input file (\e dcmfile-in) is specified, the additional image
files are only referenced from the created presentation state file, but no
further (e.g. display-related) information is taken over.
-\section logging LOGGING
+\section dcmpsmk_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmpsmk_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmpsmk_environment ENVIRONMENT
The \b dcmpsmk utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section copyright COPYRIGHT
+\section dcmpsmk_copyright COPYRIGHT
Copyright (C) 1998-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmpsprt dcmpsprt: Read DICOM images and presentation states and render print job
\endif
-\section synopsis SYNOPSIS
+\section dcmpsprt_synopsis SYNOPSIS
\verbatim
dcmpsprt [options] dcmfile-in...
\endverbatim
-\section description DESCRIPTION
+\section dcmpsprt_description DESCRIPTION
The \b dcmpsprt utility reads one or more DICOM images and presentation states
and creates a print job. The print job consists of one Stored Print object
to the printer. In this case, \b dcmpsprt calls the \b dcmprscu application
which performs communication with the printer.
-\section parameters PARAMETERS
+\section dcmpsprt_parameters PARAMETERS
\verbatim
dcmfile-in DICOM image file(s) to be printed
\endverbatim
-\section options OPTIONS
+\section dcmpsprt_options OPTIONS
-\subsection general_options general options
+\subsection dcmpsprt_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection processing_options processing options
+\subsection dcmpsprt_processing_options processing options
\verbatim
+p --pstate [p]state file: string
render the following image with presentation state p
select printer with identifier n from cfg file
\endverbatim
-\subsection spooling_options spooling options
+\subsection dcmpsprt_spooling_options spooling options
\verbatim
-s --spool
spool print job to DICOM printer
do not spool print job to DICOM printer (default)
\endverbatim
-\subsection film_orientation_options film orientation options
+\subsection dcmpsprt_film_orientation_options film orientation options
\verbatim
--portrait
set portrait orientation
use printer default (default)
\endverbatim
-\subsection trim_border_options trim (border) options
+\subsection dcmpsprt_trim_border_options trim (border) options
\verbatim
--trim
set trim on
use printer default (default)
\endverbatim
-\subsection behavior_options requested decimate/crop behavior options
+\subsection dcmpsprt_behavior_options requested decimate/crop behavior options
\verbatim
--request-decimate
request decimate
use printer default (default)
\endverbatim
-\subsection print_presentation_LUT_options print presentation LUT options
+\subsection dcmpsprt_print_presentation_LUT_options print presentation LUT options
\verbatim
--default-plut
do not create presentation LUT (default)
set reflected ambient light to v (in cd/m^2)
\endverbatim
-\subsection film_options basic film session options (only with --spool)
+\subsection dcmpsprt_film_options basic film session options (only with --spool)
\verbatim
--copies [v]alue: integer (1..100, default: 1)
set number of copies to v
set film session owner ID to v
\endverbatim
-\subsection annotation_options annotation options
+\subsection dcmpsprt_annotation_options annotation options
\verbatim
--no-annotation
do not create annotation (default)
do not prepend illumination to annotation
\endverbatim
-\subsection overlay_options overlay options
+\subsection dcmpsprt_overlay_options overlay options
\verbatim
+O --overlay [f]ilename: string, [x] [y]: integer
load overlay data from PBM file f and display at position (x,y)
use overlay gray level v (default: 4095 = white)
\endverbatim
-\subsection other_print_options other print options
+\subsection dcmpsprt_other_print_options other print options
\verbatim
-l --layout [c]olumns [r]ows: integer (default: 1 1)
use 'STANDARD\c,r' image display format
set image box configuration information to v
\endverbatim
-\section logging LOGGING
+\section dcmpsprt_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmpsprt_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmpsprt_environment ENVIRONMENT
The \b dcmpsprt utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcmpsprt_files FILES
<em>\<etcdir\>/dcmpstat.cfg</em>, <em>\<etcdir\>/printers.cfg</em> - sample configuration files
-\section see_also SEE ALSO
+\section dcmpsprt_see_also SEE ALSO
<b>dcmprscu</b>(1)
-\section copyright COPYRIGHT
+\section dcmpsprt_copyright COPYRIGHT
Copyright (C) 1999-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmpsrcv dcmpsrcv: Network receive for presentation state viewer
\endif
-\section synopsis SYNOPSIS
+\section dcmpsrcv_synopsis SYNOPSIS
\verbatim
dcmpsrcv [options] config-file
\endverbatim
-\section description DESCRIPTION
+\section dcmpsrcv_description DESCRIPTION
The \b dcmpsrcv application is invoked by the Grayscale Softcopy Presentation
State Viewer and is not intended to be invoked manually. The application
syntaxes. Incoming images are stored in the common viewer database. See the
full conformance statement for further details.
-\section parameters PARAMETERS
+\section dcmpsrcv_parameters PARAMETERS
\verbatim
config-file configuration file to be read
\endverbatim
-\section options OPTIONS
+\section dcmpsrcv_options OPTIONS
-\subsection general_options general options
+\subsection dcmpsrcv_general_options general options
\verbatim
-h --help
print this help text and exit
terminate all running receivers
\endverbatim
-\section logging LOGGING
+\section dcmpsrcv_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmpsrcv_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmpsrcv_environment ENVIRONMENT
The \b dcmpsrcv utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcmpsrcv_files FILES
<em>\<etcdir\>/dcmpstat.cfg</em> - sample configuration file
-\section see_also SEE ALSO
+\section dcmpsrcv_see_also SEE ALSO
<b>dcmpssnd</b>(1), <b>storescp</b>(1)
-\section copyright COPYRIGHT
+\section dcmpsrcv_copyright COPYRIGHT
Copyright (C) 1998-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmpssnd dcmpssnd: Network send for presentation state viewer
\endif
-\section synopsis SYNOPSIS
+\section dcmpssnd_synopsis SYNOPSIS
\verbatim
dcmpssnd [options] config-file target study [series] [instance]
\endverbatim
-\section description DESCRIPTION
+\section dcmpssnd_description DESCRIPTION
The \b dcmpssnd application is invoked by the Grayscale Softcopy Presentation
State Viewer and is not intended to be invoked manually. The application
conformance statement for further details.
-\section parameters PARAMETERS
+\section dcmpssnd_parameters PARAMETERS
\verbatim
config-file configuration file to be read
instance SOP instance UID (default: send complete series)
\endverbatim
-\section options OPTIONS
+\section dcmpssnd_options OPTIONS
-\subsection general_options general options
+\subsection dcmpssnd_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\section logging LOGGING
+\section dcmpssnd_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmpssnd_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmpssnd_environment ENVIRONMENT
The \b dcmpssnd utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcmpssnd_files FILES
<em>\<etcdir\>/dcmpstat.cfg</em> - sample configuration file
-\section see_also SEE ALSO
+\section dcmpssnd_see_also SEE ALSO
<b>dcmpsrcv</b>(1), <b>storescu</b>(1)
-\section copyright COPYRIGHT
+\section dcmpssnd_copyright COPYRIGHT
Copyright (C) 1998-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
# declare installation files
-INSTALL(FILES dcmpstat.cfg printers.cfg DESTINATION ${DCMTK_INSTALL_ETCDIR} COMPONENT etc)
+INSTALL(FILES dcmpstat.cfg printers.cfg DESTINATION "${DCMTK_INSTALL_ETCDIR}" COMPONENT etc)
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmpstat DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmpstat DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
/*
*
- * Copyright (C) 1998-2012, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
inline Uint32 getCount() const
{
- return List.size();
+ return OFstatic_cast(Uint32, List.size());
}
/** sets internal cursor to specified position in cache list
*/
inline ItemStruct *getItem() const
{
- OFListConstIterator(ItemStruct *) it = Iterator;
+ OFListConstIterator(ItemStruct *) it = Iterator;
return (it != List.end()) ? (*Iterator) : (ItemStruct *)NULL;
}
*/
inline Uint32 getCount() const
{
- return List.size();
+ return OFstatic_cast(Uint32, List.size());
}
/** sets internal cursor to specified position in cache list
*/
inline ItemStruct *getItem() const
{
- OFListConstIterator(ItemStruct *) it = Iterator;
+ OFListConstIterator(ItemStruct *) it = Iterator;
return (it != List.end()) ? (*Iterator) : (ItemStruct *)NULL;
}
*/
inline Uint32 getCount() const
{
- return List.size();
+ return OFstatic_cast(Uint32, List.size());
}
/** sets internal cursor to specified position in cache list
*/
inline ItemStruct *getItem() const
{
- OFListConstIterator(ItemStruct *) it = Iterator;
+ OFListConstIterator(ItemStruct *) it = Iterator;
return (it != List.end()) ? (*Iterator) : (ItemStruct *)NULL;
}
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../ofstd/include/dcmtk/ofstd/offname.h \
../include/dcmtk/dcmpstat/dvcache.h ../include/dcmtk/dcmpstat/dvpsdef.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../include/dcmtk/dcmpstat/dvpsdef.h ../include/dcmtk/dcmpstat/dvpshlp.h \
../include/dcmtk/dcmpstat/dvpscf.h ../include/dcmtk/dcmpstat/dvpspl.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../include/dcmtk/dcmpstat/dvpsdef.h ../include/dcmtk/dcmpstat/dvpspll.h \
../include/dcmtk/dcmpstat/dvpscf.h ../include/dcmtk/dcmpstat/dvpshlp.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../include/dcmtk/dcmpstat/dvpshlp.h
dvpsmsg.o: dvpsmsg.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/dcmtrans.h \
../../dcmnet/include/dcmtk/dcmnet/dcmlayer.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../ofstd/include/dcmtk/ofstd/ofnetdb.h
dvpsov.o: dvpsov.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmpstat/dvpsov.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h
dvpspll.o: dvpspll.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmpstat/dvpspr.h \
../../dcmnet/include/dcmtk/dcmnet/dimse.h \
../../dcmnet/include/dcmtk/dcmnet/dicom.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofalign.h \
../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofalign.h \
../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h \
../../dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
/*
*
- * Copyright (C) 1998-2013, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
x=0;
y=0;
- OFCondition result = verticesOfThePolygonalShutter.getSint32(y,2*idx);
- if (EC_Normal==result) result = verticesOfThePolygonalShutter.getSint32(x,2*idx+1);
+ OFCondition result = verticesOfThePolygonalShutter.getSint32(y,OFstatic_cast(Uint32, 2*idx));
+ if (EC_Normal==result) result = verticesOfThePolygonalShutter.getSint32(x,OFstatic_cast(Uint32, 2*idx+1));
return result;
}
/*
*
- * Copyright (C) 1998-2016, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
#include "dcmtk/dcmpstat/dviface.h"
#include "dcmtk/dcmpstat/dvpsdef.h" /* for constants */
END_EXTERN_C
#ifdef HAVE_WINDOWS_H
-#include <windows.h>
#include <winbase.h> /* for CreateProcess */
#endif
// This will badly interact with oflog config files :(
const char *pattern = "%D, Level %p, Module DCMPSTAT%n%m%n";
- OFauto_ptr<dcmtk::log4cplus::Layout> layout(new dcmtk::log4cplus::PatternLayout(pattern));
+ OFunique_ptr<dcmtk::log4cplus::Layout> layout(new dcmtk::log4cplus::PatternLayout(pattern));
dcmtk::log4cplus::SharedAppenderPtr logfile(new dcmtk::log4cplus::FileAppender(filepath, STD_NAMESPACE ios::app));
// We can't use OFLog::getLogger() here because that doesn't let us
// configure the object
dcmtk::log4cplus::Logger log = dcmtk::log4cplus::Logger::getInstance("dcmtk.dcmpstat.logfile");
- logfile->setLayout(layout);
+ logfile->setLayout(OFmove(layout));
log.addAppender(logfile);
log.setLogLevel(getLogLevel());
if (getQueryRetrieveServerName()==NULL) return EC_IllegalCall;
if (configPath.empty()) return EC_IllegalCall;
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
OFCondition result = EC_Normal;
T_ASC_Network *net=NULL;
T_ASC_Parameters *params=NULL;
- DIC_NODENAME localHost;
DIC_NODENAME peerHost;
T_ASC_Association *assoc=NULL;
if (cond.good())
{
ASC_setAPTitles(params, getNetworkAETitle(), getQueryRetrieveAETitle(), NULL);
- gethostname(localHost, sizeof(localHost) - 1);
sprintf(peerHost, "localhost:%d", OFstatic_cast(int, getQueryRetrievePort()));
- ASC_setPresentationAddresses(params, localHost, peerHost);
+ ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost);
const char* transferSyntaxes[] = { UID_LittleEndianImplicitTransferSyntax };
cond = ASC_addPresentationContext(params, 1, UID_PrivateShutdownSOPClass, transferSyntaxes, 1);
ASC_dropNetwork(&net);
} else result = EC_IllegalCall;
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
return result;
}
if (getPrintServerName()==NULL) return EC_IllegalCall;
if (configPath.empty()) return EC_IllegalCall;
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
OFCondition result = EC_Normal;
T_ASC_Network *net=NULL;
T_ASC_Parameters *params=NULL;
- DIC_NODENAME localHost;
DIC_NODENAME peerHost;
T_ASC_Association *assoc=NULL;
const char *target = NULL;
}
ASC_setAPTitles(params, getNetworkAETitle(), getTargetAETitle(target), NULL);
- gethostname(localHost, sizeof(localHost) - 1);
sprintf(peerHost, "%s:%d", getTargetHostname(target), OFstatic_cast(int, getTargetPort(target)));
- ASC_setPresentationAddresses(params, localHost, peerHost);
+ ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost);
if (cond.good()) cond = ASC_setTransportLayerType(params, useTLS);
} else result = EC_IllegalCall;
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
return result; // result of last process only
}
/*
*
- * Copyright (C) 1998-2010, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
OFCondition result = EC_Normal;
DcmStack stack;
-
+
curveGroup = group;
DcmElement *d_curveDimensions = NULL;
DcmElement *d_numberOfPoints = NULL;
DcmElement *d_curveDescription = NULL;
DcmElement *d_axisUnits = NULL;
DcmElement *d_curveLabel = NULL;
-
+
/* first we look for the Curve Data */
DcmTagKey key(0x5000 + group,0x3000);
if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse))
{
- d_curveData = (DcmElement *)(stack.top());
+ d_curveData = (DcmElement *)(stack.top());
} else return EC_IllegalCall;
-
+
key.setElement(0x0005); // Curve Dimensions
stack.clear();
if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse))
{
- d_curveDimensions = (DcmElement *)(stack.top());
+ d_curveDimensions = (DcmElement *)(stack.top());
} else return EC_IllegalCall;
key.setElement(0x0110); // Curve Data Descriptor
stack.clear();
if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse))
{
- d_numberOfPoints = (DcmElement *)(stack.top());
+ d_numberOfPoints = (DcmElement *)(stack.top());
} else return EC_IllegalCall;
key.setElement(0x0020); // Type of Data
stack.clear();
if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse))
{
- d_typeOfData = (DcmElement *)(stack.top());
+ d_typeOfData = (DcmElement *)(stack.top());
} else return EC_IllegalCall;
key.setElement(0x0103); // Data Value Representation
stack.clear();
if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse))
{
- d_dataVR = (DcmElement *)(stack.top());
+ d_dataVR = (DcmElement *)(stack.top());
} else return EC_IllegalCall;
key.setElement(0x0022); // Curve Description
stack.clear();
if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse))
{
- d_curveDescription = (DcmElement *)(stack.top());
+ d_curveDescription = (DcmElement *)(stack.top());
}
key.setElement(0x0030); // Axis Units
stack.clear();
if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse))
{
- d_axisUnits = (DcmElement *)(stack.top());
+ d_axisUnits = (DcmElement *)(stack.top());
}
key.setElement(0x2500); // Curve Label
stack.clear();
if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse))
{
- d_curveLabel = (DcmElement *)(stack.top());
+ d_curveLabel = (DcmElement *)(stack.top());
}
Uint16 u=0;
// Curve Dimensions unreadable or != 2, bail out
return EC_IllegalCall;
}
-
+
u=0;
if ((EC_Normal != d_numberOfPoints->getUint16(u,0))||(u == 0))
{
if ((d_curveDescription) &&(EC_Normal == d_curveDescription->getOFString(aString,0)))
{
- curveDescription = aString;
+ curveDescription = aString;
}
-
+
if ((d_axisUnits) &&(EC_Normal == d_axisUnits->getOFString(aString,0)))
{
- axisUnitsX = aString;
+ axisUnitsX = aString;
}
if ((d_axisUnits) &&(EC_Normal == d_axisUnits->getOFString(aString,1)))
{
- axisUnitsY = aString;
+ axisUnitsY = aString;
}
if ((d_curveLabel) &&(EC_Normal == d_curveLabel->getOFString(aString,0)))
{
- curveLabel = aString;
+ curveLabel = aString;
}
-
+
Uint16 dataVR=0;
if (EC_Normal != d_dataVR->getUint16(dataVR,0))
{
// cannot read curve data VR, bail out
return EC_IllegalCall;
- }
+ }
curveData = new double[numberOfPoints*2];
if (curveData==NULL) return EC_MemoryExhausted;
void *rawData=NULL;
size_t align=0;
-
+
Uint8 *pui8=NULL;
Uint16 *pui16=NULL;
Sint16 *psi16=NULL;
case EVR_OW:
case EVR_ox:
case EVR_US:
-
+
if (EC_Normal == d_curveData->getUint8Array(pui8))
{
- rawData = pui8;
+ rawData = pui8;
align = 1;
- }
+ }
else if (EC_Normal == d_curveData->getUint16Array(pui16))
{
- rawData = pui16;
+ rawData = pui16;
align = sizeof(Uint16);
}
else result = EC_IllegalCall;
case EVR_SS:
if (EC_Normal == d_curveData->getSint16Array(psi16))
{
- rawData = psi16;
+ rawData = psi16;
align = sizeof(Sint16);
} else result = EC_IllegalCall;
break;
case EVR_FL:
if (EC_Normal == d_curveData->getFloat32Array(pfl32))
{
- rawData = pfl32;
+ rawData = pfl32;
align = sizeof(Float32);
} else result = EC_IllegalCall;
break;
case EVR_FD:
if (EC_Normal == d_curveData->getFloat64Array(pfl64))
{
- rawData = pfl64;
+ rawData = pfl64;
align = sizeof(Float64);
} else result = EC_IllegalCall;
break;
case EVR_SL:
if (EC_Normal == d_curveData->getSint32Array(psi32))
{
- rawData = psi32;
+ rawData = psi32;
align = sizeof(Sint32);
} else result = EC_IllegalCall;
break;
result = EC_IllegalCall;
break;
}
-
+
size_t byteLength = (size_t)(d_curveData->getLength());
size_t maxidx = 2*numberOfPoints;
size_t i;
-
+
switch (dataVR)
{
case 0: // VR=US. align can be 1 or 2
if ((align==1)||(align==sizeof(Uint16)))
{
- if (align==1) swapIfNecessary(gLocalByteOrder, EBO_LittleEndian, rawData, byteLength, sizeof(Uint16));
- if (maxidx*sizeof(Uint16) <= byteLength)
+ if (align==1) swapIfNecessary(gLocalByteOrder, EBO_LittleEndian, rawData, OFstatic_cast(Uint32, byteLength), sizeof(Uint16));
+ if (maxidx*sizeof(Uint16) <= byteLength)
{
for (i=0; i<maxidx; i++) curveData[i] = (double)(((Uint16 *)rawData)[i]);
} else result=EC_IllegalCall;
case 1: // VR=SS. align can be 1 or 2
if ((align==1)||(align==sizeof(Sint16)))
{
- if (align==1) swapIfNecessary(gLocalByteOrder, EBO_LittleEndian, rawData, byteLength, sizeof(Sint16));
- if (maxidx*sizeof(Sint16) <= byteLength)
+ if (align==1) swapIfNecessary(gLocalByteOrder, EBO_LittleEndian, rawData, OFstatic_cast(Uint32, byteLength), sizeof(Sint16));
+ if (maxidx*sizeof(Sint16) <= byteLength)
{
for (i=0; i<maxidx; i++) curveData[i] = (double)(((Sint16 *)rawData)[i]);
} else result=EC_IllegalCall;
case 2: // VR=FL. align can be 1, 2, 4
if ((align==1)||(align==sizeof(Uint16))||(align==sizeof(Float32)))
{
- // if data is word aligned, first swap back to little endian OB
- if (align==sizeof(Uint16)) swapIfNecessary(EBO_LittleEndian, gLocalByteOrder, rawData, byteLength, sizeof(Uint16));
- if ((align==1)||(align==sizeof(Uint16)))
- swapIfNecessary(gLocalByteOrder, EBO_LittleEndian, rawData, byteLength, sizeof(Float32));
- if (maxidx*sizeof(Float32) <= byteLength)
+ // if data is word aligned, first swap back to little endian OB
+ if (align==sizeof(Uint16)) swapIfNecessary(EBO_LittleEndian, gLocalByteOrder, rawData, OFstatic_cast(Uint32, byteLength), sizeof(Uint16));
+ if ((align==1)||(align==sizeof(Uint16)))
+ swapIfNecessary(gLocalByteOrder, EBO_LittleEndian, rawData, OFstatic_cast(Uint32, byteLength), sizeof(Float32));
+ if (maxidx*sizeof(Float32) <= byteLength)
{
for (i=0; i<maxidx; i++) curveData[i] = (double)(((Float32 *)rawData)[i]);
} else result=EC_IllegalCall;
case 3: // VR=FD. align can be 1, 2, 8
if ((align==1)||(align==sizeof(Uint16))||(align==sizeof(Float64)))
{
- // if data is word aligned, first swap back to little endian OB
- if (align==sizeof(Uint16)) swapIfNecessary(EBO_LittleEndian, gLocalByteOrder, rawData, byteLength, sizeof(Uint16));
+ // if data is word aligned, first swap back to little endian OB
+ if (align==sizeof(Uint16)) swapIfNecessary(EBO_LittleEndian, gLocalByteOrder, rawData, OFstatic_cast(Uint32, byteLength), sizeof(Uint16));
if ((align==1)||(align==sizeof(Uint16)))
- swapIfNecessary(gLocalByteOrder, EBO_LittleEndian, rawData, byteLength, sizeof(Float64));
- if (maxidx*sizeof(Float64) <= byteLength)
+ swapIfNecessary(gLocalByteOrder, EBO_LittleEndian, rawData, OFstatic_cast(Uint32, byteLength), sizeof(Float64));
+ if (maxidx*sizeof(Float64) <= byteLength)
{
for (i=0; i<maxidx; i++) curveData[i] = (double)(((Float64 *)rawData)[i]);
} else result=EC_IllegalCall;
case 4: // VR=SL. align can be 1, 2, 4
if ((align==1)||(align==sizeof(Uint16))||(align==sizeof(Sint32)))
{
- // if data is word aligned, first swap back to little endian OB
- if (align==sizeof(Uint16)) swapIfNecessary(EBO_LittleEndian, gLocalByteOrder, rawData, byteLength, sizeof(Uint16));
+ // if data is word aligned, first swap back to little endian OB
+ if (align==sizeof(Uint16)) swapIfNecessary(EBO_LittleEndian, gLocalByteOrder, rawData, OFstatic_cast(Uint32, byteLength), sizeof(Uint16));
if ((align==1)||(align==sizeof(Uint16)))
- swapIfNecessary(gLocalByteOrder, EBO_LittleEndian, rawData, byteLength, sizeof(Sint32));
- if (maxidx*sizeof(Sint32) <= byteLength)
+ swapIfNecessary(gLocalByteOrder, EBO_LittleEndian, rawData, OFstatic_cast(Uint32, byteLength), sizeof(Sint32));
+ if (maxidx*sizeof(Sint32) <= byteLength)
{
for (i=0; i<maxidx; i++) curveData[i] = (double)(((Sint32 *)rawData)[i]);
} else result=EC_IllegalCall;
default:
result = EC_IllegalCall;
break;
- }
-
+ }
+
return result;
}
/*
*
- * Copyright (C) 1998-2010, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
const char *gLayerDescription)
{
sortGraphicLayers(1);
- Sint32 layerOrder = size()+1;
+ Sint32 layerOrder = OFstatic_cast(Sint32, size()+1);
return addGraphicLayer(gLayer, layerOrder, gLayerDescription);
}
{
if ((*first)->getGLOrder() < currentSize)
{
- current = first;
- currentSize = (*first)->getGLOrder();
+ current = first;
+ currentSize = (*first)->getGLOrder();
}
++first;
}
DVPSGraphicLayer *layer = *first;
list_.erase(first);
sortGraphicLayers(1);
- Sint32 layerOrder = size()+1;
+ Sint32 layerOrder = OFstatic_cast(Sint32, size()+1);
layer->setGLOrder(layerOrder);
list_.push_back(layer);
} else return EC_IllegalCall;
/*
*
- * Copyright (C) 1998-2010, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
OFCondition result = EC_Normal;
DcmStack stack;
- DcmUnsignedShort graphicDimensions(DCM_GraphicDimensions); // VR=US, VM=1, Type 1
+ DcmUnsignedShort graphicDimensions(DCM_GraphicDimensions); // VR=US, VM=1, Type 1
READ_FROM_DATASET(DcmCodeString, graphicAnnotationUnits)
READ_FROM_DATASET(DcmUnsignedShort, graphicDimensions)
READ_FROM_DATASET(DcmFloatingPointSingle, graphicData)
READ_FROM_DATASET(DcmCodeString, graphicType)
READ_FROM_DATASET(DcmCodeString, graphicFilled)
-
+
/* Now perform basic sanity checks */
-
+
if (graphicAnnotationUnits.getLength() == 0)
{
result=EC_IllegalCall;
DCMPSTAT_WARN("presentation state contains a graphic object SQ item with graphicDimensions != 2");
}
}
-
+
if (numberOfGraphicPoints.getLength() == 0)
{
result=EC_IllegalCall;
result=EC_IllegalCall;
DCMPSTAT_WARN("presentation state contains a graphic object SQ item with numberOfGraphicPoints VM != 1");
}
-
+
if (graphicData.getLength() == 0)
{
result=EC_IllegalCall;
result=EC_IllegalCall;
DCMPSTAT_WARN("presentation state contains a graphic object SQ item with graphicData VM < 2");
}
-
+
if (graphicType.getLength() == 0)
{
result=EC_IllegalCall;
result=EC_IllegalCall;
DCMPSTAT_WARN("presentation state contains a graphic object SQ item with graphicType VM != 1");
}
-
+
if ((graphicFilled.getLength() > 0)&&(graphicFilled.getVM() != 1))
{
result=EC_IllegalCall;
DCMPSTAT_WARN("presentation state contains a graphic object SQ item with graphicFilled present but VM != 1");
}
-
+
return result;
}
{
OFCondition result = EC_Normal;
DcmElement *delem=NULL;
- DcmUnsignedShort graphicDimensions(DCM_GraphicDimensions); // VR=US, VM=1, Type 1
+ DcmUnsignedShort graphicDimensions(DCM_GraphicDimensions); // VR=US, VM=1, Type 1
Uint16 dimensions=2;
graphicDimensions.putUint16(dimensions,0);
-
+
ADD_TO_DATASET(DcmCodeString, graphicAnnotationUnits)
ADD_TO_DATASET(DcmUnsignedShort, graphicDimensions)
ADD_TO_DATASET(DcmUnsignedShort, numberOfGraphicPoints)
ADD_TO_DATASET(DcmFloatingPointSingle, graphicData)
ADD_TO_DATASET(DcmCodeString, graphicType)
-
+
// strictly speaking we are not allowed to include graphicFilled
// when the graphicType is "POLYLINE" or "INTERPOLATED" and the
// first point of graphicData is not equal the last point.
OFCondition result = EC_IllegalCall;
if ((idx*2+1)<graphicData.getVM())
{
- result = graphicData.getFloat32(x, 2*idx);
- if (result==EC_Normal) result = graphicData.getFloat32(y, 2*idx+1);
+ result = graphicData.getFloat32(x, OFstatic_cast(Uint32, 2*idx));
+ if (result==EC_Normal) result = graphicData.getFloat32(y, OFstatic_cast(Uint32, 2*idx+1));
}
return result;
}
OFString aString;
graphicFilled.getOFString(aString,0);
if (aString == "Y") return OFTrue; else return OFFalse;
-}
-
+}
+
OFCondition DVPSGraphicObject::setData(size_t number, const Float32 *data, DVPSannotationUnit unit)
{
numberOfGraphicPoints.clear();
graphicData.clear();
graphicAnnotationUnits.clear();
-
- OFCondition result = graphicData.putFloat32Array(data, 2*number);
+
+ OFCondition result = graphicData.putFloat32Array(data, OFstatic_cast(Uint32, 2*number));
if (EC_Normal==result) result = numberOfGraphicPoints.putUint16(npoints,0);
if (EC_Normal==result)
{
- if (unit==DVPSA_display) result=graphicAnnotationUnits.putString("DISPLAY");
- else result=graphicAnnotationUnits.putString("PIXEL");
+ if (unit==DVPSA_display) result=graphicAnnotationUnits.putString("DISPLAY");
+ else result=graphicAnnotationUnits.putString("PIXEL");
}
return result;
}
switch (gtype)
{
case DVPST_interpolated:
- cname = "INTERPOLATED";
- break;
+ cname = "INTERPOLATED";
+ break;
case DVPST_circle:
- cname = "CIRCLE";
- break;
+ cname = "CIRCLE";
+ break;
case DVPST_ellipse:
- cname = "ELLIPSE";
- break;
+ cname = "ELLIPSE";
+ break;
case DVPST_polyline:
- cname = "POLYLINE";
- break;
+ cname = "POLYLINE";
+ break;
case DVPST_point:
- cname = "POINT";
- break;
+ cname = "POINT";
+ break;
}
return graphicType.putString(cname);
}
OFCondition DVPSGraphicObject::setFilled(OFBool filled)
{
OFCondition result = EC_Normal;
- if (filled) result=graphicFilled.putString("Y");
+ if (filled) result=graphicFilled.putString("Y");
else result=graphicFilled.putString("N");
return result;
}
/*
*
- * Copyright (C) 1998-2010, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-#include "dcmtk/dcmnet/dcompat.h"
-
-BEGIN_EXTERN_C
#ifdef HAVE_WINDOWS_H
-#include <windows.h>
-#include <winbase.h>
+// on Windows, we need Winsock2 for network functions
+#include <winsock2.h>
#endif
-END_EXTERN_C
+#include "dcmtk/dcmnet/dcompat.h"
#include "dcmtk/dcmpstat/dvpsmsg.h"
#include "dcmtk/ofstd/ofstring.h" /* for class OFString */
#include "dcmtk/ofstd/ofbmanip.h" /* for OFBitmanipTemplate<> */
void DVPSIPCMessage::addStringToPayload(const char *str)
{
Uint32 length = 0;
- if (str) length = strlen(str); else str = "";
+ if (str) length = OFstatic_cast(Uint32, strlen(str)); else str = "";
Uint32 padBytes = 4 - (length % 4);
resizePayload(sizeof(Uint32)+length+padBytes);
// write string length
- addIntToPayload(length+padBytes);
+ addIntToPayload(length+padBytes);
// write string
strcpy((char *)(payload + payloadUsed), str);
str = (const char *)(payload+payloadReadOffset); // guaranteed to be zero terminated string
payloadReadOffset += length;
- return OFTrue;
+ return OFTrue;
}
OFBool DVPSIPCMessage::extractIntFromPayload(Uint32& i)
if (payloadReadOffset + sizeof(Uint32) > payloadUsed) return OFFalse;
// copy integer into temporary buffer and adjust byte order there
- unsigned char *temp = new unsigned char[sizeof(Uint32)+8]; // allocate a bit more than needed to be safe
+ unsigned char *temp = new unsigned char[sizeof(Uint32)+8]; // allocate a bit more than needed to be safe
OFBitmanipTemplate<unsigned char>::copyMem(payload+payloadReadOffset, temp, sizeof(Uint32));
swapIfNecessary(gLocalByteOrder, EBO_BigEndian, temp, sizeof(Uint32), sizeof(Uint32));
payloadReadOffset += sizeof(Uint32);
-
+
i = *(Uint32 *)temp;
- delete[] temp;
+ delete[] temp;
return OFTrue;
}
OFBool DVPSIPCMessage::send(DcmTransportConnection &connection)
{
// adjust message type and length
- *(Uint32 *)payload = messageType;
+ *(Uint32 *)payload = messageType;
*(Uint32 *)(payload + sizeof(Uint32)) = (payloadUsed - PAYLOAD_OFFSET);
swapIfNecessary(EBO_BigEndian, gLocalByteOrder, payload, 2*sizeof(Uint32), sizeof(Uint32));
}
// read payload if any
- if (payloadUsed > 0)
+ if (payloadUsed > 0)
{
- if (connection.read(payload+PAYLOAD_OFFSET, (size_t)payloadUsed) <= 0)
+ if (connection.read(payload+PAYLOAD_OFFSET, (size_t)payloadUsed) <= 0)
{
payloadUsed = PAYLOAD_OFFSET;
return OFFalse;
if (performTransaction(msg))
{
if ((msg.getMessageType() != DVPSIPCMessage::assignApplicationID) || (! msg.extractIntFromPayload(applicationID)))
- {
+ {
// protocol violation
- serverActive = OFFalse;
+ serverActive = OFFalse;
}
} else {
- serverActive = OFFalse;
+ serverActive = OFFalse;
}
return;
}
-
+
DVPSIPCClient::~DVPSIPCClient()
{
if (connection)
{
if (connection) return; // connection already open
+#ifdef _WIN32
+ SOCKET s = socket(AF_INET, SOCK_STREAM, 0);
+ if (s == INVALID_SOCKET) return;
+#else
int s = socket(AF_INET, SOCK_STREAM, 0);
if (s < 0) return;
+#endif
OFStandard::OFHostent hp = OFStandard::getHostByName("localhost");
if (!hp) return;
if (connect(s, (struct sockaddr *) & server, sizeof(server)) < 0)
{
#ifdef HAVE_WINSOCK_H
- (void) shutdown(s, 1 /* SD_SEND */);
+ (void) shutdown(s, 1 /* SD_SEND */);
(void) closesocket(s);
#else
(void) close(s);
/*
*
- * Copyright (C) 1998-2010, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
#include "dcmtk/ofstd/ofstring.h"
#include "dcmtk/dcmpstat/dvpsdef.h"
#include "dcmtk/dcmpstat/dvpspr.h"
}
T_ASC_Parameters *params=NULL;
- DIC_NODENAME dnlocalHost;
DIC_NODENAME dnpeerHost;
OFCondition cond = ASC_initializeNetwork(NET_REQUESTOR, 0, 30, &net);
if (cond.bad()) return cond;
ASC_setAPTitles(params, myAEtitle, peerAEtitle, NULL);
- gethostname(dnlocalHost, sizeof(dnlocalHost) - 1);
sprintf(dnpeerHost, "%s:%d", peerHost, peerPort);
- ASC_setPresentationAddresses(params, dnlocalHost, dnpeerHost);
+ ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), dnpeerHost);
/* presentation contexts */
const char* transferSyntaxes[3];
/*
*
- * Copyright (C) 1998-2010, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
OFCondition result = EC_IllegalCall;
char *c = NULL;
- unsigned long deleteImageBoxes=0;
+ size_t deleteImageBoxes=0;
updateCache();
if (currentValuesValid)
{
deleteImageBoxes = currentNumCols * currentNumRows;
if (deleteImageBoxes > imageBoxContentList.size()) deleteImageBoxes = imageBoxContentList.size();
- result = imageBoxContentList.deleteMultipleImages((size_t)deleteImageBoxes);
+ result = imageBoxContentList.deleteMultipleImages(deleteImageBoxes);
}
if (EC_Normal != configurationInformation.getString(c)) c = NULL;
presentationLUTList.cleanup(c, imageBoxContentList);
if (numItems > imageBoxContentList.size()) numItems = imageBoxContentList.size();
for (i=0; i<numItems; i++)
{
- item = seq->getItem(i);
+ item = seq->getItem(OFstatic_cast(Uint32, i));
stack.clear();
READ_FROM_DATASET2(DcmUniqueIdentifier, refsopclassuid)
READ_FROM_DATASET2(DcmUniqueIdentifier, refsopinstanceuid)
if (numItems > annotationContentList.size()) numItems = annotationContentList.size();
for (i=0; i<numItems; i++)
{
- item = seq->getItem(i);
+ item = seq->getItem(OFstatic_cast(Uint32, i));
stack.clear();
READ_FROM_DATASET2(DcmUniqueIdentifier, refsopclassuid)
READ_FROM_DATASET2(DcmUniqueIdentifier, refsopinstanceuid)
Uint16 group;
do
{
- group = (Uint16) (currentImage->getOverlayGroupNumber(currentIndex++));
+ group = (Uint16) (currentImage->getOverlayGroupNumber(OFstatic_cast(Uint32, currentIndex++)));
if (!overlayList.haveOverlayGroup(group))
{
// group is not shadowed by the presentation state
/*
*
- * Copyright (C) 1998-2013, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
if (wcenter.getVM() <= idx) return EC_IllegalCall;
if (wwidth.getVM() <= idx) return EC_IllegalCall;
Float64 wc=0.0, ww=0.0;
- OFCondition result = wcenter.getFloat64(wc, idx);
- if (EC_Normal==result) result= wwidth.getFloat64(ww, idx);
+ OFCondition result = wcenter.getFloat64(wc, OFstatic_cast(Uint32, idx));
+ if (EC_Normal==result) result= wwidth.getFloat64(ww, OFstatic_cast(Uint32, idx));
if (EC_Normal==result)
{
windowCenter = wc;
windowWidth = ww;
- if (expl && (expl->getVM() > idx)) expl->getOFString(windowCenterWidthExplanation, idx);
+ if (expl && (expl->getVM() > idx)) expl->getOFString(windowCenterWidthExplanation, OFstatic_cast(Uint32, idx));
else
{
// create default description for VOI Window
--- /dev/null
+# declare executables
+DCMTK_ADD_EXECUTABLE(msgserv msgserv)
+
+# make sure executables are linked to the corresponding libraries
+DCMTK_TARGET_LINK_MODULES(msgserv dcmpstat dcmdsig dcmsr dcmimage dcmimgle dcmqrdb dcmnet dcmtls dcmdata oflog ofstd)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmnet/include/dcmtk/dcmnet/dcmtrans.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/dcmlayer.h \
../../dcmnet/include/dcmtk/dcmnet/dndefine.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
-L$(dcmimagedir)/libsrc -L$(dcmsrdir)/libsrc
LOCALLIBS = -ldcmpstat -ldcmdsig -ldcmsr -ldcmimage -ldcmimgle -ldcmqrdb -ldcmnet \
-ldcmtls -ldcmdata -loflog -lofstd $(TIFFLIBS) $(PNGLIBS) $(XMLLIBS) $(ZLIBLIBS) \
- $(TCPWRAPPERLIBS) $(OPENSSLLIBS) $(CHARCONVLIBS)
+ $(TCPWRAPPERLIBS) $(OPENSSLLIBS) $(CHARCONVLIBS) $(MATHLIBS)
objs = msgserv.o
progs = msgserv
all: $(progs)
msgserv: msgserv.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ msgserv.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ msgserv.o $(LOCALLIBS) $(LIBS)
check:
/*
*
- * Copyright (C) 2000-2014, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
+#ifdef HAVE_WINDOWS_H
+#include <winsock2.h>
+#elif defined(HAVE_WINSOCK_H)
+#include <winsock.h> /* include winsock.h directly i.e. on MacOS */
#endif
BEGIN_EXTERN_C
int main(int argc, char *argv[])
{
-
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
+ OFStandard::initializeNetwork();
#ifdef WITH_TCPWRAPPER
// this code makes sure that the linker cannot optimize away
dcmTCPWrapperDaemonName.set(NULL);
#endif
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
-
OFCmdUnsignedInt opt_port = 0; /* listen port */
Uint32 clientID = 0; /* IDs assigned to connecting clients */
#endif
/* open listen socket */
+#ifdef _WIN32
+ SOCKET s = socket(AF_INET, SOCK_STREAM, 0);
+ if (s == INVALID_SOCKET)
+#else
int s = socket(AF_INET, SOCK_STREAM, 0);
if (s < 0)
+#endif
{
OFLOG_FATAL(msgservLogger, "failed to create socket");
return 10;
}
-#ifdef HAVE_GUSI_H
- /* GUSI always returns an error for setsockopt(...) */
-#else
int reuse = 1;
+
+#ifdef _WIN32
+ if (setsockopt(s, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, (char *) &reuse, sizeof(reuse)) < 0)
+#else
if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *) &reuse, sizeof(reuse)) < 0)
+#endif
{
OFLOG_FATAL(msgservLogger, "failed to set socket options");
return 10;
}
-#endif
/* Name socket using wildcards */
struct sockaddr_in server;
t.tv_usec = 0;
#ifdef HAVE_INTP_SELECT
- nfound = select(s + 1, (int *)(&fdset), NULL, NULL, &t);
+ nfound = select(OFstatic_cast(int, s + 1), (int *)(&fdset), NULL, NULL, &t);
#else
- nfound = select(s + 1, &fdset, NULL, NULL, &t);
+ // the typecast is safe because Windows ignores the first select() parameter anyway
+ nfound = select(OFstatic_cast(int, s + 1), &fdset, NULL, NULL, &t);
#endif
if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
if (nfound > 0)
{
// incoming connection detected
+#ifdef _WIN32
+ SOCKET sock=0;
+#else
int sock=0;
+#endif
struct sockaddr from;
#ifdef HAVE_DECLARATION_SOCKLEN_T
socklen_t len = sizeof(from);
do
{
sock = accept(s, &from, &len);
+#ifdef _WIN32
+ } while ((sock == INVALID_SOCKET)&&(errno == WSAEINTR));
+ if (sock == INVALID_SOCKET)
+#else
} while ((sock == -1)&&(errno == EINTR));
-
if (sock < 0)
+#endif
{
OFLOG_FATAL(msgservLogger, "unable to accept incoming connection");
return 10;
}
-#ifdef HAVE_GUSI_H
- /* GUSI always returns an error for setsockopt(...) */
-#else
reuse = 1;
+
+#ifdef _WIN32
+ if (setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, (char *) &reuse, sizeof(reuse)) < 0)
+#else
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *) &reuse, sizeof(reuse)) < 0)
+#endif
{
OFLOG_FATAL(msgservLogger, "failed to set socket options");
return 10;
}
-#endif
// now we can handle the incoming connection
DcmTCPConnection connection(sock);
}
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
return 0;
}
PROJECT(dcmqrdb)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmqrdb_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmnet_SOURCE_DIR}/include ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmqrdb_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${dcmnet_SOURCE_DIR}/include" ${ZLIB_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc apps include docs etc)
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../include/dcmtk/dcmqrdb/dcmqrdbs.h ../include/dcmtk/dcmqrdb/qrdefine.h \
../include/dcmtk/dcmqrdb/dcmqrdbi.h ../include/dcmtk/dcmqrdb/dcmqrdba.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmnet/include/dcmtk/dcmnet/dicom.h \
../../dcmnet/include/dcmtk/dcmnet/cond.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmdata/include/dcmtk/dcmdata/dclist.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dcasccff.h \
../include/dcmtk/dcmqrdb/dcmqropt.h ../include/dcmtk/dcmqrdb/dcmqrcnf.h \
../include/dcmtk/dcmqrdb/qrdefine.h ../include/dcmtk/dcmqrdb/dcmqrsrv.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dcasccfg.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccftsmp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfuidh.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfpcmp.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfrsmp.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfenmp.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfprmp.h \
../include/dcmtk/dcmqrdb/dcmqrptb.h \
../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
../../ofstd/include/dcmtk/ofstd/ofpwd.h \
../include/dcmtk/dcmqrdb/dcmqrdbi.h ../include/dcmtk/dcmqrdb/dcmqrdba.h \
../../ofstd/include/dcmtk/ofstd/offname.h \
- ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h
dcmqrti.o: dcmqrti.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmqrdb/dcmqrtis.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/dimse.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
LIBDIRS = -L$(top_srcdir)/libsrc $(dcmnetlibdir) $(dcmdatalibdir) \
$(ofstdlibdir) $(ofloglibdir)
LOCALLIBS = -ldcmqrdb $(dcmnetlib) $(dcmdatalib) $(ofstdlib) $(ofloglib) \
- $(ZLIBLIBS) $(TCPWRAPPERLIBS) $(CHARCONVLIBS)
+ $(ZLIBLIBS) $(TCPWRAPPERLIBS) $(CHARCONVLIBS) $(MATHLIBS)
objs = dcmqrscp.o dcmqrti.o dcmqridx.o
progs = dcmqrscp dcmqrti dcmqridx
all: $(progs)
dcmqrscp: dcmqrscp.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmqrscp.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmqrscp.o $(LOCALLIBS) $(LIBS)
dcmqrti: dcmqrti.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmqrti.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmqrti.o $(LOCALLIBS) $(LIBS)
dcmqridx: dcmqridx.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmqridx.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmqridx.o $(LOCALLIBS) $(LIBS)
install: all
/*
*
- * Copyright (C) 1993-2012, OFFIS e.V.
+ * Copyright (C) 1993-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
cmd.addOption("--print", "-p", "list contents of database index file");
cmd.addOption("--not-new", "-n", "set instance reviewed status to 'not new'");
-#ifdef HAVE_GUSI_H
- /* needed for Macintosh */
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
/* evaluate command line */
prepareCmdLineArgs(argc, argv, OFFIS_CONSOLE_APPLICATION);
if (app.parseCommandLine(cmd, argc, argv))
#define INCLUDE_CSTDIO
#define INCLUDE_CSTRING
#define INCLUDE_CSTDARG
-#define INCLUDE_CERRNO
#define INCLUDE_CTIME
#define INCLUDE_LIBC
#include "dcmtk/ofstd/ofstdinc.h"
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
-#ifdef HAVE_SYS_ERRNO_H
-#include <sys/errno.h>
-#endif
#ifdef HAVE_IO_H
#include <io.h>
#endif
#include "dcmtk/ofstd/ofconapp.h"
#include "dcmtk/dcmnet/dicom.h"
#include "dcmtk/dcmnet/dimse.h"
+#include "dcmtk/dcmnet/dcasccff.h"
#include "dcmtk/dcmqrdb/dcmqropt.h"
#include "dcmtk/dcmqrdb/dcmqrcnf.h"
#include "dcmtk/dcmqrdb/dcmqrsrv.h"
#define SHORTCOL 4
#define LONGCOL 22
+static void mangleAssociationProfileKey(OFString& key)
+{
+ for (size_t ui = 0; ui < key.size();)
+ {
+ if (!isspace(key[ui]))
+ {
+ key[ui] = toupper(key[ui]);
+ ++ui;
+ }
+ else key.erase(ui, 1);
+ }
+}
+
int
main(int argc, char *argv[])
{
OFCmdUnsignedInt overridePort = 0;
OFCmdUnsignedInt overrideMaxPDU = 0;
DcmQueryRetrieveOptions options;
+ DcmAssociationConfiguration asccfg;
-#ifdef HAVE_GUSI_H
- /* needed for Macintosh */
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- /* we need at least version 1.1 */
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
+ OFStandard::initializeNetwork();
char tempstr[20];
OFString temp_str;
#endif
cmd.addGroup("network options:");
+ cmd.addSubGroup("association negotiation profiles from configuration file:");
+ cmd.addOption("--assoc-config-file", "-xf", 3, "[f]ilename, [i]n-profile, [o]ut-profile: string",
+ "use profile i from f for incoming associations\n"
+ "use profile o from f for outgoing associations");
cmd.addSubGroup("preferred network transfer syntaxes (incoming associations):");
cmd.addOption("--prefer-uncompr", "+x=", "prefer explicit VR local byte order (default)");
cmd.addOption("--prefer-little", "+xe", "prefer explicit VR little endian TS");
cmd.addOption("--prefer-mpeg4-2-2d", "+x2", "prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (2D)");
cmd.addOption("--prefer-mpeg4-2-3d", "+x3", "prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)");
cmd.addOption("--prefer-mpeg4-2-st", "+xo", "prefer MPEG4 AVC/H.264 Stereo / Level 4.2 TS");
+ cmd.addOption("--prefer-hevc", "+x4", "prefer HEVC/H.265 Main Profile / Level 5.1 TS");
+ cmd.addOption("--prefer-hevc10", "+x5", "prefer HEVC/H.265 Main 10 Profile / Level 5.1 TS");
cmd.addOption("--prefer-rle", "+xr", "prefer RLE lossless TS");
#ifdef WITH_ZLIB
cmd.addOption("--prefer-deflated", "+xd", "prefer deflated expl. VR little endian TS");
cmd.addOption("--propose-mpeg4-2-2d", "-x2", "propose MPEG4 AVC/H.264 HP / Level 4.2 TS (2D)");
cmd.addOption("--propose-mpeg4-2-3d", "-x3", "propose MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)");
cmd.addOption("--propose-mpeg4-2-st", "-xo", "propose MPEG4 AVC/H.264 Stereo / Level 4.2 TS");
+ cmd.addOption("--propose-hevc", "-x4", "propose HEVC/H.265 Main Profile / Level 5.1 TS");
+ cmd.addOption("--propose-hevc10", "-x5", "propose HEVC/H.265 Main 10 Profile / Level 5.1 TS");
cmd.addOption("--propose-rle", "-xr", "propose RLE lossless TS\nand all uncompressed transfer syntaxes");
#ifdef WITH_ZLIB
cmd.addOption("--propose-deflated", "-xd", "propose deflated expl. VR little endian TS\nand all uncompressed transfer syntaxes");
if (cmd.findOption("--prefer-mpeg4-2-2d")) options.networkTransferSyntax_ = EXS_MPEG4HighProfileLevel4_2_For2DVideo;
if (cmd.findOption("--prefer-mpeg4-2-3d")) options.networkTransferSyntax_ = EXS_MPEG4HighProfileLevel4_2_For3DVideo;
if (cmd.findOption("--prefer-mpeg4-2-st")) options.networkTransferSyntax_ = EXS_MPEG4StereoHighProfileLevel4_2;
+ if (cmd.findOption("--prefer-hevc")) options.networkTransferSyntax_ = EXS_HEVCMainProfileLevel5_1;
+ if (cmd.findOption("--prefer-hevc10")) options.networkTransferSyntax_ = EXS_HEVCMain10ProfileLevel5_1;
if (cmd.findOption("--prefer-rle")) options.networkTransferSyntax_ = EXS_RLELossless;
#ifdef WITH_ZLIB
if (cmd.findOption("--prefer-deflated")) options.networkTransferSyntax_ = EXS_DeflatedLittleEndianExplicit;
if (cmd.findOption("--propose-mpeg4-2-2d")) options.networkTransferSyntaxOut_ = EXS_MPEG4HighProfileLevel4_2_For2DVideo;
if (cmd.findOption("--propose-mpeg4-2-3d")) options.networkTransferSyntaxOut_ = EXS_MPEG4HighProfileLevel4_2_For3DVideo;
if (cmd.findOption("--propose-mpeg4-2-st")) options.networkTransferSyntaxOut_ = EXS_MPEG4StereoHighProfileLevel4_2;
+ if (cmd.findOption("--propose-hevc")) options.networkTransferSyntaxOut_ = EXS_HEVCMainProfileLevel5_1;
+ if (cmd.findOption("--propose-hevc10")) options.networkTransferSyntaxOut_ = EXS_HEVCMain10ProfileLevel5_1;
if (cmd.findOption("--propose-rle")) options.networkTransferSyntaxOut_ = EXS_RLELossless;
#ifdef WITH_ZLIB
if (cmd.findOption("--propose-deflated")) options.networkTransferSyntaxOut_ = EXS_DeflatedLittleEndianExplicit;
if (cmd.findOption("--ignore")) options.ignoreStoreData_ = OFTrue;
if (cmd.findOption("--uid-padding")) options.correctUIDPadding_ = OFTrue;
+ if (cmd.findOption("--assoc-config-file"))
+ {
+ // check conflicts with other command line options
+ app.checkConflict("--assoc-config-file", "--prefer-little", options.networkTransferSyntax_ == EXS_LittleEndianExplicit);
+ app.checkConflict("--assoc-config-file", "--prefer-big", options.networkTransferSyntax_ == EXS_BigEndianExplicit);
+ app.checkConflict("--assoc-config-file", "--prefer-lossless", options.networkTransferSyntax_ == EXS_JPEGProcess14SV1);
+ app.checkConflict("--assoc-config-file", "--prefer-jpeg8", options.networkTransferSyntax_ == EXS_JPEGProcess1);
+ app.checkConflict("--assoc-config-file", "--prefer-jpeg12", options.networkTransferSyntax_ == EXS_JPEGProcess2_4);
+ app.checkConflict("--assoc-config-file", "--prefer-j2k-lossless", options.networkTransferSyntax_ == EXS_JPEG2000LosslessOnly);
+ app.checkConflict("--assoc-config-file", "--prefer-j2k-lossy", options.networkTransferSyntax_ == EXS_JPEG2000);
+ app.checkConflict("--assoc-config-file", "--prefer-jls-lossless", options.networkTransferSyntax_ == EXS_JPEGLSLossless);
+ app.checkConflict("--assoc-config-file", "--prefer-jls-lossy", options.networkTransferSyntax_ == EXS_JPEGLSLossy);
+ app.checkConflict("--assoc-config-file", "--prefer-mpeg2", options.networkTransferSyntax_ == EXS_MPEG2MainProfileAtMainLevel);
+ app.checkConflict("--assoc-config-file", "--prefer-mpeg2-high", options.networkTransferSyntax_ == EXS_MPEG2MainProfileAtHighLevel);
+ app.checkConflict("--assoc-config-file", "--prefer-mpeg4", options.networkTransferSyntax_ == EXS_MPEG4HighProfileLevel4_1);
+ app.checkConflict("--assoc-config-file", "--prefer-mpeg4-bd", options.networkTransferSyntax_ == EXS_MPEG4BDcompatibleHighProfileLevel4_1);
+ app.checkConflict("--assoc-config-file", "--prefer-mpeg4-2-2d", options.networkTransferSyntax_ == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
+ app.checkConflict("--assoc-config-file", "--prefer-mpeg4-2-3d", options.networkTransferSyntax_ == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
+ app.checkConflict("--assoc-config-file", "--prefer-mpeg4-2-st", options.networkTransferSyntax_ == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--assoc-config-file", "--prefer-hevc", options.networkTransferSyntax_ == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--assoc-config-file", "--prefer-hevc10", options.networkTransferSyntax_ == EXS_HEVCMain10ProfileLevel5_1);
+ app.checkConflict("--assoc-config-file", "--prefer-rle", options.networkTransferSyntax_ == EXS_RLELossless);
+#ifdef WITH_ZLIB
+ app.checkConflict("--assoc-config-file", "--prefer-deflated", options.networkTransferSyntax_ == EXS_DeflatedLittleEndianExplicit);
+#endif
+ app.checkConflict("--assoc-config-file", "--implicit", options.networkTransferSyntax_ == EXS_LittleEndianImplicit);
+
+ app.checkConflict("--assoc-config-file", "--propose-little", options.networkTransferSyntaxOut_ == EXS_LittleEndianExplicit);
+ app.checkConflict("--assoc-config-file", "--propose-big", options.networkTransferSyntaxOut_ == EXS_BigEndianExplicit);
+ app.checkConflict("--assoc-config-file", "--propose-implicit", options.networkTransferSyntaxOut_ == EXS_LittleEndianImplicit);
+ app.checkConflict("--assoc-config-file", "--propose-lossless", options.networkTransferSyntaxOut_ == EXS_JPEGProcess14SV1);
+ app.checkConflict("--assoc-config-file", "--propose-jpeg8", options.networkTransferSyntaxOut_ == EXS_JPEGProcess1);
+ app.checkConflict("--assoc-config-file", "--propose-jpeg12", options.networkTransferSyntaxOut_ == EXS_JPEGProcess2_4);
+ app.checkConflict("--assoc-config-file", "--propose-j2k-lossless", options.networkTransferSyntaxOut_ == EXS_JPEG2000LosslessOnly);
+ app.checkConflict("--assoc-config-file", "--propose-j2k-lossy", options.networkTransferSyntaxOut_ == EXS_JPEG2000);
+ app.checkConflict("--assoc-config-file", "--propose-jls-lossless", options.networkTransferSyntaxOut_ == EXS_JPEGLSLossless);
+ app.checkConflict("--assoc-config-file", "--propose-jls-lossy", options.networkTransferSyntaxOut_ == EXS_JPEGLSLossy);
+ app.checkConflict("--assoc-config-file", "--propose-mpeg2", options.networkTransferSyntaxOut_ == EXS_MPEG2MainProfileAtMainLevel);
+ app.checkConflict("--assoc-config-file", "--propose-mpeg2-high", options.networkTransferSyntaxOut_ == EXS_MPEG2MainProfileAtHighLevel);
+ app.checkConflict("--assoc-config-file", "--propose-mpeg4", options.networkTransferSyntaxOut_ == EXS_MPEG4HighProfileLevel4_1);
+ app.checkConflict("--assoc-config-file", "--propose-mpeg4-bd", options.networkTransferSyntaxOut_ == EXS_MPEG4BDcompatibleHighProfileLevel4_1);
+ app.checkConflict("--assoc-config-file", "--propose-mpeg4-2-2d", options.networkTransferSyntaxOut_ == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
+ app.checkConflict("--assoc-config-file", "--propose-mpeg4-2-3d", options.networkTransferSyntaxOut_ == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
+ app.checkConflict("--assoc-config-file", "--propose-mpeg4-2-st", options.networkTransferSyntaxOut_ == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--assoc-config-file", "--propose-hevc", options.networkTransferSyntaxOut_ == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--assoc-config-file", "--propose-hevc10", options.networkTransferSyntaxOut_ == EXS_HEVCMain10ProfileLevel5_1);
+ app.checkConflict("--assoc-config-file", "--propose-rle", options.networkTransferSyntaxOut_ == EXS_RLELossless);
+#ifdef WITH_ZLIB
+ app.checkConflict("--assoc-config-file", "--propose-deflated", options.networkTransferSyntaxOut_ == EXS_DeflatedLittleEndianExplicit);
+#endif
+
+ app.checkValue(cmd.getValue(options.associationConfigFile));
+ app.checkValue(cmd.getValue(options.incomingProfile));
+ app.checkValue(cmd.getValue(options.outgoingProfile));
+
+ // read configuration file
+ OFCondition cond = DcmAssociationConfigurationFile::initialize(asccfg, options.associationConfigFile.c_str());
+ if (cond.bad())
+ {
+ OFLOG_FATAL(dcmqrscpLogger, "cannot read association config file: " << cond.text());
+ return 1;
+ }
+
+ const OFString unmangledInProfile = options.incomingProfile;
+ const OFString unmangledOutProfile = options.outgoingProfile;
+
+ /* perform name mangling for config file keys */
+ mangleAssociationProfileKey(options.incomingProfile);
+ mangleAssociationProfileKey(options.outgoingProfile);
+
+ if (!asccfg.isKnownProfile(options.incomingProfile.c_str()))
+ {
+ OFLOG_FATAL(dcmqrscpLogger, "unknown configuration profile name: " << unmangledInProfile);
+ return 1;
+ }
+
+ if (!asccfg.isKnownProfile(options.outgoingProfile.c_str()))
+ {
+ OFLOG_FATAL(dcmqrscpLogger, "unknown configuration profile name: " << unmangledOutProfile);
+ return 1;
+ }
+
+ if (!asccfg.isValidSCPProfile(options.incomingProfile.c_str()))
+ {
+ OFLOG_FATAL(dcmqrscpLogger, "profile '" << unmangledInProfile << "' is not valid for incoming use, duplicate abstract syntaxes found");
+ return 1;
+ }
+ }
+
cmd.beginOptionBlock();
if (cmd.findOption("--enable-new-vr")) dcmEnableGenerationOfNewVRs();
if (cmd.findOption("--disable-new-vr")) dcmDisableGenerationOfNewVRs();
app.checkConflict("--write-xfer-little", "--prefer-mpeg4-2-2d", options.networkTransferSyntax_ == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--write-xfer-little", "--prefer-mpeg4-2-3d", options.networkTransferSyntax_ == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--write-xfer-little", "--prefer-mpeg4-2-st", options.networkTransferSyntax_ == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--write-xfer-little", "--prefer-hevc", options.networkTransferSyntax_ == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--write-xfer-little", "--prefer-hevc10", options.networkTransferSyntax_ == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--write-xfer-little", "--prefer-rle", options.networkTransferSyntax_ == EXS_RLELossless);
// we don't have to check a conflict for --prefer-deflated because we can always convert that to uncompressed.
#endif
app.checkConflict("--write-xfer-big", "--prefer-mpeg4-2-2d", options.networkTransferSyntax_ == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--write-xfer-big", "--prefer-mpeg4-2-3d", options.networkTransferSyntax_ == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--write-xfer-big", "--prefer-mpeg4-2-st", options.networkTransferSyntax_ == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--write-xfer-big", "--prefer-hevc", options.networkTransferSyntax_ == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--write-xfer-big", "--prefer-hevc10", options.networkTransferSyntax_ == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--write-xfer-big", "--prefer-rle", options.networkTransferSyntax_ == EXS_RLELossless);
// we don't have to check a conflict for --prefer-deflated because we can always convert that to uncompressed.
#endif
app.checkConflict("--write-xfer-implicit", "--prefer-mpeg4-2-2d", options.networkTransferSyntax_ == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--write-xfer-implicit", "--prefer-mpeg4-2-3d", options.networkTransferSyntax_ == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--write-xfer-implicit", "--prefer-mpeg4-2-st", options.networkTransferSyntax_ == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--write-xfer-implicit", "--prefer-hevc", options.networkTransferSyntax_ == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--write-xfer-implicit", "--prefer-hevc10", options.networkTransferSyntax_ == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--write-xfer-implicit", "--prefer-rle", options.networkTransferSyntax_ == EXS_RLELossless);
// we don't have to check a conflict for --prefer-deflated because we can always convert that to uncompressed.
#endif
app.checkConflict("--write-xfer-deflated", "--prefer-mpeg4-2-2d", options.networkTransferSyntax_ == EXS_MPEG4HighProfileLevel4_2_For2DVideo);
app.checkConflict("--write-xfer-deflated", "--prefer-mpeg4-2-3d", options.networkTransferSyntax_ == EXS_MPEG4HighProfileLevel4_2_For3DVideo);
app.checkConflict("--write-xfer-deflated", "--prefer-mpeg4-2-st", options.networkTransferSyntax_ == EXS_MPEG4StereoHighProfileLevel4_2);
+ app.checkConflict("--write-xfer-deflated", "--prefer-hevc", options.networkTransferSyntax_ == EXS_HEVCMainProfileLevel5_1);
+ app.checkConflict("--write-xfer-deflated", "--prefer-hevc10", options.networkTransferSyntax_ == EXS_HEVCMain10ProfileLevel5_1);
app.checkConflict("--write-xfer-deflated", "--prefer-rle", options.networkTransferSyntax_ == EXS_RLELossless);
#endif
options.writeTransferSyntax_ = EXS_DeflatedLittleEndianExplicit;
/* read config file */
if (access(opt_configFileName, R_OK) < 0) {
- char buf[256];
OFLOG_FATAL(dcmqrscpLogger, "cannot access " << opt_configFileName << ": "
- << OFStandard::strerror(errno, buf, sizeof(buf)));
+ << OFStandard::getLastSystemErrorCode().message());
return 10;
}
DcmQueryRetrieveIndexDatabaseHandleFactory factory(&config);
#endif
- DcmQueryRetrieveSCP scp(config, options, factory);
+ DcmQueryRetrieveSCP scp(config, options, factory, asccfg);
scp.setDatabaseFlags(opt_checkFindIdentifier, opt_checkMoveIdentifier);
/* loop waiting for associations */
return 10;
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
return 0;
}
/*
*
- * Copyright (C) 1993-2014, OFFIS e.V.
+ * Copyright (C) 1993-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
char tempstr[20];
OFString temp_str;
-#ifdef HAVE_GUSI_H
- // needed for Macintosh
- GUSISetup( GUSIwithSIOUXSockets );
- GUSISetup( GUSIwithInternetSockets );
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- // we need at least version 1.1
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup( winSockVersionNeeded, &winSockData );
-#endif
+ OFStandard::initializeNetwork();
// initialize conf structure
conf.setAETitle(APPLICATIONTITLE);
returnValue = 1;
}
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
// return result
return( returnValue );
# declare installation files
-INSTALL(FILES dcmqrcnf.txt dcmqrset.txt DESTINATION ${DCMTK_INSTALL_DOCDIR} COMPONENT doc)
+INSTALL(FILES dcmqrcnf.txt dcmqrset.txt DESTINATION "${DCMTK_INSTALL_DOCDIR}" COMPONENT doc)
\page dcmqridx dcmqridx: Register a DICOM image file in an image database index file
\endif
-\section synopsis SYNOPSIS
+\section dcmqridx_synopsis SYNOPSIS
\verbatim
dcmqridx [options] index-out [dcmfile-in...]
\endverbatim
-\section description DESCRIPTION
+\section dcmqridx_description DESCRIPTION
The \b dcmqridx utility registers DICOM image files in the database index file
used by the \b dcmqrscp and \b dcmqrti applications. No image files are copied.
\b dcmqridx can also list the contents of the database index file.
-\section parameters PARAMETERS
+\section dcmqridx_parameters PARAMETERS
\verbatim
index-out storage area for the index file (directory)
dcmfile-in DICOM image file to be registered in the index file
\endverbatim
-\section options OPTIONS
+\section dcmqridx_options OPTIONS
\verbatim
-h --help
set instance reviewed status to 'not new'
\endverbatim
-\section notes NOTES
+\section dcmqridx_notes NOTES
\b dcmqridx attempts to add a reference to the database index file for each
image-file provided on the command line.
\b dcmqridx disables the database back-end quota system so that no image files
will be deleted.
-\section logging LOGGING
+\section dcmqridx_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmqridx_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmqridx_environment ENVIRONMENT
The \b dcmqridx utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dcmqridx_see_also SEE ALSO
<b>dcmqrscp</b>(1), <b>dcmqrti</b>(1)
-\section copyright COPYRIGHT
+\section dcmqridx_copyright COPYRIGHT
Copyright (C) 1993-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmqrscp dcmqrscp: DICOM image archive (central test node)
\endif
-\section synopsis SYNOPSIS
+\section dcmqrscp_synopsis SYNOPSIS
\verbatim
dcmqrscp [options] [port]
\endverbatim
-\section description DESCRIPTION
+\section dcmqrscp_description DESCRIPTION
The Image Central Test Node (\b dcmqrscp) Application implements a simple image
archive. It manages a number of storage areas and allows images to be stored
images to the server after deleting all old files (and creating a new empty
\e index.dat file).
-\section parameters PARAMETERS
+\section dcmqrscp_parameters PARAMETERS
\verbatim
port tcp/ip port number to listen on (default: in config file)
\endverbatim
-\section options OPTIONS
+\section dcmqrscp_options OPTIONS
-\subsection general_options general options
+\subsection dcmqrscp_general_options general options
\verbatim
-h --help
print this help text and exit
# example configuration file dcmqrscp.cfg).
\endverbatim
-\subsection multiprocess_options multi-process options
+\subsection dcmqrscp_multiprocess_options multi-process options
\verbatim
-s --single-process
single process mode
# on systems that support the fork() call, i.e. not on Windows.
\endverbatim
-\subsection database_options database options
+\subsection dcmqrscp_database_options database options
\verbatim
association negotiation:
do not support Patient/Study Only Q/R models
\endverbatim
-\subsection network_options network options
+\subsection dcmqrscp_network_options network options
\verbatim
+association negotiation profiles from configuration file:
+
+ -xf --assoc-config-file
+ [f]ilename, [i]n-profile, [o]ut-profile: string
+ use profile i from f for incoming associations
+ use profile o from f for outgoing associations
+
preferred network transfer syntaxes (incoming associations):
+x= --prefer-uncompr
+xo --prefer-mpeg4-2-st
prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS
+ +x4 --prefer-hevc
+ prefer HEVC H.265 Main Profile / Level 5.1 TS
+
+ +x5 --prefer-hevc10
+ prefer HEVC H.265 Main 10 Profile / Level 5.1 TS
+
+xr --prefer-rle
prefer RLE lossless TS
-xo --propose-mpeg4-2-st
propose MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS only
+ -x4 --propose-hevc
+ propose HEVC H.265 Main Profile / Level 5.1 TS only
+
+ -x5 --propose-hevc10
+ propose HEVC H.265 Main 10 Profile / Level 5.1 TS only
+
-xr --propose-rle
propose RLE lossless TS
and all uncompressed transfer syntaxes
silently correct space-padded UIDs
\endverbatim
-\subsection encoding_options encoding options
+\subsection dcmqrscp_encoding_options encoding options
\verbatim
post-1993 value representations:
# these value representations.
\endverbatim
-\subsection output_options output options
+\subsection dcmqrscp_output_options output options
\verbatim
bit preserving mode:
0=uncompressed, 1=fastest, 9=best compression
specific character set:
+
+ # the following options require support from an underlying character
+ # encoding library (see output of --version on which one is available)
+
+Cr --use-request-charset
- try to convert all element values that are
- affected by Specific Character Set (0008,0005)
- to the one specified in the request data set,
- fall back to the one specified via
- --convert-to-xxx if that is not possible
+ try to convert all element values that are affected by
+ Specific Character Set (0008,0005) to the one specified
+ in the request data set, fall back to the one specified
+ via --convert-to-xxx if that is not possible
(default, unless overridden by config file)
-Cr --override-charset
convert affected element values to ISO 8859-1
+C --convert-to-charset [c]harset: string
- convert affected element values to the character
- set specified by the DICOM defined term c
+ convert affected element values to the character set
+ specified by the DICOM defined term c
-Ct --transliterate
try to approximate characters that cannot be
in destination character set
\endverbatim
-\section notes NOTES
+\section dcmqrscp_notes NOTES
-\subsection operation Operation
+\subsection dcmqrscp_operation Operation
\b dcmqrscp waits for another application to connect at the presentation
address (port number) specified in its configuration file (or overridden by a
Under normal operations \b dcmqrscp will never exit, it keeps on waiting for
new associations until killed.
-\subsection dicom_conformance DICOM Conformance
+\subsection dcmqrscp_dicom_conformance DICOM Conformance
-\subsubsection scu_conformance SCU Conformance
+\subsubsection dcmqrscp_scu_conformance SCU Conformance
The \b dcmqrscp application supports the following SOP Classes as an SCU:
MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104
MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105
MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106
+HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107
+HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108
RLELosslessTransferSyntax 1.2.840.10008.1.2.5
\endverbatim
The \b dcmqrscp application does not support extended negotiation.
-\subsubsection scp_conformance SCP Conformance
+Presentation contexts for other SOP Classes may be configured via the
+\e --assoc-config-file option by selecting an appropriate profile for outgoing
+associations. The selected profile will completely override the above mentioned
+default configuration.
+
+\subsubsection dcmqrscp_scp_conformance SCP Conformance
The \b dcmqrscp application supports the following SOP Classes as an SCP:
BlendingSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.4
XAXRFGrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.5
GrayscalePlanarMPRVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.6
-CompositingPlanarMPRVolumetricPresentationStateStor. 1.2.840.10008.5.1.4.1.1.11.7
+CompositingPlanarMPRVolumetricPresent.StateStorage 1.2.840.10008.5.1.4.1.1.11.7
+AdvancedBlendingPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.8
+VolumeRenderingVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.9
+SegmentedVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.10
+MultipleVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.11
XRayAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.12.1
EnhancedXAImageStorage 1.2.840.10008.5.1.4.1.1.12.1.1
XRayRadiofluoroscopicImageStorage 1.2.840.10008.5.1.4.1.1.12.2
OphthalmicTomographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.4
WideFieldOphthalmicPhoto.Stereogr.Proj.ImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.5
WideFieldOphthalmicPhotogr.3DCoordinatesImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.6
+OphthalmicOpticalCoherenceTomogr.EnFaceImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.7
+OphthalmicOpticalCoh.Tomogr.BscanVolumeAnalysisStor. 1.2.840.10008.5.1.4.1.1.77.1.5.8
VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6
RETIRED_VLMultiFrameImageStorage 1.2.840.10008.5.1.4.1.1.77.2
LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1
ImplantationPlanSRDocumentStorage 1.2.840.10008.5.1.4.1.1.88.70
AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71
SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72
+PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.73
ContentAssessmentResultsStorage 1.2.840.10008.5.1.4.1.1.90.1
EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2
RETIRED_StandalonePETCurveStorage 1.2.840.10008.5.1.4.1.1.129
EnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.130
BasicStructuredDisplayStorage 1.2.840.10008.5.1.4.1.1.131
-CTDefinedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.1
CTPerformedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.2
RTImageStorage 1.2.840.10008.5.1.4.1.1.481.1
RTDoseStorage 1.2.840.10008.5.1.4.1.1.481.2
MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104
MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105
MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106
+HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107
+HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108
RLELosslessTransferSyntax 1.2.840.10008.1.2.5
\endverbatim
The \b dcmqrscp application does not support extended negotiation.
-\subsubsection query_keys Query Keys
+Presentation contexts for other SOP Classes may be configured via the
+\e --assoc-config-file option by selecting an appropriate profile for incoming
+associations. The selected profile will override only the above mentioned
+storage SOP classes, \b dcmqrscp will accept contexts with the above mentioned
+FIND, GET, MOVE and private shutdown SOP Classes additionally to the ones
+defined in the selected profile. Please note that an appropriate profile for
+<b>role negotiation</b> must be defined and used for enabling GET support.
+
+\subsubsection dcmqrscp_query_keys Query Keys
The \b dcmqrscp application supports the following attributes as query keys.
\verbatim
(0010,0010) PatientName
(0010,0020) PatientID
+(0010,0021) IssuerOfPatientID
(0010,0030) PatientBirthDate
(0010,0032) PatientBirthTime
(0010,0040) PatientSex
-(0010,1000) OtherPatientIDs
+(0010,1000) OtherPatientIDs (retired)
(0010,1001) OtherPatientNames
(0010,2160) EthnicGroup
(0010,4000) PatientComments
-(0020,1200) NumberOfPatientRelatedStudies
-(0020,1202) NumberOfPatientRelatedSeries
-(0020,1204) NumberOfPatientRelatedInstances
\endverbatim
Query/Retrieve Level: STUDY
(0020,000D) StudyInstanceUID
(0020,0010) StudyID
(0020,1070) RETIRED_OtherStudyNumbers
-(0020,1206) NumberOfStudyRelatedSeries
-(0020,1208) NumberOfStudyRelatedInstances
\endverbatim
Query/Retrieve Level: SERIES
(0020,0013) InstanceNumber
\endverbatim
-\subsection configuration Configuration
+\subsection dcmqrscp_configuration Configuration
The \b dcmqrscp program uses the same configuration file as the \b dcmqrti
program. See the documentation on configuration for more information.
-\subsection access_control Access Control
+\subsection dcmqrscp_access_control Access Control
When compiled on Unix platforms with TCP wrapper support, host-based access
control can be enabled with the \e --access-control command line option. In
control tables are <em>/etc/hosts.allow</em> and <em>/etc/hosts.deny</em>.
Further details are described in <b>hosts_access</b>(5).
-\section logging LOGGING
+\section dcmqrscp_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmqrscp_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmqrscp_environment ENVIRONMENT
The \b dcmqrscp utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcmqrscp_files FILES
<em>\<docdir\>/dcmqrcnf.txt</em> - configuration information
\n<em>\<docdir\>/dcmqrset.txt</em> - setup information
\n<em>\<etcdir\>/dcmqrscp.cfg</em> - example configuration file
+\n<em>\<etcdir\>/dcmqrprf.cfg</em> - example configuration file for association profiles
-\section see_also SEE ALSO
+\section dcmqrscp_see_also SEE ALSO
<b>dcmqridx</b>(1), <b>dcmqrti</b>(1)
-\section copyright COPYRIGHT
+\section dcmqrscp_copyright COPYRIGHT
Copyright (C) 1993-2017 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dcmqrti dcmqrti: The Terminal Initiator Telnet Client Program
\endif
-\section synopsis SYNOPSIS
+\section dcmqrti_synopsis SYNOPSIS
\verbatim
dcmqrti [options] peer...
\endverbatim
-\section description DESCRIPTION
+\section dcmqrti_description DESCRIPTION
The \b dcmqrti program (telnet initiator) is an interactive character based
program intended to be used for examining the dcmqrscp image databases and
in the configuration file are available as choices within the \b dcmqrti user
interface.
-\section parameters PARAMETERS
+\section dcmqrti_parameters PARAMETERS
\verbatim
peer peer host name or symbolic name from cfg file
\endverbatim
-\section options OPTIONS
+\section dcmqrti_options OPTIONS
-\subsection general_options general options
+\subsection dcmqrti_general_options general options
\verbatim
-h --help
print this help text and exit
(default: /usr/local/etc/dcmqrscp.cfg)
\endverbatim
-\subsection network_options network options
+\subsection dcmqrti_network_options network options
\verbatim
-to --timeout [s]econds: integer (default: unlimited)
timeout for connection requests
(default: use value from configuration file)
\endverbatim
-\subsection other_options other options
+\subsection dcmqrti_other_options other options
\verbatim
-u --disable-new-vr
disable support for new VRs, convert to OB
connect to remote database defined in cfg file
\endverbatim
-\section NOTES
+\section dcmqrti_NOTES
-\subsection commands Commands
+\subsection dcmqrti_commands Commands
All commands can be abbreviated. An abbreviation is allowed if it does not
conflict with another command.
-\subsubsection help_command "help" Command
+\subsubsection dcmqrti_help_command "help" Command
The "help" command gives a summary of all available commands. Its output is
shown underneath. In order to separate the examples from surrounding text,
------------------------------------------------------------
\endverbatim
-\subsubsection title_command "title" Command
+\subsubsection dcmqrti_title_command "title" Command
The "title" command without an argument allows the user to list the known
remote Application Entities (AE). An example output might look like:
peer AE. The \b dcmqrti program will attempt to initiate an association to the
current peer AE when asked to send a study/series/image or to send an echo.
-\subsubsection database_command "database" Command
+\subsubsection dcmqrti_database_command "database" Command
The "database" command without an argument allows the user to list the know
local databases (these correspond to dcmqrscp's Application Entity Titles).
current database. The current database is used as the basis for further
database specific actions.
-\subsubsection study_command "study" Command
+\subsubsection dcmqrti_study_command "study" Command
The "study" command with no argument lists the studies in the current
database. An example output might look like:
study. The current study is used as the basis for further study specific
actions.
-\subsubsection series_command "series" Command
+\subsubsection dcmqrti_series_command "series" Command
The "series" command with no argument lists the series in the current study.
An example output might look like:
series. The current series is used as the basis for further series specific
actions.
-\subsubsection image_command "image" Command
+\subsubsection dcmqrti_image_command "image" Command
The "image" command with no argument lists the images in the current series.
An example output might look like:
image. The current image is used as the basis for further image specific
actions.
-\subsubsection display_command "display" Command
+\subsubsection dcmqrti_display_command "display" Command
The display command serves no purpose in the current version of DCMTK. It was
used in prior releases to request the CTN Display Program to display an image.
-\subsubsection send_command "send" Command
+\subsubsection dcmqrti_send_command "send" Command
The "send" command allows a complete study/series or individual image to be
stored on a remote AE. When this command is invoked, the \b dcmqrti program
------------------------------------------------------------
\endverbatim
-\subsubsection echo_command "echo" Command
+\subsubsection dcmqrti_echo_command "echo" Command
The "echo" command allows the user to verify connectivity with the current
peer AE (defined via the "title" command). When invoked, the \b dcmqrti
------------------------------------------------------------
\endverbatim
-\subsubsection quit_exit_commands "quit", "exit" Commands
+\subsubsection dcmqrti_quit_exit_commands "quit", "exit" Commands
The "quit" and "exit" commands have the same effect. They terminate the
\b dcmqrti program.
-\subsection dicom_conformance DICOM Conformance
+\subsection dcmqrti_dicom_conformance DICOM Conformance
The \b dcmqrti application supports the same set of SOP Classes as an SCU as
the \b dcmqrscp application - see dcmqrscp documentation.
The \b dcmqrti application does not support extended negotiation.
-\subsection configuration Configuration
+\subsection dcmqrti_configuration Configuration
The \b dcmqrti program uses the same configuration file as the \b dcmqrscp
program. See the documentation on configuration for more information
(<em>dcmqrcnf.txt</em> and the example configuration file
<em>dcmqrscp.cfg</em>).
-\section logging LOGGING
+\section dcmqrti_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmqrti_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmqrti_environment ENVIRONMENT
The \b dcmqrti utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dcmqrti_files FILES
<em>\<docdir\>/dcmqrcnf.txt</em> - configuration information
\n<em>\<docdir\>/dcmqrset.txt</em> - setup information
\n<em>\<etcdir\>/dcmqrscp.cfg</em> - example configuration file
-\section see_also SEE ALSO
+\section dcmqrti_see_also SEE ALSO
<b>dcmqrscp</b>(1)
-\section copyright COPYRIGHT
+\section dcmqrti_copyright COPYRIGHT
Copyright (C) 1993-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
# declare installation files
-INSTALL(FILES dcmqrscp.cfg DESTINATION ${DCMTK_INSTALL_ETCDIR} COMPONENT etc)
+INSTALL(FILES dcmqrscp.cfg DESTINATION "${DCMTK_INSTALL_ETCDIR}" COMPONENT etc)
--- /dev/null
+#
+# Copyright (C) 2017, OFFIS e.V.
+# All rights reserved. See COPYRIGHT file for details.
+#
+# This software and supporting documentation were developed by
+#
+# OFFIS e.V.
+# R&D Division Health
+# Escherweg 2
+# D-26121 Oldenburg, Germany
+#
+# Module: dcmqrdb
+#
+# Author: Jan Schlamelcher
+#
+# Purpose: Sample storage profiles configuration file for dcmqrscp
+#
+
+# ============================================================================
+[[TransferSyntaxes]]
+# ============================================================================
+
+[Uncompressed]
+TransferSyntax1 = LocalEndianExplicit
+TransferSyntax2 = OppositeEndianExplicit
+TransferSyntax3 = LittleEndianImplicit
+
+[UncompressedOrZlib]
+TransferSyntax1 = DeflatedLittleEndianExplicit
+TransferSyntax2 = LocalEndianExplicit
+TransferSyntax3 = OppositeEndianExplicit
+TransferSyntax4 = LittleEndianImplicit
+
+[JPEGBaseline]
+TransferSyntax1 = JPEGBaseline
+
+[JPEGLossless]
+TransferSyntax1 = JPEGLossless:Non-hierarchical-1stOrderPrediction
+
+[RLE]
+TransferSyntax1 = RLELossless
+
+[MPEG2]
+TransferSyntax1 = MPEG2MainProfile@MainLevel
+#
+# commented out the following line since we do not support transcoding of MPEG2
+#
+#TransferSyntax2 = MPEG2MainProfile@HighLevel
+
+[MPEG4]
+TransferSyntax1 = MPEG4HighProfile/Level4.1
+#
+# commented out the following lines since we do not support transcoding of MPEG4
+#
+#TransferSyntax2 = MPEG4BDcompatibleHighProfile/Level4.1
+#TransferSyntax3 = MPEG4HighProfile/Level4.2For2DVideo
+#TransferSyntax4 = MPEG4HighProfile/Level4.2For3DVideo
+#TransferSyntax5 = MPEG4StereoHighProfile/Level4.2
+
+[AnyTransferSyntax]
+TransferSyntax1 = JPEG2000
+TransferSyntax2 = JPEG2000LosslessOnly
+TransferSyntax3 = JPEGExtended:Process2+4
+TransferSyntax4 = JPEGBaseline
+TransferSyntax5 = JPEGLossless:Non-hierarchical-1stOrderPrediction
+TransferSyntax6 = JPEGLSLossy
+TransferSyntax7 = JPEGLSLossless
+TransferSyntax8 = RLELossless
+TransferSyntax9 = MPEG2MainProfile@MainLevel
+TransferSyntax10 = MPEG2MainProfile@HighLevel
+TransferSyntax11 = MPEG4HighProfile/Level4.1
+TransferSyntax12 = MPEG4BDcompatibleHighProfile/Level4.1
+TransferSyntax13 = MPEG4HighProfile/Level4.2For2DVideo
+TransferSyntax14 = MPEG4HighProfile/Level4.2For3DVideo
+TransferSyntax15 = MPEG4StereoHighProfile/Level4.2
+TransferSyntax16 = HEVCMainProfile/Level5.1
+TransferSyntax17 = HEVCMain10Profile/Level5.1
+TransferSyntax18 = DeflatedLittleEndianExplicit
+TransferSyntax19 = LocalEndianExplicit
+TransferSyntax20 = OppositeEndianExplicit
+TransferSyntax21 = LittleEndianImplicit
+
+# ============================================================================
+[[PresentationContexts]]
+# ============================================================================
+
+[GenericStorageSCP]
+#
+# Don't forget to support the Verification SOP Class.
+#
+PresentationContext1 = VerificationSOPClass\Uncompressed
+#
+# Accept image SOP classes with virtually any transfer syntax we know.
+# Accept non-image SOP classes uncompressed or with zlib compression only.
+#
+PresentationContext2 = BreastTomosynthesisImageStorage\AnyTransferSyntax
+PresentationContext3 = ComputedRadiographyImageStorage\AnyTransferSyntax
+PresentationContext4 = CornealTopographyMapStorage\AnyTransferSyntax
+PresentationContext5 = CTImageStorage\AnyTransferSyntax
+PresentationContext6 = DigitalIntraOralXRayImageStorageForPresentation\AnyTransferSyntax
+PresentationContext7 = DigitalIntraOralXRayImageStorageForProcessing\AnyTransferSyntax
+PresentationContext8 = DigitalMammographyXRayImageStorageForPresentation\AnyTransferSyntax
+PresentationContext9 = DigitalMammographyXRayImageStorageForProcessing\AnyTransferSyntax
+PresentationContext10 = DigitalXRayImageStorageForPresentation\AnyTransferSyntax
+PresentationContext11 = DigitalXRayImageStorageForProcessing\AnyTransferSyntax
+PresentationContext12 = EnhancedCTImageStorage\AnyTransferSyntax
+PresentationContext13 = EnhancedMRColorImageStorage\AnyTransferSyntax
+PresentationContext14 = EnhancedMRImageStorage\AnyTransferSyntax
+PresentationContext15 = EnhancedPETImageStorage\AnyTransferSyntax
+PresentationContext16 = EnhancedUSVolumeStorage\AnyTransferSyntax
+PresentationContext17 = EnhancedXAImageStorage\AnyTransferSyntax
+PresentationContext18 = EnhancedXRFImageStorage\AnyTransferSyntax
+PresentationContext19 = IntravascularOpticalCoherenceTomographyImageStorageForPresentation\AnyTransferSyntax
+PresentationContext20 = IntravascularOpticalCoherenceTomographyImageStorageForProcessing\AnyTransferSyntax
+PresentationContext21 = MRImageStorage\AnyTransferSyntax
+PresentationContext22 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\AnyTransferSyntax
+PresentationContext23 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\AnyTransferSyntax
+PresentationContext24 = MultiframeSingleBitSecondaryCaptureImageStorage\AnyTransferSyntax
+PresentationContext25 = MultiframeTrueColorSecondaryCaptureImageStorage\AnyTransferSyntax
+PresentationContext26 = NuclearMedicineImageStorage\AnyTransferSyntax
+PresentationContext27 = OphthalmicPhotography16BitImageStorage\AnyTransferSyntax
+PresentationContext28 = OphthalmicPhotography8BitImageStorage\AnyTransferSyntax
+PresentationContext29 = OphthalmicThicknessMapStorage\AnyTransferSyntax
+PresentationContext30 = OphthalmicTomographyImageStorage\AnyTransferSyntax
+PresentationContext31 = PositronEmissionTomographyImageStorage\AnyTransferSyntax
+PresentationContext32 = RTImageStorage\AnyTransferSyntax
+PresentationContext33 = SecondaryCaptureImageStorage\AnyTransferSyntax
+PresentationContext34 = UltrasoundImageStorage\AnyTransferSyntax
+PresentationContext35 = UltrasoundMultiframeImageStorage\AnyTransferSyntax
+PresentationContext36 = VideoEndoscopicImageStorage\AnyTransferSyntax
+PresentationContext37 = VideoMicroscopicImageStorage\AnyTransferSyntax
+PresentationContext38 = VideoPhotographicImageStorage\AnyTransferSyntax
+PresentationContext39 = VLEndoscopicImageStorage\AnyTransferSyntax
+PresentationContext40 = VLMicroscopicImageStorage\AnyTransferSyntax
+PresentationContext41 = VLPhotographicImageStorage\AnyTransferSyntax
+PresentationContext42 = VLSlideCoordinatesMicroscopicImageStorage\AnyTransferSyntax
+PresentationContext43 = VLWholeSlideMicroscopyImageStorage\AnyTransferSyntax
+PresentationContext44 = XRay3DAngiographicImageStorage\AnyTransferSyntax
+PresentationContext45 = XRay3DCraniofacialImageStorage\AnyTransferSyntax
+PresentationContext46 = XRayAngiographicImageStorage\AnyTransferSyntax
+PresentationContext47 = XRayRadiofluoroscopicImageStorage\AnyTransferSyntax
+# retired
+PresentationContext48 = RETIRED_HardcopyColorImageStorage\AnyTransferSyntax
+PresentationContext49 = RETIRED_HardcopyGrayscaleImageStorage\AnyTransferSyntax
+PresentationContext50 = RETIRED_NuclearMedicineImageStorage\AnyTransferSyntax
+PresentationContext51 = RETIRED_UltrasoundImageStorage\AnyTransferSyntax
+PresentationContext52 = RETIRED_UltrasoundMultiframeImageStorage\AnyTransferSyntax
+PresentationContext53 = RETIRED_VLImageStorage\AnyTransferSyntax
+PresentationContext54 = RETIRED_VLMultiFrameImageStorage\AnyTransferSyntax
+PresentationContext55 = RETIRED_XRayAngiographicBiPlaneImageStorage\AnyTransferSyntax
+#
+# the following presentation contexts are for non-image SOP classes
+#
+PresentationContext56 = AmbulatoryECGWaveformStorage\UncompressedOrZlib
+PresentationContext57 = ArterialPulseWaveformStorage\UncompressedOrZlib
+PresentationContext58 = AutorefractionMeasurementsStorage\UncompressedOrZlib
+PresentationContext59 = BasicStructuredDisplayStorage\UncompressedOrZlib
+PresentationContext60 = BasicTextSRStorage\UncompressedOrZlib
+PresentationContext61 = BasicVoiceAudioWaveformStorage\UncompressedOrZlib
+PresentationContext62 = BlendingSoftcopyPresentationStateStorage\UncompressedOrZlib
+PresentationContext63 = CardiacElectrophysiologyWaveformStorage\UncompressedOrZlib
+PresentationContext64 = ChestCADSRStorage\UncompressedOrZlib
+PresentationContext65 = ColonCADSRStorage\UncompressedOrZlib
+PresentationContext66 = ColorSoftcopyPresentationStateStorage\UncompressedOrZlib
+PresentationContext67 = Comprehensive3DSRStorage\UncompressedOrZlib
+PresentationContext68 = ComprehensiveSRStorage\UncompressedOrZlib
+PresentationContext69 = DeformableSpatialRegistrationStorage\UncompressedOrZlib
+PresentationContext70 = EncapsulatedCDAStorage\UncompressedOrZlib
+PresentationContext71 = EncapsulatedPDFStorage\UncompressedOrZlib
+PresentationContext72 = EnhancedSRStorage\UncompressedOrZlib
+PresentationContext73 = GeneralAudioWaveformStorage\UncompressedOrZlib
+PresentationContext74 = GeneralECGWaveformStorage\UncompressedOrZlib
+PresentationContext75 = GenericImplantTemplateStorage\UncompressedOrZlib
+PresentationContext76 = GrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib
+PresentationContext77 = HemodynamicWaveformStorage\UncompressedOrZlib
+PresentationContext78 = ImplantAssemblyTemplateStorage\UncompressedOrZlib
+PresentationContext79 = ImplantationPlanSRDocumentStorage\UncompressedOrZlib
+PresentationContext80 = ImplantTemplateGroupStorage\UncompressedOrZlib
+PresentationContext81 = IntraocularLensCalculationsStorage\UncompressedOrZlib
+PresentationContext82 = KeratometryMeasurementsStorage\UncompressedOrZlib
+PresentationContext83 = KeyObjectSelectionDocumentStorage\UncompressedOrZlib
+PresentationContext84 = LensometryMeasurementsStorage\UncompressedOrZlib
+PresentationContext85 = MacularGridThicknessAndVolumeReportStorage\UncompressedOrZlib
+PresentationContext86 = MammographyCADSRStorage\UncompressedOrZlib
+PresentationContext87 = MRSpectroscopyStorage\UncompressedOrZlib
+PresentationContext88 = OphthalmicAxialMeasurementsStorage\UncompressedOrZlib
+PresentationContext89 = OphthalmicVisualFieldStaticPerimetryMeasurementsStorage\UncompressedOrZlib
+PresentationContext90 = ProcedureLogStorage\UncompressedOrZlib
+PresentationContext91 = PseudoColorSoftcopyPresentationStateStorage\UncompressedOrZlib
+PresentationContext92 = RawDataStorage\UncompressedOrZlib
+PresentationContext93 = RealWorldValueMappingStorage\UncompressedOrZlib
+PresentationContext94 = RespiratoryWaveformStorage\UncompressedOrZlib
+PresentationContext95 = RTBeamsDeliveryInstructionStorage\UncompressedOrZlib
+PresentationContext96 = RTBeamsTreatmentRecordStorage\UncompressedOrZlib
+PresentationContext97 = RTBrachyTreatmentRecordStorage\UncompressedOrZlib
+PresentationContext98 = RTDoseStorage\UncompressedOrZlib
+PresentationContext99 = RTIonBeamsTreatmentRecordStorage\UncompressedOrZlib
+PresentationContext100 = RTIonPlanStorage\UncompressedOrZlib
+PresentationContext101 = RTPlanStorage\UncompressedOrZlib
+PresentationContext102 = RTStructureSetStorage\UncompressedOrZlib
+PresentationContext103 = RTTreatmentSummaryRecordStorage\UncompressedOrZlib
+PresentationContext104 = SegmentationStorage\UncompressedOrZlib
+PresentationContext105 = SpatialFiducialsStorage\UncompressedOrZlib
+PresentationContext106 = SpatialRegistrationStorage\UncompressedOrZlib
+PresentationContext107 = SpectaclePrescriptionReportStorage\UncompressedOrZlib
+PresentationContext108 = StereometricRelationshipStorage\UncompressedOrZlib
+PresentationContext109 = SubjectiveRefractionMeasurementsStorage\UncompressedOrZlib
+PresentationContext110 = SurfaceScanMeshStorage\UncompressedOrZlib
+PresentationContext111 = SurfaceScanPointCloudStorage\UncompressedOrZlib
+PresentationContext112 = SurfaceSegmentationStorage\UncompressedOrZlib
+PresentationContext113 = TwelveLeadECGWaveformStorage\UncompressedOrZlib
+PresentationContext114 = VisualAcuityMeasurementsStorage\UncompressedOrZlib
+PresentationContext115 = XAXRFGrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib
+PresentationContext116 = XRayRadiationDoseSRStorage\UncompressedOrZlib
+# retired
+PresentationContext117 = RETIRED_StandaloneCurveStorage\UncompressedOrZlib
+PresentationContext118 = RETIRED_StandaloneModalityLUTStorage\UncompressedOrZlib
+PresentationContext119 = RETIRED_StandaloneOverlayStorage\UncompressedOrZlib
+PresentationContext120 = RETIRED_StandalonePETCurveStorage\UncompressedOrZlib
+PresentationContext121 = RETIRED_StandaloneVOILUTStorage\UncompressedOrZlib
+PresentationContext122 = RETIRED_StoredPrintStorage\UncompressedOrZlib
+# draft
+PresentationContext123 = DRAFT_RTBeamsDeliveryInstructionStorage\UncompressedOrZlib
+PresentationContext124 = DRAFT_SRAudioStorage\UncompressedOrZlib
+PresentationContext125 = DRAFT_SRComprehensiveStorage\UncompressedOrZlib
+PresentationContext126 = DRAFT_SRDetailStorage\UncompressedOrZlib
+PresentationContext127 = DRAFT_SRTextStorage\UncompressedOrZlib
+PresentationContext128 = DRAFT_WaveformStorage\UncompressedOrZlib
+#
+# the following SOP classes are missing in the above list:
+#
+# - AcquisitionContextSRStorage
+# - AdvancedBlendingPresentationStateStorage
+# - BreastProjectionXRayImageStorageForPresentation
+# - BreastProjectionXRayImageStorageForProcessing
+# - ColorPaletteStorage
+# - CompositingPlanarMPRVolumetricPresentationStateStorage
+# - ContentAssessmentResultsStorage
+# - CTDefinedProcedureProtocolStorage
+# - CTPerformedProcedureProtocolStorage
+# - ExtensibleSRStorage
+# - GrayscalePlanarMPRVolumetricPresentationStateStorage
+# - HangingProtocolStorage
+# - LegacyConvertedEnhancedCTImageStorage
+# - LegacyConvertedEnhancedMRImageStorage
+# - LegacyConvertedEnhancedPETImageStorage
+# - MultipleVolumeRenderingVolumetricPresentationStateStorage
+# - OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage
+# - OphthalmicOpticalCoherenceTomographyEnFaceImageStorage
+# - ParametricMapStorage
+# - PatientRadiationDoseSRStorage
+# - RadiopharmaceuticalRadiationDoseSRStorage
+# - RTBrachyApplicationSetupDeliveryInstructionStorage
+# - SegmentedVolumeRenderingVolumetricPresentationStateStorage
+# - SimplifiedAdultEchoSRStorage
+# - TractographyResultsStorage
+# - VolumeRenderingVolumetricPresentationStateStorage
+# - WideFieldOphthalmicPhotographyStereographicProjectionImageStorage
+# - WideFieldOphthalmicPhotography3DCoordinatesImageStorage
+#
+# - DICOS_2DAITStorage
+# - DICOS_3DAITStorage
+# - DICOS_CTImageStorage
+# - DICOS_DigitalXRayImageStorageForPresentation
+# - DICOS_DigitalXRayImageStorageForProcessing
+# - DICOS_QuadrupoleResonanceStorage
+# - DICOS_ThreatDetectionReportStorage
+#
+# - DICONDE_EddyCurrentImageStorage
+# - DICONDE_EddyCurrentMultiframeImageStorage
+
+# ----------------------------------------------------------------------------
+
+[AllDICOMStorageSCP]
+#
+# Same as "GenericStorageSCP" but limited to non-retired and non-draft SOP Classes.
+# This allows for accepting (almost) all DICOM Storage SOP Classes that are currently
+# defined in the standard (an exception is made for some very new DICOM objects because
+# of the limitation of 128 Presentation Contexts for SCPs, see DCMTK Feature # 540).
+#
+PresentationContext1 = VerificationSOPClass\Uncompressed
+#
+# DICOM images
+#
+PresentationContext2 = BreastProjectionXRayImageStorageForPresentation\AnyTransferSyntax
+PresentationContext3 = BreastProjectionXRayImageStorageForProcessing\AnyTransferSyntax
+PresentationContext4 = BreastTomosynthesisImageStorage\AnyTransferSyntax
+PresentationContext5 = ComputedRadiographyImageStorage\AnyTransferSyntax
+PresentationContext6 = CornealTopographyMapStorage\AnyTransferSyntax
+PresentationContext7 = CTImageStorage\AnyTransferSyntax
+PresentationContext8 = DigitalIntraOralXRayImageStorageForPresentation\AnyTransferSyntax
+PresentationContext9 = DigitalIntraOralXRayImageStorageForProcessing\AnyTransferSyntax
+PresentationContext10 = DigitalMammographyXRayImageStorageForPresentation\AnyTransferSyntax
+PresentationContext11 = DigitalMammographyXRayImageStorageForProcessing\AnyTransferSyntax
+PresentationContext12 = DigitalXRayImageStorageForPresentation\AnyTransferSyntax
+PresentationContext13 = DigitalXRayImageStorageForProcessing\AnyTransferSyntax
+PresentationContext14 = EnhancedCTImageStorage\AnyTransferSyntax
+PresentationContext15 = EnhancedMRColorImageStorage\AnyTransferSyntax
+PresentationContext16 = EnhancedMRImageStorage\AnyTransferSyntax
+PresentationContext17 = EnhancedPETImageStorage\AnyTransferSyntax
+PresentationContext18 = EnhancedUSVolumeStorage\AnyTransferSyntax
+PresentationContext19 = EnhancedXAImageStorage\AnyTransferSyntax
+PresentationContext20 = EnhancedXRFImageStorage\AnyTransferSyntax
+PresentationContext21 = IntravascularOpticalCoherenceTomographyImageStorageForPresentation\AnyTransferSyntax
+PresentationContext22 = IntravascularOpticalCoherenceTomographyImageStorageForProcessing\AnyTransferSyntax
+PresentationContext23 = LegacyConvertedEnhancedCTImageStorage\AnyTransferSyntax
+PresentationContext24 = LegacyConvertedEnhancedMRImageStorage\AnyTransferSyntax
+PresentationContext25 = LegacyConvertedEnhancedPETImageStorage\AnyTransferSyntax
+PresentationContext26 = MRImageStorage\AnyTransferSyntax
+PresentationContext27 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\AnyTransferSyntax
+PresentationContext28 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\AnyTransferSyntax
+PresentationContext29 = MultiframeSingleBitSecondaryCaptureImageStorage\AnyTransferSyntax
+PresentationContext30 = MultiframeTrueColorSecondaryCaptureImageStorage\AnyTransferSyntax
+PresentationContext31 = NuclearMedicineImageStorage\AnyTransferSyntax
+PresentationContext32 = OphthalmicPhotography16BitImageStorage\AnyTransferSyntax
+PresentationContext33 = OphthalmicPhotography8BitImageStorage\AnyTransferSyntax
+PresentationContext34 = OphthalmicThicknessMapStorage\AnyTransferSyntax
+PresentationContext35 = OphthalmicTomographyImageStorage\AnyTransferSyntax
+PresentationContext36 = ParametricMapStorage\AnyTransferSyntax
+PresentationContext37 = PositronEmissionTomographyImageStorage\AnyTransferSyntax
+PresentationContext38 = RTImageStorage\AnyTransferSyntax
+PresentationContext39 = SecondaryCaptureImageStorage\AnyTransferSyntax
+PresentationContext40 = UltrasoundImageStorage\AnyTransferSyntax
+PresentationContext41 = UltrasoundMultiframeImageStorage\AnyTransferSyntax
+PresentationContext42 = VideoEndoscopicImageStorage\AnyTransferSyntax
+PresentationContext43 = VideoMicroscopicImageStorage\AnyTransferSyntax
+PresentationContext44 = VideoPhotographicImageStorage\AnyTransferSyntax
+PresentationContext45 = VLEndoscopicImageStorage\AnyTransferSyntax
+PresentationContext46 = VLMicroscopicImageStorage\AnyTransferSyntax
+PresentationContext47 = VLPhotographicImageStorage\AnyTransferSyntax
+PresentationContext48 = VLSlideCoordinatesMicroscopicImageStorage\AnyTransferSyntax
+PresentationContext49 = VLWholeSlideMicroscopyImageStorage\AnyTransferSyntax
+PresentationContext50 = WideFieldOphthalmicPhotographyStereographicProjectionImageStorage\AnyTransferSyntax
+PresentationContext51 = WideFieldOphthalmicPhotography3DCoordinatesImageStorage\AnyTransferSyntax
+PresentationContext52 = XRay3DAngiographicImageStorage\AnyTransferSyntax
+PresentationContext53 = XRay3DCraniofacialImageStorage\AnyTransferSyntax
+PresentationContext54 = XRayAngiographicImageStorage\AnyTransferSyntax
+PresentationContext55 = XRayRadiofluoroscopicImageStorage\AnyTransferSyntax
+#
+# all other DICOM objects
+#
+PresentationContext56 = AcquisitionContextSRStorage\UncompressedOrZlib
+PresentationContext57 = AmbulatoryECGWaveformStorage\UncompressedOrZlib
+PresentationContext58 = ArterialPulseWaveformStorage\UncompressedOrZlib
+PresentationContext59 = AutorefractionMeasurementsStorage\UncompressedOrZlib
+PresentationContext60 = BasicStructuredDisplayStorage\UncompressedOrZlib
+PresentationContext61 = BasicTextSRStorage\UncompressedOrZlib
+PresentationContext62 = BasicVoiceAudioWaveformStorage\UncompressedOrZlib
+PresentationContext63 = BlendingSoftcopyPresentationStateStorage\UncompressedOrZlib
+PresentationContext64 = CardiacElectrophysiologyWaveformStorage\UncompressedOrZlib
+PresentationContext65 = ChestCADSRStorage\UncompressedOrZlib
+PresentationContext66 = ColonCADSRStorage\UncompressedOrZlib
+PresentationContext67 = ColorSoftcopyPresentationStateStorage\UncompressedOrZlib
+PresentationContext68 = CompositingPlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib
+PresentationContext69 = Comprehensive3DSRStorage\UncompressedOrZlib
+PresentationContext70 = ComprehensiveSRStorage\UncompressedOrZlib
+PresentationContext71 = ContentAssessmentResultsStorage\UncompressedOrZlib
+PresentationContext72 = CTDefinedProcedureProtocolStorage\UncompressedOrZlib
+PresentationContext73 = CTPerformedProcedureProtocolStorage\UncompressedOrZlib
+PresentationContext74 = DeformableSpatialRegistrationStorage\UncompressedOrZlib
+PresentationContext75 = EncapsulatedCDAStorage\UncompressedOrZlib
+PresentationContext76 = EncapsulatedPDFStorage\UncompressedOrZlib
+PresentationContext77 = EnhancedSRStorage\UncompressedOrZlib
+PresentationContext78 = ExtensibleSRStorage\UncompressedOrZlib
+PresentationContext79 = GeneralAudioWaveformStorage\UncompressedOrZlib
+PresentationContext80 = GeneralECGWaveformStorage\UncompressedOrZlib
+PresentationContext81 = GenericImplantTemplateStorage\UncompressedOrZlib
+PresentationContext82 = GrayscalePlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib
+PresentationContext83 = GrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib
+PresentationContext84 = HangingProtocolStorage\UncompressedOrZlib
+PresentationContext85 = HemodynamicWaveformStorage\UncompressedOrZlib
+PresentationContext86 = ImplantAssemblyTemplateStorage\UncompressedOrZlib
+PresentationContext87 = ImplantationPlanSRDocumentStorage\UncompressedOrZlib
+PresentationContext88 = ImplantTemplateGroupStorage\UncompressedOrZlib
+PresentationContext89 = IntraocularLensCalculationsStorage\UncompressedOrZlib
+PresentationContext90 = KeratometryMeasurementsStorage\UncompressedOrZlib
+PresentationContext91 = KeyObjectSelectionDocumentStorage\UncompressedOrZlib
+PresentationContext92 = LensometryMeasurementsStorage\UncompressedOrZlib
+PresentationContext93 = MacularGridThicknessAndVolumeReportStorage\UncompressedOrZlib
+PresentationContext94 = MammographyCADSRStorage\UncompressedOrZlib
+PresentationContext95 = MRSpectroscopyStorage\UncompressedOrZlib
+PresentationContext96 = OphthalmicAxialMeasurementsStorage\UncompressedOrZlib
+PresentationContext97 = OphthalmicVisualFieldStaticPerimetryMeasurementsStorage\UncompressedOrZlib
+PresentationContext98 = ProcedureLogStorage\UncompressedOrZlib
+PresentationContext99 = PseudoColorSoftcopyPresentationStateStorage\UncompressedOrZlib
+PresentationContext100 = RadiopharmaceuticalRadiationDoseSRStorage\UncompressedOrZlib
+PresentationContext101 = RawDataStorage\UncompressedOrZlib
+PresentationContext102 = RealWorldValueMappingStorage\UncompressedOrZlib
+PresentationContext103 = RespiratoryWaveformStorage\UncompressedOrZlib
+PresentationContext104 = RTBeamsDeliveryInstructionStorage\UncompressedOrZlib
+PresentationContext105 = RTBeamsTreatmentRecordStorage\UncompressedOrZlib
+PresentationContext106 = RTBrachyApplicationSetupDeliveryInstructionStorage\UncompressedOrZlib
+PresentationContext107 = RTBrachyTreatmentRecordStorage\UncompressedOrZlib
+PresentationContext108 = RTDoseStorage\UncompressedOrZlib
+PresentationContext109 = RTIonBeamsTreatmentRecordStorage\UncompressedOrZlib
+PresentationContext110 = RTIonPlanStorage\UncompressedOrZlib
+PresentationContext111 = RTPlanStorage\UncompressedOrZlib
+PresentationContext112 = RTStructureSetStorage\UncompressedOrZlib
+PresentationContext113 = RTTreatmentSummaryRecordStorage\UncompressedOrZlib
+PresentationContext114 = SegmentationStorage\UncompressedOrZlib
+PresentationContext115 = SimplifiedAdultEchoSRStorage\UncompressedOrZlib
+PresentationContext116 = SpatialFiducialsStorage\UncompressedOrZlib
+PresentationContext117 = SpatialRegistrationStorage\UncompressedOrZlib
+PresentationContext118 = SpectaclePrescriptionReportStorage\UncompressedOrZlib
+PresentationContext119 = StereometricRelationshipStorage\UncompressedOrZlib
+PresentationContext120 = SubjectiveRefractionMeasurementsStorage\UncompressedOrZlib
+PresentationContext121 = SurfaceScanMeshStorage\UncompressedOrZlib
+PresentationContext122 = SurfaceScanPointCloudStorage\UncompressedOrZlib
+PresentationContext123 = SurfaceSegmentationStorage\UncompressedOrZlib
+PresentationContext124 = TractographyResultsStorage\UncompressedOrZlib
+PresentationContext125 = TwelveLeadECGWaveformStorage\UncompressedOrZlib
+PresentationContext126 = VisualAcuityMeasurementsStorage\UncompressedOrZlib
+PresentationContext127 = XAXRFGrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib
+PresentationContext128 = XRayRadiationDoseSRStorage\UncompressedOrZlib
+#
+# the following SOP classes are missing in the above list:
+#
+# - AdvancedBlendingPresentationStateStorage
+# - ColorPaletteStorage
+# - MultipleVolumeRenderingVolumetricPresentationStateStorage
+# - OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage
+# - OphthalmicOpticalCoherenceTomographyEnFaceImageStorage
+# - PatientRadiationDoseSRStorage
+# - SegmentedVolumeRenderingVolumetricPresentationStateStorage
+# - VolumeRenderingVolumetricPresentationStateStorage
+#
+# - RETIRED_HardcopyColorImageStorage
+# - RETIRED_HardcopyGrayscaleImageStorage
+# - RETIRED_NuclearMedicineImageStorage
+# - RETIRED_UltrasoundImageStorage
+# - RETIRED_UltrasoundMultiframeImageStorage
+# - RETIRED_VLImageStorage
+# - RETIRED_VLMultiFrameImageStorage
+# - RETIRED_XRayAngiographicBiPlaneImageStorage
+#
+# - RETIRED_StandaloneCurveStorage
+# - RETIRED_StandaloneModalityLUTStorage
+# - RETIRED_StandaloneOverlayStorage
+# - RETIRED_StandalonePETCurveStorage
+# - RETIRED_StandaloneVOILUTStorage
+# - RETIRED_StoredPrintStorage
+#
+# - DRAFT_RTBeamsDeliveryInstructionStorage
+# - DRAFT_SRAudioStorage
+# - DRAFT_SRComprehensiveStorage
+# - DRAFT_SRDetailStorage
+# - DRAFT_SRTextStorage
+# - DRAFT_WaveformStorage
+#
+# - DICOS_2DAITStorage
+# - DICOS_3DAITStorage
+# - DICOS_CTImageStorage
+# - DICOS_DigitalXRayImageStorageForPresentation
+# - DICOS_DigitalXRayImageStorageForProcessing
+# - DICOS_QuadrupoleResonanceStorage
+# - DICOS_ThreatDetectionReportStorage
+#
+# - DICONDE_EddyCurrentImageStorage
+# - DICONDE_EddyCurrentMultiframeImageStorage
+
+[StorageSCUCompressedAndUncompressed]
+#
+# For non-image SOP classes, we only support uncompressed transmission.
+# For image SOP classes, we support JPEG lossy, JPEG lossless and uncompressed.
+# For Ultrasound, we additionally support RLE.
+# The retired and standalone SOP classes are not supported with this profile.
+#
+PresentationContext1 = ComputedRadiographyImageStorage\JPEGBaseline
+PresentationContext2 = ComputedRadiographyImageStorage\JPEGLossless
+PresentationContext3 = ComputedRadiographyImageStorage\Uncompressed
+PresentationContext4 = CTImageStorage\JPEGBaseline
+PresentationContext5 = CTImageStorage\JPEGLossless
+PresentationContext6 = CTImageStorage\Uncompressed
+PresentationContext7 = DigitalIntraOralXRayImageStorageForPresentation\JPEGBaseline
+PresentationContext8 = DigitalIntraOralXRayImageStorageForPresentation\JPEGLossless
+PresentationContext9 = DigitalIntraOralXRayImageStorageForPresentation\Uncompressed
+PresentationContext10 = DigitalIntraOralXRayImageStorageForProcessing\JPEGBaseline
+PresentationContext11 = DigitalIntraOralXRayImageStorageForProcessing\JPEGLossless
+PresentationContext12 = DigitalIntraOralXRayImageStorageForProcessing\Uncompressed
+PresentationContext13 = DigitalMammographyXRayImageStorageForPresentation\JPEGBaseline
+PresentationContext14 = DigitalMammographyXRayImageStorageForPresentation\JPEGLossless
+PresentationContext15 = DigitalMammographyXRayImageStorageForPresentation\Uncompressed
+PresentationContext16 = DigitalMammographyXRayImageStorageForProcessing\JPEGBaseline
+PresentationContext17 = DigitalMammographyXRayImageStorageForProcessing\JPEGLossless
+PresentationContext18 = DigitalMammographyXRayImageStorageForProcessing\Uncompressed
+PresentationContext19 = DigitalXRayImageStorageForPresentation\JPEGBaseline
+PresentationContext20 = DigitalXRayImageStorageForPresentation\JPEGLossless
+PresentationContext21 = DigitalXRayImageStorageForPresentation\Uncompressed
+PresentationContext22 = DigitalXRayImageStorageForProcessing\JPEGBaseline
+PresentationContext23 = DigitalXRayImageStorageForProcessing\JPEGLossless
+PresentationContext24 = DigitalXRayImageStorageForProcessing\Uncompressed
+PresentationContext25 = EnhancedCTImageStorage\JPEGBaseline
+PresentationContext26 = EnhancedCTImageStorage\JPEGLossless
+PresentationContext27 = EnhancedCTImageStorage\Uncompressed
+PresentationContext28 = EnhancedMRImageStorage\JPEGBaseline
+PresentationContext29 = EnhancedMRImageStorage\JPEGLossless
+PresentationContext30 = EnhancedMRImageStorage\Uncompressed
+PresentationContext31 = EnhancedXAImageStorage\JPEGBaseline
+PresentationContext32 = EnhancedXAImageStorage\JPEGLossless
+PresentationContext33 = EnhancedXAImageStorage\Uncompressed
+PresentationContext34 = EnhancedXRFImageStorage\JPEGBaseline
+PresentationContext35 = EnhancedXRFImageStorage\JPEGLossless
+PresentationContext36 = EnhancedXRFImageStorage\Uncompressed
+PresentationContext37 = MRImageStorage\JPEGBaseline
+PresentationContext38 = MRImageStorage\JPEGLossless
+PresentationContext39 = MRImageStorage\Uncompressed
+PresentationContext40 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\JPEGBaseline
+PresentationContext41 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\JPEGLossless
+PresentationContext42 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\Uncompressed
+PresentationContext43 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\JPEGBaseline
+PresentationContext44 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\JPEGLossless
+PresentationContext45 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\Uncompressed
+PresentationContext46 = MultiframeSingleBitSecondaryCaptureImageStorage\JPEGBaseline
+PresentationContext47 = MultiframeSingleBitSecondaryCaptureImageStorage\JPEGLossless
+PresentationContext48 = MultiframeSingleBitSecondaryCaptureImageStorage\Uncompressed
+PresentationContext49 = MultiframeTrueColorSecondaryCaptureImageStorage\JPEGBaseline
+PresentationContext50 = MultiframeTrueColorSecondaryCaptureImageStorage\JPEGLossless
+PresentationContext51 = MultiframeTrueColorSecondaryCaptureImageStorage\Uncompressed
+PresentationContext52 = NuclearMedicineImageStorage\JPEGBaseline
+PresentationContext53 = NuclearMedicineImageStorage\JPEGLossless
+PresentationContext54 = NuclearMedicineImageStorage\Uncompressed
+PresentationContext55 = OphthalmicPhotography16BitImageStorage\JPEGBaseline
+PresentationContext56 = OphthalmicPhotography16BitImageStorage\JPEGLossless
+PresentationContext57 = OphthalmicPhotography16BitImageStorage\Uncompressed
+PresentationContext58 = OphthalmicPhotography8BitImageStorage\JPEGBaseline
+PresentationContext59 = OphthalmicPhotography8BitImageStorage\JPEGLossless
+PresentationContext60 = OphthalmicPhotography8BitImageStorage\Uncompressed
+PresentationContext61 = PositronEmissionTomographyImageStorage\JPEGBaseline
+PresentationContext62 = PositronEmissionTomographyImageStorage\JPEGLossless
+PresentationContext63 = PositronEmissionTomographyImageStorage\Uncompressed
+PresentationContext64 = RTImageStorage\JPEGBaseline
+PresentationContext65 = RTImageStorage\JPEGLossless
+PresentationContext66 = RTImageStorage\Uncompressed
+PresentationContext67 = SecondaryCaptureImageStorage\JPEGBaseline
+PresentationContext68 = SecondaryCaptureImageStorage\JPEGLossless
+PresentationContext69 = SecondaryCaptureImageStorage\Uncompressed
+PresentationContext70 = UltrasoundImageStorage\JPEGBaseline
+PresentationContext71 = UltrasoundImageStorage\JPEGLossless
+PresentationContext72 = UltrasoundImageStorage\RLE
+PresentationContext73 = UltrasoundImageStorage\Uncompressed
+PresentationContext74 = UltrasoundMultiframeImageStorage\JPEGBaseline
+PresentationContext75 = UltrasoundMultiframeImageStorage\JPEGLossless
+PresentationContext76 = UltrasoundMultiframeImageStorage\RLE
+PresentationContext77 = UltrasoundMultiframeImageStorage\Uncompressed
+PresentationContext78 = VLEndoscopicImageStorage\JPEGBaseline
+PresentationContext79 = VLEndoscopicImageStorage\JPEGLossless
+PresentationContext80 = VLEndoscopicImageStorage\Uncompressed
+PresentationContext81 = VLMicroscopicImageStorage\JPEGBaseline
+PresentationContext82 = VLMicroscopicImageStorage\JPEGLossless
+PresentationContext83 = VLMicroscopicImageStorage\Uncompressed
+PresentationContext84 = VLPhotographicImageStorage\JPEGBaseline
+PresentationContext85 = VLPhotographicImageStorage\JPEGLossless
+PresentationContext86 = VLPhotographicImageStorage\Uncompressed
+PresentationContext87 = VLSlideCoordinatesMicroscopicImageStorage\JPEGBaseline
+PresentationContext88 = VLSlideCoordinatesMicroscopicImageStorage\JPEGLossless
+PresentationContext89 = VLSlideCoordinatesMicroscopicImageStorage\Uncompressed
+PresentationContext90 = XRayAngiographicImageStorage\JPEGBaseline
+PresentationContext91 = XRayAngiographicImageStorage\JPEGLossless
+PresentationContext92 = XRayAngiographicImageStorage\Uncompressed
+PresentationContext93 = XRayRadiofluoroscopicImageStorage\JPEGBaseline
+PresentationContext94 = XRayRadiofluoroscopicImageStorage\JPEGLossless
+PresentationContext95 = XRayRadiofluoroscopicImageStorage\Uncompressed
+#
+# the following presentation contexts are for non-image SOP classes
+#
+PresentationContext96 = AmbulatoryECGWaveformStorage\Uncompressed
+PresentationContext97 = BasicTextSRStorage\Uncompressed
+PresentationContext98 = BasicVoiceAudioWaveformStorage\Uncompressed
+PresentationContext99 = CardiacElectrophysiologyWaveformStorage\Uncompressed
+PresentationContext100 = ChestCADSRStorage\Uncompressed
+PresentationContext101 = ColonCADSRStorage\Uncompressed
+PresentationContext102 = ColorSoftcopyPresentationStateStorage\Uncompressed
+PresentationContext103 = ComprehensiveSRStorage\Uncompressed
+PresentationContext104 = EncapsulatedPDFStorage\Uncompressed
+PresentationContext105 = EnhancedSRStorage\Uncompressed
+PresentationContext106 = GeneralECGWaveformStorage\Uncompressed
+PresentationContext107 = GrayscaleSoftcopyPresentationStateStorage\Uncompressed
+PresentationContext108 = HemodynamicWaveformStorage\Uncompressed
+PresentationContext109 = KeyObjectSelectionDocumentStorage\Uncompressed
+PresentationContext110 = MammographyCADSRStorage\Uncompressed
+PresentationContext111 = MRSpectroscopyStorage\Uncompressed
+PresentationContext112 = ProcedureLogStorage\Uncompressed
+PresentationContext113 = PseudoColorSoftcopyPresentationStateStorage\Uncompressed
+PresentationContext114 = RawDataStorage\Uncompressed
+PresentationContext115 = RTBeamsTreatmentRecordStorage\Uncompressed
+PresentationContext116 = RTBrachyTreatmentRecordStorage\Uncompressed
+PresentationContext117 = RTDoseStorage\Uncompressed
+PresentationContext118 = RTPlanStorage\Uncompressed
+PresentationContext119 = RTStructureSetStorage\Uncompressed
+PresentationContext120 = RTTreatmentSummaryRecordStorage\Uncompressed
+PresentationContext121 = SpatialFiducialsStorage\Uncompressed
+PresentationContext122 = SpatialRegistrationStorage\Uncompressed
+PresentationContext123 = StereometricRelationshipStorage\Uncompressed
+PresentationContext124 = TwelveLeadECGWaveformStorage\Uncompressed
+PresentationContext125 = XRayRadiationDoseSRStorage\Uncompressed
+#
+# the new video objects are only negotiated with MPEG2 transfer syntax
+#
+PresentationContext126 = VideoEndoscopicImageStorage\MPEG2
+PresentationContext127 = VideoMicroscopicImageStorage\MPEG2
+PresentationContext128 = VideoPhotographicImageStorage\MPEG2
+#
+# the following SOP classes are missing in the above list:
+#
+# - AcquisitionContextSRStorage
+# - AdvancedBlendingPresentationStateStorage
+# - ArterialPulseWaveformStorage
+# - AutorefractionMeasurementsStorage
+# - BasicStructuredDisplayStorage
+# - BlendingSoftcopyPresentationStateStorage
+# - BreastProjectionXRayImageStorageForPresentation
+# - BreastProjectionXRayImageStorageForProcessing
+# - BreastTomosynthesisImageStorage
+# - CompositingPlanarMPRVolumetricPresentationStateStorage
+# - Comprehensive3DSRStorage
+# - ContentAssessmentResultsStorage
+# - CornealTopographyMapStorage
+# - CTDefinedProcedureProtocolStorage
+# - CTPerformedProcedureProtocolStorage
+# - DeformableSpatialRegistrationStorage
+# - EncapsulatedCDAStorage
+# - EnhancedMRColorImageStorage
+# - EnhancedPETImageStorage
+# - EnhancedUSVolumeStorage
+# - ExtensibleSRStorage
+# - GeneralAudioWaveformStorage
+# - GenericImplantTemplateStorage
+# - GrayscalePlanarMPRVolumetricPresentationStateStorage
+# - ImplantAssemblyTemplateStorage
+# - ImplantationPlanSRDocumentStorage
+# - ImplantTemplateGroupStorage
+# - IntraocularLensCalculationsStorage
+# - IntravascularOpticalCoherenceTomographyImageStorageForPresentation
+# - IntravascularOpticalCoherenceTomographyImageStorageForProcessing
+# - KeratometryMeasurementsStorage
+# - LegacyConvertedEnhancedCTImageStorage
+# - LegacyConvertedEnhancedMRImageStorage
+# - LegacyConvertedEnhancedPETImageStorage
+# - LensometryMeasurementsStorage
+# - MacularGridThicknessAndVolumeReportStorage
+# - MultipleVolumeRenderingVolumetricPresentationStateStorage
+# - OphthalmicAxialMeasurementsStorage
+# - OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage
+# - OphthalmicOpticalCoherenceTomographyEnFaceImageStorage
+# - OphthalmicThicknessMapStorage
+# - OphthalmicTomographyImageStorage
+# - OphthalmicVisualFieldStaticPerimetryMeasurementsStorage
+# - ParametricMapStorage
+# - PatientRadiationDoseSRStorage
+# - RadiopharmaceuticalRadiationDoseSRStorage
+# - RealWorldValueMappingStorage
+# - RespiratoryWaveformStorage
+# - RTBeamsDeliveryInstructionStorage
+# - RTBrachyApplicationSetupDeliveryInstructionStorage
+# - RTIonBeamsTreatmentRecordStorage
+# - RTIonPlanStorage
+# - SegmentationStorage
+# - SegmentedVolumeRenderingVolumetricPresentationStateStorage
+# - SimplifiedAdultEchoSRStorage
+# - SpectaclePrescriptionReportStorage
+# - SubjectiveRefractionMeasurementsStorage
+# - SurfaceScanMeshStorage
+# - SurfaceScanPointCloudStorage
+# - SurfaceSegmentationStorage
+# - TractographyResultsStorage
+# - VisualAcuityMeasurementsStorage
+# - VLWholeSlideMicroscopyImageStorage
+# - VolumeRenderingVolumetricPresentationStateStorage
+# - WideFieldOphthalmicPhotographyStereographicProjectionImageStorage
+# - WideFieldOphthalmicPhotography3DCoordinatesImageStorage
+# - XAXRFGrayscaleSoftcopyPresentationStateStorage
+# - XRay3DAngiographicImageStorage
+# - XRay3DCraniofacialImageStorage
+#
+# - RETIRED_StandaloneCurveStorage
+# - RETIRED_StandaloneModalityLUTStorage
+# - RETIRED_StandaloneOverlayStorage
+# - RETIRED_StandalonePETCurveStorage
+# - RETIRED_StandaloneVOILUTStorage
+# - RETIRED_StoredPrintStorage
+#
+# - DRAFT_RTBeamsDeliveryInstructionStorage
+# - DRAFT_SRAudioStorage
+# - DRAFT_SRComprehensiveStorage
+# - DRAFT_SRDetailStorage
+# - DRAFT_SRTextStorage
+# - DRAFT_WaveformStorage
+#
+# - DICOS_2DAITStorage
+# - DICOS_3DAITStorage
+# - DICOS_CTImageStorage
+# - DICOS_DigitalXRayImageStorageForPresentation
+# - DICOS_DigitalXRayImageStorageForProcessing
+# - DICOS_QuadrupoleResonanceStorage
+# - DICOS_ThreatDetectionReportStorage
+#
+# - DICONDE_EddyCurrentImageStorage
+# - DICONDE_EddyCurrentMultiframeImageStorage
+
+# ============================================================================
+[[SCPSCURoleSelection]]
+# ============================================================================
+
+[GenericBothRoles]
+Role1 = BreastTomosynthesisImageStorage\BOTH
+Role2 = ComputedRadiographyImageStorage\BOTH
+Role3 = CornealTopographyMapStorage\BOTH
+Role4 = CTImageStorage\BOTH
+Role5 = DigitalIntraOralXRayImageStorageForPresentation\BOTH
+Role6 = DigitalIntraOralXRayImageStorageForProcessing\BOTH
+Role7 = DigitalMammographyXRayImageStorageForPresentation\BOTH
+Role8 = DigitalMammographyXRayImageStorageForProcessing\BOTH
+Role9 = DigitalXRayImageStorageForPresentation\BOTH
+Role10 = DigitalXRayImageStorageForProcessing\BOTH
+Role11 = EnhancedCTImageStorage\BOTH
+Role12 = EnhancedMRColorImageStorage\BOTH
+Role13 = EnhancedMRImageStorage\BOTH
+Role14 = EnhancedPETImageStorage\BOTH
+Role15 = EnhancedUSVolumeStorage\BOTH
+Role16 = EnhancedXAImageStorage\BOTH
+Role17 = EnhancedXRFImageStorage\BOTH
+Role18 = IntravascularOpticalCoherenceTomographyImageStorageForPresentation\BOTH
+Role19 = IntravascularOpticalCoherenceTomographyImageStorageForProcessing\BOTH
+Role20 = MRImageStorage\BOTH
+Role21 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\BOTH
+Role22 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\BOTH
+Role23 = MultiframeSingleBitSecondaryCaptureImageStorage\BOTH
+Role24 = MultiframeTrueColorSecondaryCaptureImageStorage\BOTH
+Role25 = NuclearMedicineImageStorage\BOTH
+Role26 = OphthalmicPhotography16BitImageStorage\BOTH
+Role27 = OphthalmicPhotography8BitImageStorage\BOTH
+Role28 = OphthalmicThicknessMapStorage\BOTH
+Role29 = OphthalmicTomographyImageStorage\BOTH
+Role30 = PositronEmissionTomographyImageStorage\BOTH
+Role31 = RTImageStorage\BOTH
+Role32 = SecondaryCaptureImageStorage\BOTH
+Role33 = UltrasoundImageStorage\BOTH
+Role34 = UltrasoundMultiframeImageStorage\BOTH
+Role35 = VideoEndoscopicImageStorage\BOTH
+Role36 = VideoMicroscopicImageStorage\BOTH
+Role37 = VideoPhotographicImageStorage\BOTH
+Role38 = VLEndoscopicImageStorage\BOTH
+Role39 = VLMicroscopicImageStorage\BOTH
+Role40 = VLPhotographicImageStorage\BOTH
+Role41 = VLSlideCoordinatesMicroscopicImageStorage\BOTH
+Role42 = VLWholeSlideMicroscopyImageStorage\BOTH
+Role43 = XRay3DAngiographicImageStorage\BOTH
+Role44 = XRay3DCraniofacialImageStorage\BOTH
+Role45 = XRayAngiographicImageStorage\BOTH
+Role46 = XRayRadiofluoroscopicImageStorage\BOTH
+# retired
+Role47 = RETIRED_HardcopyColorImageStorage\BOTH
+Role48 = RETIRED_HardcopyGrayscaleImageStorage\BOTH
+Role49 = RETIRED_NuclearMedicineImageStorage\BOTH
+Role50 = RETIRED_UltrasoundImageStorage\BOTH
+Role51 = RETIRED_UltrasoundMultiframeImageStorage\BOTH
+Role52 = RETIRED_VLImageStorage\BOTH
+Role53 = RETIRED_VLMultiFrameImageStorage\BOTH
+Role54 = RETIRED_XRayAngiographicBiPlaneImageStorage\BOTH
+#
+# the following presentation contexts are for non-image SOP classes
+#
+Role55 = AmbulatoryECGWaveformStorage\BOTH
+Role56 = ArterialPulseWaveformStorage\BOTH
+Role57 = AutorefractionMeasurementsStorage\BOTH
+Role58 = BasicStructuredDisplayStorage\BOTH
+Role59 = BasicTextSRStorage\BOTH
+Role60 = BasicVoiceAudioWaveformStorage\BOTH
+Role61 = BlendingSoftcopyPresentationStateStorage\BOTH
+Role62 = CardiacElectrophysiologyWaveformStorage\BOTH
+Role63 = ChestCADSRStorage\BOTH
+Role64 = ColonCADSRStorage\BOTH
+Role65 = ColorSoftcopyPresentationStateStorage\BOTH
+Role66 = Comprehensive3DSRStorage\BOTH
+Role67 = ComprehensiveSRStorage\BOTH
+Role68 = DeformableSpatialRegistrationStorage\BOTH
+Role69 = EncapsulatedCDAStorage\BOTH
+Role70 = EncapsulatedPDFStorage\BOTH
+Role71 = EnhancedSRStorage\BOTH
+Role72 = GeneralAudioWaveformStorage\BOTH
+Role73 = GeneralECGWaveformStorage\BOTH
+Role74 = GenericImplantTemplateStorage\BOTH
+Role75 = GrayscaleSoftcopyPresentationStateStorage\BOTH
+Role76 = HemodynamicWaveformStorage\BOTH
+Role77 = ImplantAssemblyTemplateStorage\BOTH
+Role78 = ImplantationPlanSRDocumentStorage\BOTH
+Role79 = ImplantTemplateGroupStorage\BOTH
+Role80 = IntraocularLensCalculationsStorage\BOTH
+Role81 = KeratometryMeasurementsStorage\BOTH
+Role82 = KeyObjectSelectionDocumentStorage\BOTH
+Role83 = LensometryMeasurementsStorage\BOTH
+Role84 = MacularGridThicknessAndVolumeReportStorage\BOTH
+Role85 = MammographyCADSRStorage\BOTH
+Role86 = MRSpectroscopyStorage\BOTH
+Role87 = OphthalmicAxialMeasurementsStorage\BOTH
+Role88 = OphthalmicVisualFieldStaticPerimetryMeasurementsStorage\BOTH
+Role89 = ProcedureLogStorage\BOTH
+Role90 = PseudoColorSoftcopyPresentationStateStorage\BOTH
+Role91 = RawDataStorage\BOTH
+Role92 = RealWorldValueMappingStorage\BOTH
+Role93 = RespiratoryWaveformStorage\BOTH
+Role94 = RTBeamsDeliveryInstructionStorage\BOTH
+Role95 = RTBeamsTreatmentRecordStorage\BOTH
+Role96 = RTBrachyTreatmentRecordStorage\BOTH
+Role97 = RTDoseStorage\BOTH
+Role98 = RTIonBeamsTreatmentRecordStorage\BOTH
+Role99 = RTIonPlanStorage\BOTH
+Role100 = RTPlanStorage\BOTH
+Role101 = RTStructureSetStorage\BOTH
+Role102 = RTTreatmentSummaryRecordStorage\BOTH
+Role103 = SegmentationStorage\BOTH
+Role104 = SpatialFiducialsStorage\BOTH
+Role105 = SpatialRegistrationStorage\BOTH
+Role106 = SpectaclePrescriptionReportStorage\BOTH
+Role107 = StereometricRelationshipStorage\BOTH
+Role108 = SubjectiveRefractionMeasurementsStorage\BOTH
+Role109 = SurfaceScanMeshStorage\BOTH
+Role110 = SurfaceScanPointCloudStorage\BOTH
+Role111 = SurfaceSegmentationStorage\BOTH
+Role112 = TwelveLeadECGWaveformStorage\BOTH
+Role113 = VisualAcuityMeasurementsStorage\BOTH
+Role114 = XAXRFGrayscaleSoftcopyPresentationStateStorage\BOTH
+Role115 = XRayRadiationDoseSRStorage\BOTH
+# retired
+Role116 = RETIRED_StandaloneCurveStorage\BOTH
+Role117 = RETIRED_StandaloneModalityLUTStorage\BOTH
+Role118 = RETIRED_StandaloneOverlayStorage\BOTH
+Role119 = RETIRED_StandalonePETCurveStorage\BOTH
+Role120 = RETIRED_StandaloneVOILUTStorage\BOTH
+Role121 = RETIRED_StoredPrintStorage\BOTH
+# draft
+Role122 = DRAFT_RTBeamsDeliveryInstructionStorage\BOTH
+Role123 = DRAFT_SRAudioStorage\BOTH
+Role124 = DRAFT_SRComprehensiveStorage\BOTH
+Role125 = DRAFT_SRDetailStorage\BOTH
+Role126 = DRAFT_SRTextStorage\BOTH
+Role127 = DRAFT_WaveformStorage\BOTH
+#
+# the following SOP classes are missing in the above list:
+#
+# - AcquisitionContextSRStorage
+# - AdvancedBlendingPresentationStateStorage
+# - BreastProjectionXRayImageStorageForPresentation
+# - BreastProjectionXRayImageStorageForProcessing
+# - ColorPaletteStorage
+# - CompositingPlanarMPRVolumetricPresentationStateStorage
+# - ContentAssessmentResultsStorage
+# - CTDefinedProcedureProtocolStorage
+# - CTPerformedProcedureProtocolStorage
+# - ExtensibleSRStorage
+# - GrayscalePlanarMPRVolumetricPresentationStateStorage
+# - HangingProtocolStorage
+# - LegacyConvertedEnhancedCTImageStorage
+# - LegacyConvertedEnhancedMRImageStorage
+# - LegacyConvertedEnhancedPETImageStorage
+# - MultipleVolumeRenderingVolumetricPresentationStateStorage
+# - OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage
+# - OphthalmicOpticalCoherenceTomographyEnFaceImageStorage
+# - ParametricMapStorage
+# - PatientRadiationDoseSRStorage
+# - RadiopharmaceuticalRadiationDoseSRStorage
+# - RTBrachyApplicationSetupDeliveryInstructionStorage
+# - SegmentedVolumeRenderingVolumetricPresentationStateStorage
+# - SimplifiedAdultEchoSRStorage
+# - TractographyResultsStorage
+# - VolumeRenderingVolumetricPresentationStateStorage
+# - WideFieldOphthalmicPhotographyStereographicProjectionImageStorage
+# - WideFieldOphthalmicPhotography3DCoordinatesImageStorage
+#
+# - DICOS_2DAITStorage
+# - DICOS_3DAITStorage
+# - DICOS_CTImageStorage
+# - DICOS_DigitalXRayImageStorageForPresentation
+# - DICOS_DigitalXRayImageStorageForProcessing
+# - DICOS_QuadrupoleResonanceStorage
+# - DICOS_ThreatDetectionReportStorage
+#
+# - DICONDE_EddyCurrentImageStorage
+# - DICONDE_EddyCurrentMultiframeImageStorage
+
+[AllBothRoles]
+Role1 = BreastProjectionXRayImageStorageForPresentation\BOTH
+Role2 = BreastProjectionXRayImageStorageForProcessing\BOTH
+Role3 = BreastTomosynthesisImageStorage\BOTH
+Role4 = ComputedRadiographyImageStorage\BOTH
+Role5 = CornealTopographyMapStorage\BOTH
+Role6 = CTImageStorage\BOTH
+Role7 = DigitalIntraOralXRayImageStorageForPresentation\BOTH
+Role8 = DigitalIntraOralXRayImageStorageForProcessing\BOTH
+Role9 = DigitalMammographyXRayImageStorageForPresentation\BOTH
+Role10 = DigitalMammographyXRayImageStorageForProcessing\BOTH
+Role11 = DigitalXRayImageStorageForPresentation\BOTH
+Role12 = DigitalXRayImageStorageForProcessing\BOTH
+Role13 = EnhancedCTImageStorage\BOTH
+Role14 = EnhancedMRColorImageStorage\BOTH
+Role15 = EnhancedMRImageStorage\BOTH
+Role16 = EnhancedPETImageStorage\BOTH
+Role17 = EnhancedUSVolumeStorage\BOTH
+Role18 = EnhancedXAImageStorage\BOTH
+Role19 = EnhancedXRFImageStorage\BOTH
+Role20 = IntravascularOpticalCoherenceTomographyImageStorageForPresentation\BOTH
+Role21 = IntravascularOpticalCoherenceTomographyImageStorageForProcessing\BOTH
+Role22 = LegacyConvertedEnhancedCTImageStorage\BOTH
+Role23 = LegacyConvertedEnhancedMRImageStorage\BOTH
+Role24 = LegacyConvertedEnhancedPETImageStorage\BOTH
+Role25 = MRImageStorage\BOTH
+Role26 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\BOTH
+Role27 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\BOTH
+Role28 = MultiframeSingleBitSecondaryCaptureImageStorage\BOTH
+Role29 = MultiframeTrueColorSecondaryCaptureImageStorage\BOTH
+Role30 = NuclearMedicineImageStorage\BOTH
+Role31 = OphthalmicPhotography16BitImageStorage\BOTH
+Role32 = OphthalmicPhotography8BitImageStorage\BOTH
+Role33 = OphthalmicThicknessMapStorage\BOTH
+Role34 = OphthalmicTomographyImageStorage\BOTH
+Role35 = ParametricMapStorage\BOTH
+Role36 = PositronEmissionTomographyImageStorage\BOTH
+Role37 = RTImageStorage\BOTH
+Role38 = SecondaryCaptureImageStorage\BOTH
+Role39 = UltrasoundImageStorage\BOTH
+Role40 = UltrasoundMultiframeImageStorage\BOTH
+Role41 = VideoEndoscopicImageStorage\BOTH
+Role42 = VideoMicroscopicImageStorage\BOTH
+Role43 = VideoPhotographicImageStorage\BOTH
+Role44 = VLEndoscopicImageStorage\BOTH
+Role45 = VLMicroscopicImageStorage\BOTH
+Role46 = VLPhotographicImageStorage\BOTH
+Role47 = VLSlideCoordinatesMicroscopicImageStorage\BOTH
+Role48 = VLWholeSlideMicroscopyImageStorage\BOTH
+Role49 = WideFieldOphthalmicPhotographyStereographicProjectionImageStorage\BOTH
+Role50 = WideFieldOphthalmicPhotography3DCoordinatesImageStorage\BOTH
+Role51 = XRay3DAngiographicImageStorage\BOTH
+Role52 = XRay3DCraniofacialImageStorage\BOTH
+Role53 = XRayAngiographicImageStorage\BOTH
+Role54 = XRayRadiofluoroscopicImageStorage\BOTH
+#
+# all other DICOM objects
+#
+Role55 = AcquisitionContextSRStorage\BOTH
+Role56 = AmbulatoryECGWaveformStorage\BOTH
+Role57 = ArterialPulseWaveformStorage\BOTH
+Role58 = AutorefractionMeasurementsStorage\BOTH
+Role59 = BasicStructuredDisplayStorage\BOTH
+Role60 = BasicTextSRStorage\BOTH
+Role61 = BasicVoiceAudioWaveformStorage\BOTH
+Role62 = BlendingSoftcopyPresentationStateStorage\BOTH
+Role63 = CardiacElectrophysiologyWaveformStorage\BOTH
+Role64 = ChestCADSRStorage\BOTH
+Role65 = ColonCADSRStorage\BOTH
+Role66 = ColorSoftcopyPresentationStateStorage\BOTH
+Role67 = CompositingPlanarMPRVolumetricPresentationStateStorage\BOTH
+Role68 = Comprehensive3DSRStorage\BOTH
+Role69 = ComprehensiveSRStorage\BOTH
+Role70 = ContentAssessmentResultsStorage\BOTH
+Role71 = CTDefinedProcedureProtocolStorage\BOTH
+Role72 = CTPerformedProcedureProtocolStorage\BOTH
+Role73 = DeformableSpatialRegistrationStorage\BOTH
+Role74 = EncapsulatedCDAStorage\BOTH
+Role75 = EncapsulatedPDFStorage\BOTH
+Role76 = EnhancedSRStorage\BOTH
+Role77 = ExtensibleSRStorage\BOTH
+Role78 = GeneralAudioWaveformStorage\BOTH
+Role79 = GeneralECGWaveformStorage\BOTH
+Role80 = GenericImplantTemplateStorage\BOTH
+Role81 = GrayscalePlanarMPRVolumetricPresentationStateStorage\BOTH
+Role82 = GrayscaleSoftcopyPresentationStateStorage\BOTH
+Role83 = HangingProtocolStorage\BOTH
+Role84 = HemodynamicWaveformStorage\BOTH
+Role85 = ImplantAssemblyTemplateStorage\BOTH
+Role86 = ImplantationPlanSRDocumentStorage\BOTH
+Role87 = ImplantTemplateGroupStorage\BOTH
+Role88 = IntraocularLensCalculationsStorage\BOTH
+Role89 = KeratometryMeasurementsStorage\BOTH
+Role90 = KeyObjectSelectionDocumentStorage\BOTH
+Role91 = LensometryMeasurementsStorage\BOTH
+Role92 = MacularGridThicknessAndVolumeReportStorage\BOTH
+Role93 = MammographyCADSRStorage\BOTH
+Role94 = MRSpectroscopyStorage\BOTH
+Role95 = OphthalmicAxialMeasurementsStorage\BOTH
+Role96 = OphthalmicVisualFieldStaticPerimetryMeasurementsStorage\BOTH
+Role97 = ProcedureLogStorage\BOTH
+Role98 = PseudoColorSoftcopyPresentationStateStorage\BOTH
+Role99 = RadiopharmaceuticalRadiationDoseSRStorage\BOTH
+Role100 = RawDataStorage\BOTH
+Role101 = RealWorldValueMappingStorage\BOTH
+Role102 = RespiratoryWaveformStorage\BOTH
+Role103 = RTBeamsDeliveryInstructionStorage\BOTH
+Role104 = RTBeamsTreatmentRecordStorage\BOTH
+Role105 = RTBrachyApplicationSetupDeliveryInstructionStorage\BOTH
+Role106 = RTBrachyTreatmentRecordStorage\BOTH
+Role107 = RTDoseStorage\BOTH
+Role108 = RTIonBeamsTreatmentRecordStorage\BOTH
+Role109 = RTIonPlanStorage\BOTH
+Role110 = RTPlanStorage\BOTH
+Role111 = RTStructureSetStorage\BOTH
+Role112 = RTTreatmentSummaryRecordStorage\BOTH
+Role113 = SegmentationStorage\BOTH
+Role114 = SimplifiedAdultEchoSRStorage\BOTH
+Role115 = SpatialFiducialsStorage\BOTH
+Role116 = SpatialRegistrationStorage\BOTH
+Role117 = SpectaclePrescriptionReportStorage\BOTH
+Role118 = StereometricRelationshipStorage\BOTH
+Role119 = SubjectiveRefractionMeasurementsStorage\BOTH
+Role120 = SurfaceScanMeshStorage\BOTH
+Role121 = SurfaceScanPointCloudStorage\BOTH
+Role122 = SurfaceSegmentationStorage\BOTH
+Role123 = TractographyResultsStorage\BOTH
+Role124 = TwelveLeadECGWaveformStorage\BOTH
+Role125 = VisualAcuityMeasurementsStorage\BOTH
+Role126 = XAXRFGrayscaleSoftcopyPresentationStateStorage\BOTH
+Role127 = XRayRadiationDoseSRStorage\BOTH
+#
+# the following SOP classes are missing in the above list:
+#
+# - AdvancedBlendingPresentationStateStorage
+# - ColorPaletteStorage
+# - MultipleVolumeRenderingVolumetricPresentationStateStorage
+# - OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage
+# - OphthalmicOpticalCoherenceTomographyEnFaceImageStorage
+# - PatientRadiationDoseSRStorage
+# - SegmentedVolumeRenderingVolumetricPresentationStateStorage
+# - VolumeRenderingVolumetricPresentationStateStorage
+#
+# - RETIRED_HardcopyColorImageStorage
+# - RETIRED_HardcopyGrayscaleImageStorage
+# - RETIRED_NuclearMedicineImageStorage
+# - RETIRED_UltrasoundImageStorage
+# - RETIRED_UltrasoundMultiframeImageStorage
+# - RETIRED_VLImageStorage
+# - RETIRED_VLMultiFrameImageStorage
+# - RETIRED_XRayAngiographicBiPlaneImageStorage
+#
+# - RETIRED_StandaloneCurveStorage
+# - RETIRED_StandaloneModalityLUTStorage
+# - RETIRED_StandaloneOverlayStorage
+# - RETIRED_StandalonePETCurveStorage
+# - RETIRED_StandaloneVOILUTStorage
+# - RETIRED_StoredPrintStorage
+#
+# - DRAFT_RTBeamsDeliveryInstructionStorage
+# - DRAFT_SRAudioStorage
+# - DRAFT_SRComprehensiveStorage
+# - DRAFT_SRDetailStorage
+# - DRAFT_SRTextStorage
+# - DRAFT_WaveformStorage
+#
+# - DICOS_2DAITStorage
+# - DICOS_3DAITStorage
+# - DICOS_CTImageStorage
+# - DICOS_DigitalXRayImageStorageForPresentation
+# - DICOS_DigitalXRayImageStorageForProcessing
+# - DICOS_QuadrupoleResonanceStorage
+# - DICOS_ThreatDetectionReportStorage
+#
+# - DICONDE_EddyCurrentImageStorage
+# - DICONDE_EddyCurrentMultiframeImageStorage
+
+# ============================================================================
+[[Profiles]]
+# ============================================================================
+
+[IncomingDefault]
+PresentationContexts = GenericStorageSCP
+SCPSCURoleSelection = GenericBothRoles
+
+[IncomingAllDICOM]
+PresentationContexts = AllDICOMStorageSCP
+SCPSCURoleSelection = AllBothRoles
+
+[OutgoingDefault]
+PresentationContexts = StorageSCUCompressedAndUncompressed
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmqrdb DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmqrdb DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
/*
*
- * Copyright (C) 1993-2011, OFFIS e.V.
+ * Copyright (C) 1993-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/dcmnet/dimse.h"
+#include "dcmtk/dcmnet/dcasccfg.h"
#include "dcmtk/dcmqrdb/qrdefine.h"
class DcmQueryRetrieveDatabaseHandle;
DcmQueryRetrieveMoveContext(
DcmQueryRetrieveDatabaseHandle& handle,
const DcmQueryRetrieveOptions& options,
+ const DcmAssociationConfiguration& associationConfiguration,
const DcmQueryRetrieveConfig *cfg,
DIC_US priorstatus,
T_ASC_Association *assoc,
T_DIMSE_Priority pr)
: dbHandle(handle)
, options_(options)
+ , associationConfiguration_(associationConfiguration)
, priorStatus(priorstatus)
, origAssoc(assoc)
, subAssoc(NULL)
/// reference to Q/R service options
const DcmQueryRetrieveOptions& options_;
+ /// reference to association configuration
+ const DcmAssociationConfiguration& associationConfiguration_;
+
/// prior DIMSE status
DIC_US priorStatus;
#define DBINDEXFILE "index.dat"
#define DBMAGIC "QRDB"
-#define DBVERSION 4
+#define DBVERSION 5
#define DBHEADERSIZE 6
#if DBVERSION > 0xFF
#define RECORDIDX_OtherPatientIDs 5
#define RECORDIDX_OtherPatientNames 6
#define RECORDIDX_EthnicGroup 7
-#define RECORDIDX_NumberofPatientRelatedStudies 8
-#define RECORDIDX_NumberofPatientRelatedSeries 9
-#define RECORDIDX_NumberofPatientRelatedInstances 10
-#define RECORDIDX_StudyDate 11
-#define RECORDIDX_StudyTime 12
-#define RECORDIDX_StudyID 13
-#define RECORDIDX_StudyDescription 14
-#define RECORDIDX_NameOfPhysiciansReadingStudy 15
-#define RECORDIDX_AccessionNumber 16
-#define RECORDIDX_ReferringPhysicianName 17
-#define RECORDIDX_ProcedureDescription 18
-#define RECORDIDX_AttendingPhysiciansName 19
-#define RECORDIDX_StudyInstanceUID 20
-#define RECORDIDX_OtherStudyNumbers 21
-#define RECORDIDX_AdmittingDiagnosesDescription 22
-#define RECORDIDX_PatientAge 23
-#define RECORDIDX_PatientSize 24
-#define RECORDIDX_PatientWeight 25
-#define RECORDIDX_Occupation 26
-#define RECORDIDX_NumberofStudyRelatedSeries 27
-#define RECORDIDX_NumberofStudyRelatedInstances 28
-#define RECORDIDX_SeriesNumber 29
-#define RECORDIDX_SeriesInstanceUID 30
-#define RECORDIDX_Modality 31
-#define RECORDIDX_ImageNumber 32
-#define RECORDIDX_SOPInstanceUID 33
-#define RECORDIDX_SeriesDate 34
-#define RECORDIDX_SeriesTime 35
-#define RECORDIDX_SeriesDescription 36
-#define RECORDIDX_ProtocolName 37
-#define RECORDIDX_OperatorsName 38
-#define RECORDIDX_PerformingPhysicianName 39
-#define RECORDIDX_PresentationLabel 40
-#define RECORDIDX_IssuerOfPatientID 41
-#define RECORDIDX_SpecificCharacterSet 42
-
-#define NBPARAMETERS 43
+#define RECORDIDX_StudyDate 8
+#define RECORDIDX_StudyTime 9
+#define RECORDIDX_StudyID 10
+#define RECORDIDX_StudyDescription 11
+#define RECORDIDX_NameOfPhysiciansReadingStudy 12
+#define RECORDIDX_AccessionNumber 13
+#define RECORDIDX_ReferringPhysicianName 14
+#define RECORDIDX_ProcedureDescription 15
+#define RECORDIDX_AttendingPhysiciansName 16
+#define RECORDIDX_StudyInstanceUID 17
+#define RECORDIDX_OtherStudyNumbers 18
+#define RECORDIDX_AdmittingDiagnosesDescription 19
+#define RECORDIDX_PatientAge 20
+#define RECORDIDX_PatientSize 21
+#define RECORDIDX_PatientWeight 22
+#define RECORDIDX_Occupation 23
+#define RECORDIDX_SeriesNumber 24
+#define RECORDIDX_SeriesInstanceUID 25
+#define RECORDIDX_Modality 26
+#define RECORDIDX_ImageNumber 27
+#define RECORDIDX_SOPInstanceUID 28
+#define RECORDIDX_SeriesDate 29
+#define RECORDIDX_SeriesTime 30
+#define RECORDIDX_SeriesDescription 31
+#define RECORDIDX_ProtocolName 32
+#define RECORDIDX_OperatorsName 33
+#define RECORDIDX_PerformingPhysicianName 34
+#define RECORDIDX_PresentationLabel 35
+#define RECORDIDX_IssuerOfPatientID 36
+#define RECORDIDX_SpecificCharacterSet 37
+
+#define NBPARAMETERS 38
/* ENSURE THAT DBVERSION IS INCREMENTED WHENEVER ONE OF THESE STRUCTS IS MODIFIED */
char OtherPatientIDs [LO_MAX_LENGTH+1] ;
char OtherPatientNames [PN_MAX_LENGTH+1] ;
char EthnicGroup [SH_MAX_LENGTH+1] ;
- char NumberofPatientRelatedStudies [IS_MAX_LENGTH+1] ;
- char NumberofPatientRelatedSeries [IS_MAX_LENGTH+1] ;
- char NumberofPatientRelatedInstances [IS_MAX_LENGTH+1] ;
char StudyDate [DA_MAX_LENGTH+1] ;
char StudyTime [TM_MAX_LENGTH+1] ;
char PatientSize [DS_MAX_LENGTH+1] ;
char PatientWeight [DS_MAX_LENGTH+1] ;
char Occupation [SH_MAX_LENGTH+1] ;
- char NumberofStudyRelatedSeries [IS_MAX_LENGTH+1] ;
- char NumberofStudyRelatedInstances [IS_MAX_LENGTH+1] ;
char SeriesNumber [IS_MAX_LENGTH+1] ;
char SeriesInstanceUID [UI_MAX_LENGTH+1] ;
/*
*
- * Copyright (C) 1993-2012, OFFIS e.V.
+ * Copyright (C) 1993-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/// timeout for ACSE operations
int acse_timeout_;
+ // association configuration file name
+ OFString associationConfigFile;
+
+ /// profile name for incoming association configuration
+ OFString incomingProfile;
+
+ /// profile name for outgoing association configuration
+ OFString outgoingProfile;
};
/*
*
- * Copyright (C) 1993-2011, OFFIS e.V.
+ * Copyright (C) 1993-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/oftypes.h"
#include "dcmtk/dcmnet/assoc.h"
#include "dcmtk/dcmnet/dimse.h"
+#include "dcmtk/dcmnet/dcasccfg.h"
#include "dcmtk/dcmqrdb/dcmqrptb.h"
class DcmQueryRetrieveConfig;
DcmQueryRetrieveSCP(
const DcmQueryRetrieveConfig& config,
const DcmQueryRetrieveOptions& options,
- const DcmQueryRetrieveDatabaseHandleFactory& factory);
+ const DcmQueryRetrieveDatabaseHandleFactory& factory,
+ const DcmAssociationConfiguration& associationConfiguration);
/// destructor
virtual ~DcmQueryRetrieveSCP() { }
/// SCP configuration options
const DcmQueryRetrieveOptions& options_;
+
+ /// Association configuration profiles read from configuration file
+ const DcmAssociationConfiguration& associationConfiguration_;
};
#endif
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmdata/include/dcmtk/dcmdata/dclist.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dcasccfg.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccftsmp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfuidh.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfpcmp.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfrsmp.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfenmp.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfprmp.h \
../include/dcmtk/dcmqrdb/qrdefine.h ../include/dcmtk/dcmqrdb/dcmqrcnf.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../include/dcmtk/dcmqrdb/dcmqropt.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/config.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/dcmqrdb/qrdefine.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
- ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h
+ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h
dcmqrdbi.o: dcmqrdbi.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmqrdb/dcmqrdbs.h ../include/dcmtk/dcmqrdb/qrdefine.h \
../include/dcmtk/dcmqrdb/dcmqrdbi.h ../include/dcmtk/dcmqrdb/dcmqrdba.h \
../../dcmnet/include/dcmtk/dcmnet/dicom.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../include/dcmtk/dcmqrdb/dcmqrcnf.h ../include/dcmtk/dcmqrdb/dcmqropt.h \
../include/dcmtk/dcmqrdb/dcmqridx.h \
../../ofstd/include/dcmtk/ofstd/ofoption.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/ofalign.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
../../dcmnet/include/dcmtk/dcmnet/diutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../include/dcmtk/dcmqrdb/dcmqrcnf.h ../include/dcmtk/dcmqrdb/qrdefine.h \
../../dcmnet/include/dcmtk/dcmnet/dimse.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../include/dcmtk/dcmqrdb/qrdefine.h ../include/dcmtk/dcmqrdb/dcmqropt.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/dimse.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmdata/include/dcmtk/dcmdata/dclist.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dcasccfg.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccftsmp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfuidh.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfpcmp.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfrsmp.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfenmp.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dccfprmp.h \
../include/dcmtk/dcmqrdb/dcmqrptb.h ../include/dcmtk/dcmqrdb/qrdefine.h \
../include/dcmtk/dcmqrdb/dcmqropt.h ../include/dcmtk/dcmqrdb/dcmqrcnf.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/dimse.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
/*
*
- * Copyright (C) 1993-2010, OFFIS e.V.
+ * Copyright (C) 1993-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
void DcmQueryRetrieveGetContext::addFailedUIDInstance(const char *sopInstance)
{
- int len;
+ size_t len;
if (failedUIDs == NULL) {
if ((failedUIDs = (char*)malloc(DIC_UI_LEN+1)) == NULL) {
lockfd = open(fname, O_RDONLY , 0666);
#endif
if (lockfd < 0) {
- char buf[256];
/* due to quota system the file could have been deleted */
- DCMQRDB_ERROR("Get SCP: storeSCU: [file: " << fname << "]: " << OFStandard::strerror(errno, buf, sizeof(buf)));
+ DCMQRDB_ERROR("Get SCP: storeSCU: [file: " << fname << "]: " << OFStandard::getLastSystemErrorCode().message());
nFailed++;
addFailedUIDInstance(sopInstance);
return EC_Normal;
*/
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
#include "dcmtk/dcmqrdb/dcmqrcbm.h"
#include "dcmtk/dcmqrdb/dcmqrcnf.h"
void DcmQueryRetrieveMoveContext::addFailedUIDInstance(const char *sopInstance)
{
- int len;
+ size_t len;
if (failedUIDs == NULL) {
if ((failedUIDs = (char*)malloc(DIC_UI_LEN+1)) == NULL) {
lockfd = open(fname, O_RDONLY , 0666);
#endif
if (lockfd < 0) {
- char buf[256];
/* due to quota system the file could have been deleted */
DCMQRDB_ERROR("Move SCP: storeSCU: [file: " << fname << "]: "
- << OFStandard::strerror(errno, buf, sizeof(buf)));
+ << OFStandard::getLastSystemErrorCode().message());
nFailed++;
addFailedUIDInstance(sopInstance);
return EC_Normal;
DIC_NODENAME dstHostName;
DIC_NODENAME dstHostNamePlusPort;
int dstPortNumber;
- DIC_NODENAME localHostName;
T_ASC_Parameters *params;
OFString temp_str;
}
}
if (cond.good()) {
- gethostname(localHostName, sizeof(localHostName) - 1);
sprintf(dstHostNamePlusPort, "%s:%d", dstHostName, dstPortNumber);
- ASC_setPresentationAddresses(params, localHostName,
+ ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(),
dstHostNamePlusPort);
ASC_setAPTitles(params, ourAETitle.c_str(), dstAETitle,NULL);
- cond = addAllStoragePresentationContexts(params);
+ if (options_.outgoingProfile.empty()) {
+ cond = addAllStoragePresentationContexts(params);
+ } else {
+ cond = associationConfiguration_.setAssociationParameters(options_.outgoingProfile.c_str(), *params);
+ }
if (cond.bad()) {
DCMQRDB_ERROR(DimseCondition::dump(temp_str, cond));
}
transferSyntaxes[0] = UID_MPEG4StereoHighProfileLevel4_2TransferSyntax;
numTransferSyntaxes = 1;
break;
+ case EXS_HEVCMainProfileLevel5_1:
+ /* we only propose HEVC/H.265 Main Profile/L5.1 since we don't want to decompress */
+ transferSyntaxes[0] = UID_HEVCMainProfileLevel5_1TransferSyntax;
+ numTransferSyntaxes = 1;
+ break;
+ case EXS_HEVCMain10ProfileLevel5_1:
+ /* we only propose HEVC/H.265 Main 10 Profile/L5.1 since we don't want to decompress */
+ transferSyntaxes[0] = UID_HEVCMain10ProfileLevel5_1TransferSyntax;
+ numTransferSyntaxes = 1;
+ break;
case EXS_RLELossless:
/* we prefer RLE Lossless */
transferSyntaxes[0] = UID_RLELosslessTransferSyntax;
/*
*
- * Copyright (C) 1993-2010, OFFIS e.V.
+ * Copyright (C) 1993-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
DCMQRDB_ERROR("storescp: Cannot write image file: " << fname);
rsp->DimseStatus = STATUS_STORE_Refused_OutOfResources;
+
+ // delete incomplete file
+ OFStandard::deleteFile(fname);
}
}
**** The tag value
**** The level of this tag (from patient to image)
**** The Key Type (only UNIQUE_KEY values is used)
- **** The key matching type, specifying which type of
- **** matching should be performed. The OTHER_CLASS
- **** value specifies that only strict comparison is applied.
****
**** This table and the IndexRecord structure should contain at least
**** all Unique and Required keys.
DB_FindAttr( DCM_PatientName, PATIENT_LEVEL, REQUIRED_KEY ),
DB_FindAttr( DCM_PatientID, PATIENT_LEVEL, UNIQUE_KEY ),
DB_FindAttr( DCM_PatientBirthTime, PATIENT_LEVEL, OPTIONAL_KEY ),
- DB_FindAttr( DCM_OtherPatientIDs, PATIENT_LEVEL, OPTIONAL_KEY ),
+ DB_FindAttr( DCM_RETIRED_OtherPatientIDs, PATIENT_LEVEL, OPTIONAL_KEY ),
DB_FindAttr( DCM_OtherPatientNames, PATIENT_LEVEL, OPTIONAL_KEY ),
DB_FindAttr( DCM_EthnicGroup, PATIENT_LEVEL, OPTIONAL_KEY ),
DB_FindAttr( DCM_PatientComments, PATIENT_LEVEL, OPTIONAL_KEY ),
- DB_FindAttr( DCM_NumberOfPatientRelatedStudies, PATIENT_LEVEL, OPTIONAL_KEY ),
- DB_FindAttr( DCM_NumberOfPatientRelatedSeries, PATIENT_LEVEL, OPTIONAL_KEY ),
- DB_FindAttr( DCM_NumberOfPatientRelatedInstances, PATIENT_LEVEL, OPTIONAL_KEY ),
DB_FindAttr( DCM_IssuerOfPatientID, PATIENT_LEVEL, OPTIONAL_KEY ),
DB_FindAttr( DCM_StudyDate, STUDY_LEVEL, REQUIRED_KEY ),
DB_FindAttr( DCM_StudyTime, STUDY_LEVEL, REQUIRED_KEY ),
DB_FindAttr( DCM_PatientWeight, STUDY_LEVEL, OPTIONAL_KEY ),
DB_FindAttr( DCM_Occupation, STUDY_LEVEL, OPTIONAL_KEY ),
DB_FindAttr( DCM_AdditionalPatientHistory, STUDY_LEVEL, OPTIONAL_KEY ),
- DB_FindAttr( DCM_NumberOfStudyRelatedSeries, STUDY_LEVEL, OPTIONAL_KEY ),
- DB_FindAttr( DCM_NumberOfStudyRelatedInstances, STUDY_LEVEL, OPTIONAL_KEY ),
DB_FindAttr( DCM_SeriesNumber, SERIE_LEVEL, REQUIRED_KEY ),
DB_FindAttr( DCM_SeriesInstanceUID, SERIE_LEVEL, UNIQUE_KEY ),
DB_FindAttr( DCM_Modality, SERIE_LEVEL, OPTIONAL_KEY ),
idx -> param[RECORDIDX_PatientBirthTime]. XTag = DCM_PatientBirthTime ;
idx -> param[RECORDIDX_PatientBirthTime]. ValueLength = TM_MAX_LENGTH ;
idx -> PatientBirthTime[0] = '\0' ;
- idx -> param[RECORDIDX_OtherPatientIDs]. XTag = DCM_OtherPatientIDs ;
+ idx -> param[RECORDIDX_OtherPatientIDs]. XTag = DCM_RETIRED_OtherPatientIDs ;
idx -> param[RECORDIDX_OtherPatientIDs]. ValueLength = LO_MAX_LENGTH ;
idx -> OtherPatientIDs[0] = '\0' ;
idx -> param[RECORDIDX_OtherPatientNames]. XTag = DCM_OtherPatientNames ;
idx -> param[RECORDIDX_EthnicGroup]. XTag = DCM_EthnicGroup ;
idx -> param[RECORDIDX_EthnicGroup]. ValueLength = SH_MAX_LENGTH ;
idx -> EthnicGroup[0] = '\0' ;
- idx -> param[RECORDIDX_NumberofPatientRelatedStudies]. XTag = DCM_NumberOfPatientRelatedStudies ;
- idx -> param[RECORDIDX_NumberofPatientRelatedStudies]. ValueLength = IS_MAX_LENGTH ;
- idx -> NumberofPatientRelatedStudies[0] = '\0' ;
- idx -> param[RECORDIDX_NumberofPatientRelatedSeries]. XTag = DCM_NumberOfPatientRelatedSeries ;
- idx -> param[RECORDIDX_NumberofPatientRelatedSeries]. ValueLength = IS_MAX_LENGTH ;
- idx -> NumberofPatientRelatedSeries[0] = '\0' ;
- idx -> param[RECORDIDX_NumberofPatientRelatedInstances]. XTag = DCM_NumberOfPatientRelatedInstances ;
- idx -> param[RECORDIDX_NumberofPatientRelatedInstances]. ValueLength = IS_MAX_LENGTH ;
- idx -> NumberofPatientRelatedInstances[0] = '\0' ;
idx -> param[RECORDIDX_StudyDate]. XTag = DCM_StudyDate ;
idx -> param[RECORDIDX_StudyDate]. ValueLength = DA_MAX_LENGTH ;
idx -> StudyDate[0] = '\0' ;
idx -> param[RECORDIDX_Occupation]. XTag = DCM_Occupation ;
idx -> param[RECORDIDX_Occupation]. ValueLength = SH_MAX_LENGTH ;
idx -> Occupation[0] = '\0' ;
- idx -> param[RECORDIDX_NumberofStudyRelatedSeries]. XTag = DCM_NumberOfStudyRelatedSeries ;
- idx -> param[RECORDIDX_NumberofStudyRelatedSeries]. ValueLength = IS_MAX_LENGTH ;
- idx -> NumberofStudyRelatedSeries[0] = '\0' ;
- idx -> param[RECORDIDX_NumberofStudyRelatedInstances]. XTag = DCM_NumberOfStudyRelatedInstances ;
- idx -> param[RECORDIDX_NumberofStudyRelatedInstances]. ValueLength = IS_MAX_LENGTH ;
- idx -> NumberofStudyRelatedInstances[0] = '\0' ;
idx -> param[RECORDIDX_SeriesNumber]. XTag = DCM_SeriesNumber ;
idx -> param[RECORDIDX_SeriesNumber]. ValueLength = IS_MAX_LENGTH ;
idx -> SeriesNumber[0] = '\0' ;
idx -> param[RECORDIDX_OtherPatientIDs]. PValueField = (char *)idx -> OtherPatientIDs ;
idx -> param[RECORDIDX_OtherPatientNames]. PValueField = (char *)idx -> OtherPatientNames ;
idx -> param[RECORDIDX_EthnicGroup]. PValueField = (char *)idx -> EthnicGroup ;
- idx -> param[RECORDIDX_NumberofPatientRelatedStudies]. PValueField = (char *)idx -> NumberofPatientRelatedStudies ;
- idx -> param[RECORDIDX_NumberofPatientRelatedSeries]. PValueField = (char *) idx -> NumberofPatientRelatedSeries ;
- idx -> param[RECORDIDX_NumberofPatientRelatedInstances]. PValueField = (char *) idx -> NumberofPatientRelatedInstances ;
idx -> param[RECORDIDX_StudyDate]. PValueField = (char *) idx -> StudyDate ;
idx -> param[RECORDIDX_StudyTime]. PValueField = (char *) idx -> StudyTime ;
idx -> param[RECORDIDX_StudyID]. PValueField = (char *) idx -> StudyID ;
idx -> param[RECORDIDX_PatientSize]. PValueField = (char *) idx -> PatientSize ;
idx -> param[RECORDIDX_PatientWeight]. PValueField = (char *) idx -> PatientWeight ;
idx -> param[RECORDIDX_Occupation]. PValueField = (char *) idx -> Occupation ;
- idx -> param[RECORDIDX_NumberofStudyRelatedSeries]. PValueField = (char *) idx -> NumberofStudyRelatedSeries ;
- idx -> param[RECORDIDX_NumberofStudyRelatedInstances]. PValueField = (char *) idx -> NumberofStudyRelatedInstances ;
idx -> param[RECORDIDX_SeriesNumber]. PValueField = (char *) idx -> SeriesNumber ;
idx -> param[RECORDIDX_SeriesInstanceUID]. PValueField = (char *) idx -> SeriesInstanceUID ;
idx -> param[RECORDIDX_Modality]. PValueField = (char *) idx -> Modality ;
long pos;
long curpos;
long endpos;
- char buf[256];
/*
** we should not be seeking to an offset < 0
/* get the current position */
curpos = lseek(fildes, 0, SEEK_CUR);
if (curpos < 0) {
- DCMQRDB_ERROR("DB_lseek: cannot get current position: " << OFStandard::strerror(errno, buf, sizeof(buf)));
+ DCMQRDB_ERROR("DB_lseek: cannot get current position: " << OFStandard::getLastSystemErrorCode().message());
return curpos;
}
/* get the end of file position */
endpos = lseek(fildes, 0, SEEK_END);
if (endpos < 0) {
- DCMQRDB_ERROR("DB_lseek: cannot get end of file position: " << OFStandard::strerror(errno, buf, sizeof(buf)));
+ DCMQRDB_ERROR("DB_lseek: cannot get end of file position: " << OFStandard::getLastSystemErrorCode().message());
return endpos;
}
/* return to current position */
curpos = lseek(fildes, curpos, SEEK_SET);
if (curpos < 0) {
- DCMQRDB_ERROR("DB_lseek: cannot reset current position: " << OFStandard::strerror(errno, buf, sizeof(buf)));
+ DCMQRDB_ERROR("DB_lseek: cannot reset current position: " << OFStandard::getLastSystemErrorCode().message());
return curpos;
}
/* do the requested seek */
pos = lseek(fildes, offset, whence);
if (pos < 0) {
- DCMQRDB_ERROR("DB_lseek: cannot seek to " << offset << ": " << OFStandard::strerror(errno, buf, sizeof(buf)));
+ DCMQRDB_ERROR("DB_lseek: cannot seek to " << offset << ": " << OFStandard::getLastSystemErrorCode().message());
return pos;
}
if (characterSetOptions.flags & DcmQueryRetrieveCharacterSetOptions::Override) {
destinationCharacterSet = &characterSetOptions.characterSet;
- if (characterSetOptions.flags & DcmQueryRetrieveCharacterSetOptions::Fallback)
+ if (
+ (characterSetOptions.flags & DcmQueryRetrieveCharacterSetOptions::Fallback) &&
+ characterSetOptions.characterSet != handle_->findRequestCharacterSet
+ ) {
fallbackCharacterSet = &handle_->findRequestCharacterSet;
+ }
} else {
destinationCharacterSet = &handle_->findRequestCharacterSet;
- if (characterSetOptions.flags & DcmQueryRetrieveCharacterSetOptions::Fallback)
+ if (
+ (characterSetOptions.flags & DcmQueryRetrieveCharacterSetOptions::Fallback) &&
+ characterSetOptions.characterSet != handle_->findRequestCharacterSet
+ ) {
fallbackCharacterSet = &characterSetOptions.characterSet;
+ }
}
if (isConversionNecessary(specificCharacterSet, *destinationCharacterSet)) {
#endif
if (unlink(imgFile) < 0) {
- char buf[256];
/* delete file */
DCMQRDB_ERROR("DB ERROR: cannot delete image file: " << imgFile << OFendl
- << "QR_EC_IndexDatabaseError: " << OFStandard::strerror(errno, buf, sizeof(buf)));
+ << "QR_EC_IndexDatabaseError: " << OFStandard::getLastSystemErrorCode().message());
}
#ifdef LOCK_IMAGE_FILES
int oldestStudy ;
double OldestDate ;
int s ;
- int n ;
+ size_t n ;
int idx = 0 ;
IdxRecord idxRec ;
ImagesofStudyArray *StudyArray ;
IdxRecord idxRec ;
- int nbimages = 0 , s = 0 , n ;
+ int nbimages = 0 , s = 0;
+ size_t n ;
long DeletedSize ;
#ifdef DEBUG
#ifdef DEBUG
DCMQRDB_DEBUG("checkupinStudyDesc: study already exists : " << s) ;
#endif
- if ( ( pStudyDesc[s]. StudySize + imageSize )
- > handle_ -> maxBytesPerStudy ) {
+ if ( OFstatic_cast(size_t, pStudyDesc[s]. StudySize) + imageSize >
+ OFstatic_cast(size_t, handle_ -> maxBytesPerStudy) )
+ {
if ( imageSize > handle_ -> maxBytesPerStudy ) {
#ifdef DEBUG
DCMQRDB_DEBUG("checkupinStudyDesc: imageSize = " << imageSize << " too large");
DcmFileFormat dcmff;
if (dcmff.loadFile(imageFileName).bad())
{
- char buf[256];
DCMQRDB_WARN("DB: Cannot open file: " << imageFileName << ": "
- << OFStandard::strerror(errno, buf, sizeof(buf)));
+ << OFStandard::getLastSystemErrorCode().message());
status->setStatus(STATUS_STORE_Error_CannotUnderstand);
return (QR_EC_IndexDatabaseError) ;
}
/* found and non-empty */
strncpy(se->PValueField, strPtr, (size_t)(se->ValueLength));
/* important: do not change the ValueLength field before the string is copied! */
- se->ValueLength = strlen(se->PValueField);
+ se->ValueLength = OFstatic_cast(int, strlen(se->PValueField));
}
}
(strcmp(SOPClassUID, UID_ImplantationPlanSRDocumentStorage) == 0) ||
(strcmp(SOPClassUID, UID_RadiopharmaceuticalRadiationDoseSRStorage) == 0) ||
(strcmp(SOPClassUID, UID_AcquisitionContextSRStorage) == 0) ||
- (strcmp(SOPClassUID, UID_SimplifiedAdultEchoSRStorage) == 0))
+ (strcmp(SOPClassUID, UID_SimplifiedAdultEchoSRStorage) == 0) ||
+ (strcmp(SOPClassUID, UID_PatientRadiationDoseSRStorage) == 0))
{
OFString string;
OFString description = "unknown SR";
/* create index file if it does not already exist */
FILE* f = fopen(handle_->indexFilename, "ab");
if (f == NULL) {
- char buf[256];
- DCMQRDB_ERROR(handle_->indexFilename << ": " << OFStandard::strerror(errno, buf, sizeof(buf)));
+ DCMQRDB_ERROR(handle_->indexFilename << ": " << OFStandard::getLastSystemErrorCode().message());
result = QR_EC_IndexDatabaseError;
return;
}
{
// write magic word and version number to the buffer
// then write it to the file
- char header[DBHEADERSIZE];
+ char header[DBHEADERSIZE + 1];
sprintf( header, DBMAGIC "%.2X", DBVERSION );
if ( write( handle_ -> pidx, header, DBHEADERSIZE ) != DBHEADERSIZE )
{
- char buf[256];
- DCMQRDB_ERROR(handle_->indexFilename << ": " << OFStandard::strerror(errno, buf, sizeof(buf)));
+ DCMQRDB_ERROR(handle_->indexFilename << ": " << OFStandard::getLastSystemErrorCode().message());
DB_unlock();
result = QR_EC_IndexDatabaseError;
return;
/*
*
- * Copyright (C) 1993-2012, OFFIS e.V.
+ * Copyright (C) 1993-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
, blockMode_(DIMSE_BLOCKING)
, dimse_timeout_(0)
, acse_timeout_(30)
+, associationConfigFile()
+, incomingProfile()
+, outgoingProfile()
{
}
DcmQueryRetrieveSCP::DcmQueryRetrieveSCP(
const DcmQueryRetrieveConfig& config,
const DcmQueryRetrieveOptions& options,
- const DcmQueryRetrieveDatabaseHandleFactory& factory)
+ const DcmQueryRetrieveDatabaseHandleFactory& factory,
+ const DcmAssociationConfiguration& associationConfiguration)
: config_(&config)
, processtable_()
, dbCheckFindIdentifier_(OFFalse)
, dbCheckMoveIdentifier_(OFFalse)
, factory_(factory)
, options_(options)
+, associationConfiguration_(associationConfiguration)
{
}
T_ASC_PresentationContextID presID, DcmQueryRetrieveDatabaseHandle& dbHandle)
{
OFCondition cond = EC_Normal;
- DcmQueryRetrieveMoveContext context(dbHandle, options_, config_, STATUS_Pending, assoc, request->MessageID, request->Priority);
+ DcmQueryRetrieveMoveContext context(dbHandle, options_, associationConfiguration_, config_, STATUS_Pending, assoc, request->MessageID, request->Priority);
DIC_AE aeTitle;
aeTitle[0] = '\0';
if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) // don't try to delete /dev/null
{
DCMQRDB_INFO("Store SCP: Deleting Image File: %s" << imageFileName);
- unlink(imageFileName);
+ OFStandard::deleteFile(imageFileName);
}
dbHandle.pruneInvalidRecords();
}
transferSyntaxes[3] = UID_LittleEndianImplicitTransferSyntax;
numTransferSyntaxes = 4;
break;
+ case EXS_HEVCMainProfileLevel5_1:
+ /* we prefer HEVC/H.265 Main Profile/L5.1 */
+ transferSyntaxes[0] = UID_HEVCMainProfileLevel5_1TransferSyntax;
+ transferSyntaxes[1] = UID_LittleEndianExplicitTransferSyntax;
+ transferSyntaxes[2] = UID_BigEndianExplicitTransferSyntax;
+ transferSyntaxes[3] = UID_LittleEndianImplicitTransferSyntax;
+ numTransferSyntaxes = 4;
+ break;
+ case EXS_HEVCMain10ProfileLevel5_1:
+ /* we prefer HEVC/H.265 Main 10 Profile/L5.1 */
+ transferSyntaxes[0] = UID_HEVCMain10ProfileLevel5_1TransferSyntax;
+ transferSyntaxes[1] = UID_LittleEndianExplicitTransferSyntax;
+ transferSyntaxes[2] = UID_BigEndianExplicitTransferSyntax;
+ transferSyntaxes[3] = UID_LittleEndianImplicitTransferSyntax;
+ numTransferSyntaxes = 4;
+ break;
case EXS_RLELossless:
/* we prefer RLE Lossless */
transferSyntaxes[0] = UID_RLELosslessTransferSyntax;
}
}
- /* accept any of the non-storage syntaxes */
- cond = ASC_acceptContextsWithPreferredTransferSyntaxes(
- assoc->params,
- (const char**)selectedNonStorageSyntaxes, numberOfSelectedNonStorageSyntaxes,
- (const char**)transferSyntaxes, numTransferSyntaxes);
- if (cond.bad()) {
- DCMQRDB_ERROR("Cannot accept presentation contexts: " << DimseCondition::dump(temp_str, cond));
- }
-
- /* accept any of the storage syntaxes */
- if (options_.disableGetSupport_)
+ if (options_.incomingProfile.empty())
{
- /* accept storage syntaxes with default role only */
- cond = ASC_acceptContextsWithPreferredTransferSyntaxes(
- assoc->params,
- dcmAllStorageSOPClassUIDs, numberOfDcmAllStorageSOPClassUIDs,
- (const char**)transferSyntaxes, numTransferSyntaxes);
- if (cond.bad()) {
- DCMQRDB_ERROR("Cannot accept presentation contexts: " << DimseCondition::dump(temp_str, cond));
- }
- } else {
- /* accept storage syntaxes with proposed role */
- T_ASC_PresentationContext pc;
- T_ASC_SC_ROLE role;
- int npc = ASC_countPresentationContexts(assoc->params);
- for (i = 0; i < npc; i++)
+ /* accept any of the storage syntaxes */
+ if (options_.disableGetSupport_)
{
- ASC_getPresentationContext(assoc->params, i, &pc);
- if (dcmIsaStorageSOPClassUID(pc.abstractSyntax))
+ /* accept storage syntaxes with default role only */
+ cond = ASC_acceptContextsWithPreferredTransferSyntaxes(
+ assoc->params,
+ dcmAllStorageSOPClassUIDs, numberOfDcmAllStorageSOPClassUIDs,
+ (const char**)transferSyntaxes, numTransferSyntaxes);
+ if (cond.bad()) {
+ DCMQRDB_ERROR("Cannot accept presentation contexts: " << DimseCondition::dump(temp_str, cond));
+ }
+ } else {
+ /* accept storage syntaxes with proposed role */
+ T_ASC_PresentationContext pc;
+ T_ASC_SC_ROLE role;
+ int npc = ASC_countPresentationContexts(assoc->params);
+ for (i = 0; i < npc; i++)
{
- /*
- ** We are prepared to accept whatever role he proposes.
- ** Normally we can be the SCP of the Storage Service Class.
- ** When processing the C-GET operation we can be the SCU of the Storage Service Class.
- */
- role = pc.proposedRole;
-
- /*
- ** Accept in the order "least wanted" to "most wanted" transfer
- ** syntax. Accepting a transfer syntax will override previously
- ** accepted transfer syntaxes.
- */
- for (int k = numTransferSyntaxes - 1; k >= 0; k--)
+ ASC_getPresentationContext(assoc->params, i, &pc);
+ if (dcmIsaStorageSOPClassUID(pc.abstractSyntax))
{
- for (int j = 0; j < (int)pc.transferSyntaxCount; j++)
+ /*
+ ** We are prepared to accept whatever role he proposes.
+ ** Normally we can be the SCP of the Storage Service Class.
+ ** When processing the C-GET operation we can be the SCU of the Storage Service Class.
+ */
+ role = pc.proposedRole;
+
+ /*
+ ** Accept in the order "least wanted" to "most wanted" transfer
+ ** syntax. Accepting a transfer syntax will override previously
+ ** accepted transfer syntaxes.
+ */
+ for (int k = numTransferSyntaxes - 1; k >= 0; k--)
{
- /* if the transfer syntax was proposed then we can accept it
- * appears in our supported list of transfer syntaxes
- */
- if (strcmp(pc.proposedTransferSyntaxes[j], transferSyntaxes[k]) == 0)
+ for (int j = 0; j < (int)pc.transferSyntaxCount; j++)
{
- cond = ASC_acceptPresentationContext(
- assoc->params, pc.presentationContextID, transferSyntaxes[k], role);
- if (cond.bad()) return cond;
+ /* if the transfer syntax was proposed then we can accept it
+ * appears in our supported list of transfer syntaxes
+ */
+ if (strcmp(pc.proposedTransferSyntaxes[j], transferSyntaxes[k]) == 0)
+ {
+ cond = ASC_acceptPresentationContext(
+ assoc->params, pc.presentationContextID, transferSyntaxes[k], role);
+ if (cond.bad()) return cond;
+ }
}
}
}
- }
- } /* for */
- } /* else */
+ } /* for */
+ } /* else */
+ }
+ else
+ {
+ cond = associationConfiguration_.evaluateAssociationParameters(options_.incomingProfile.c_str(), *assoc);
+ if (cond.bad()) return cond;
+ }
+
+ /* accept any of the non-storage syntaxes */
+ cond = ASC_acceptContextsWithPreferredTransferSyntaxes(
+ assoc->params,
+ (const char**)selectedNonStorageSyntaxes, numberOfSelectedNonStorageSyntaxes,
+ (const char**)transferSyntaxes, numTransferSyntaxes);
+ if (cond.bad()) {
+ DCMQRDB_ERROR("Cannot accept presentation contexts: " << DimseCondition::dump(temp_str, cond));
+ }
/*
* check if we have negotiated the private "shutdown" SOP Class
pid = (int)(fork());
if (pid < 0)
{
- char errBuf[256];
DCMQRDB_ERROR("Cannot create association sub-process: "
- << OFStandard::strerror(errno, errBuf, sizeof(errBuf)));
+ << OFStandard::getLastSystemErrorCode().message());
cond = refuseAssociation(&assoc, CTN_CannotFork);
go_cleanup = OFTrue;
}
*/
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
#include "dcmtk/dcmqrdb/dcmqrtis.h"
#include "dcmtk/dcmnet/diutil.h"
const char *peer;
DIC_NODENAME presentationAddress;
T_ASC_Parameters *params;
- DIC_NODENAME localHost;
DIC_AE currentAETitle;
OFString temp_str;
}
ASC_setAPTitles(params, currentAETitle, currentPeerTitle, NULL);
- gethostname(localHost, sizeof(localHost) - 1);
if (!config.peerForAETitle(currentPeerTitle, &peer, &port)) {
DCMQRDB_ERROR("Help, AE title (" << currentPeerTitle << ") no longer in config");
ASC_destroyAssociationParameters(¶ms);
return OFFalse;
}
sprintf(presentationAddress, "%s:%d", peer, port);
- ASC_setPresentationAddresses(params, localHost, presentationAddress);
+ ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), presentationAddress);
cond = addPresentationContexts(params);
if (cond.bad()) {
PROJECT(dcmrt)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmrt_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmrt_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" ${ZLIB_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc apps tests include)
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmrt/drtdose.h ../include/dcmtk/dcmrt/drttypes.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtdss.h \
../include/dcmtk/dcmrt/seq/drtdspcs.h \
../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtfes.h \
+ ../include/dcmtk/dcmrt/seq/drtgms.h ../include/dcmtk/dcmrt/seq/drtgmcs.h \
../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
LIBDIRS = -L$(top_srcdir)/libsrc -L$(dcmimgledir)/libsrc -L$(dcmdatadir)/libsrc \
-L$(oflogdir)/libsrc -L$(ofstddir)/libsrc
LOCALLIBS = -ldcmrt -ldcmimgle -ldcmdata -loflog -lofstd \
- $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(CHARCONVLIBS)
+ $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS)
objs = drtdump.o
progs = drtdump
all: $(progs)
drtdump: drtdump.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
install: install-bin
\page drtdump drtdump: Dump DICOM RT file and data set
\endif
-\section synopsis SYNOPSIS
+\section drtdump_synopsis SYNOPSIS
\verbatim
drtdump [options] drtfile-in...
\endverbatim
-\section description DESCRIPTION
+\section drtdump_description DESCRIPTION
The \b drtdump utility dumps the contents of a DICOM Radiation Therapy (RT)
object (file format or raw data set) to stdout in textual form. The output
the \e -f and <em>-t[ieb]</em> options to force \b drtdump to read a dataset
with a particular transfer syntax.
-\section parameters PARAMETERS
+\section drtdump_parameters PARAMETERS
\verbatim
drtfile-in DICOM RT input filename to be dumped
\endverbatim
-\section options OPTIONS
+\section drtdump_options OPTIONS
-\subsection general_options general options
+\subsection drtdump_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection drtdump_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection output_options output options
+\subsection drtdump_output_options output options
\verbatim
printing:
print header with filename for each input file
\endverbatim
-\section notes NOTES
+\section drtdump_notes NOTES
-\subsection dicom_conformance DICOM Conformance
+\subsection drtdump_dicom_conformance DICOM Conformance
The \b drtdump utility supports the following SOP Classes:
RTIonBeamsTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.9
\endverbatim
-\section logging LOGGING
+\section drtdump_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section drtdump_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section drtdump_environment ENVIRONMENT
The \b drtdump utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section drtdump_see_also SEE ALSO
<b>dcmconv</b>(1), <b>dcmdump</b>(1)
-\section copyright COPYRIGHT
+\section drtdump_copyright COPYRIGHT
Copyright (C) 2010-2014 by OFFIS e.V. and ICSMED AG, Escherweg 2, 26121
Oldenburg, Germany.
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmrt DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmrt DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTDoseIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2016-11-23 14:23:36
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
#include "dcmtk/dcmrt/seq/drtdss.h" // for DigitalSignaturesSequence
#include "dcmtk/dcmrt/seq/drteas.h" // for EncryptedAttributesSequence
#include "dcmtk/dcmrt/seq/drtfes.h" // for FrameExtractionSequence
+#include "dcmtk/dcmrt/seq/drtgms.h" // for GeneticModificationsSequence
#include "dcmtk/dcmrt/seq/drtgpis.h" // for GroupOfPatientsIdentificationSequence
#include "dcmtk/dcmrt/seq/drthsdrs.h" // for HL7StructuredDocumentReferenceSequence
#include "dcmtk/dcmrt/seq/drtiis.h" // for IconImageSequence
const DRTFrameExtractionSequence &getFrameExtractionSequence() const
{ return FrameExtractionSequence; }
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return reference to sequence element
+ */
+ DRTGeneticModificationsSequence &getGeneticModificationsSequence()
+ { return GeneticModificationsSequence; }
+
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return const reference to sequence element
+ */
+ const DRTGeneticModificationsSequence &getGeneticModificationsSequence() const
+ { return GeneticModificationsSequence; }
+
/** get GroupOfPatientsIdentificationSequence (0010,0027)
* @return reference to sequence element
*/
DcmUnlimitedText StrainAdditionalInformation;
/// StrainStockSequence (0010,0216) vr=SQ, vm=1, type=3
DRTStrainStockSequence StrainStockSequence;
+ /// GeneticModificationsSequence (0010,0221) vr=SQ, vm=1, type=3
+ DRTGeneticModificationsSequence GeneticModificationsSequence;
/// ResponsiblePerson (0010,2297) vr=PN, vm=1, type=2C
DcmPersonName ResponsiblePerson;
/// ResponsiblePersonRole (0010,2298) vr=CS, vm=1, type=1C
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTImageIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2016-11-23 14:23:36
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
#include "dcmtk/dcmrt/seq/drtes.h" // for ExposureSequence
#include "dcmtk/dcmrt/seq/drtfms.h" // for FluenceMapSequence
#include "dcmtk/dcmrt/seq/drtfes.h" // for FrameExtractionSequence
+#include "dcmtk/dcmrt/seq/drtgms.h" // for GeneticModificationsSequence
#include "dcmtk/dcmrt/seq/drtgpis.h" // for GroupOfPatientsIdentificationSequence
#include "dcmtk/dcmrt/seq/drthsdrs.h" // for HL7StructuredDocumentReferenceSequence
#include "dcmtk/dcmrt/seq/drtiis.h" // for IconImageSequence
const DRTFrameExtractionSequence &getFrameExtractionSequence() const
{ return FrameExtractionSequence; }
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return reference to sequence element
+ */
+ DRTGeneticModificationsSequence &getGeneticModificationsSequence()
+ { return GeneticModificationsSequence; }
+
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return const reference to sequence element
+ */
+ const DRTGeneticModificationsSequence &getGeneticModificationsSequence() const
+ { return GeneticModificationsSequence; }
+
/** get GroupOfPatientsIdentificationSequence (0010,0027)
* @return reference to sequence element
*/
DcmUnlimitedText StrainAdditionalInformation;
/// StrainStockSequence (0010,0216) vr=SQ, vm=1, type=3
DRTStrainStockSequence StrainStockSequence;
+ /// GeneticModificationsSequence (0010,0221) vr=SQ, vm=1, type=3
+ DRTGeneticModificationsSequence GeneticModificationsSequence;
/// ResponsiblePerson (0010,2297) vr=PN, vm=1, type=2C
DcmPersonName ResponsiblePerson;
/// ResponsiblePersonRole (0010,2298) vr=CS, vm=1, type=1C
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonPlanIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2016-11-23 14:23:36
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
#include "dcmtk/dcmrt/seq/drtdrs.h" // for DoseReferenceSequence
#include "dcmtk/dcmrt/seq/drteas.h" // for EncryptedAttributesSequence
#include "dcmtk/dcmrt/seq/drtfgs.h" // for FractionGroupSequence
+#include "dcmtk/dcmrt/seq/drtgms.h" // for GeneticModificationsSequence
#include "dcmtk/dcmrt/seq/drtgpis.h" // for GroupOfPatientsIdentificationSequence
#include "dcmtk/dcmrt/seq/drthsdrs.h" // for HL7StructuredDocumentReferenceSequence
#include "dcmtk/dcmrt/seq/drtibs.h" // for IonBeamSequence
const DRTFractionGroupSequence &getFractionGroupSequence() const
{ return FractionGroupSequence; }
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return reference to sequence element
+ */
+ DRTGeneticModificationsSequence &getGeneticModificationsSequence()
+ { return GeneticModificationsSequence; }
+
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return const reference to sequence element
+ */
+ const DRTGeneticModificationsSequence &getGeneticModificationsSequence() const
+ { return GeneticModificationsSequence; }
+
/** get GroupOfPatientsIdentificationSequence (0010,0027)
* @return reference to sequence element
*/
DcmUnlimitedText StrainAdditionalInformation;
/// StrainStockSequence (0010,0216) vr=SQ, vm=1, type=3
DRTStrainStockSequence StrainStockSequence;
+ /// GeneticModificationsSequence (0010,0221) vr=SQ, vm=1, type=3
+ DRTGeneticModificationsSequence GeneticModificationsSequence;
/// ResponsiblePerson (0010,2297) vr=PN, vm=1, type=2C
DcmPersonName ResponsiblePerson;
/// ResponsiblePersonRole (0010,2298) vr=CS, vm=1, type=1C
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonBeamsTreatmentRecordIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2016-11-23 14:23:36
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
#include "dcmtk/dcmrt/seq/drtdss.h" // for DigitalSignaturesSequence
#include "dcmtk/dcmrt/seq/drteas.h" // for EncryptedAttributesSequence
#include "dcmtk/dcmrt/seq/drtfgss.h" // for FractionGroupSummarySequence
+#include "dcmtk/dcmrt/seq/drtgms.h" // for GeneticModificationsSequence
#include "dcmtk/dcmrt/seq/drtgpis.h" // for GroupOfPatientsIdentificationSequence
#include "dcmtk/dcmrt/seq/drthsdrs.h" // for HL7StructuredDocumentReferenceSequence
#include "dcmtk/dcmrt/seq/drtians.h" // for IssuerOfAccessionNumberSequence
const DRTFractionGroupSummarySequence &getFractionGroupSummarySequence() const
{ return FractionGroupSummarySequence; }
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return reference to sequence element
+ */
+ DRTGeneticModificationsSequence &getGeneticModificationsSequence()
+ { return GeneticModificationsSequence; }
+
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return const reference to sequence element
+ */
+ const DRTGeneticModificationsSequence &getGeneticModificationsSequence() const
+ { return GeneticModificationsSequence; }
+
/** get GroupOfPatientsIdentificationSequence (0010,0027)
* @return reference to sequence element
*/
DcmUnlimitedText StrainAdditionalInformation;
/// StrainStockSequence (0010,0216) vr=SQ, vm=1, type=3
DRTStrainStockSequence StrainStockSequence;
+ /// GeneticModificationsSequence (0010,0221) vr=SQ, vm=1, type=3
+ DRTGeneticModificationsSequence GeneticModificationsSequence;
/// ResponsiblePerson (0010,2297) vr=PN, vm=1, type=2C
DcmPersonName ResponsiblePerson;
/// ResponsiblePersonRole (0010,2298) vr=CS, vm=1, type=1C
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPlanIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2016-11-23 14:23:36
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
#include "dcmtk/dcmrt/seq/drtdrs.h" // for DoseReferenceSequence
#include "dcmtk/dcmrt/seq/drteas.h" // for EncryptedAttributesSequence
#include "dcmtk/dcmrt/seq/drtfgs.h" // for FractionGroupSequence
+#include "dcmtk/dcmrt/seq/drtgms.h" // for GeneticModificationsSequence
#include "dcmtk/dcmrt/seq/drtgpis.h" // for GroupOfPatientsIdentificationSequence
#include "dcmtk/dcmrt/seq/drthsdrs.h" // for HL7StructuredDocumentReferenceSequence
#include "dcmtk/dcmrt/seq/drtians.h" // for IssuerOfAccessionNumberSequence
const DRTFractionGroupSequence &getFractionGroupSequence() const
{ return FractionGroupSequence; }
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return reference to sequence element
+ */
+ DRTGeneticModificationsSequence &getGeneticModificationsSequence()
+ { return GeneticModificationsSequence; }
+
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return const reference to sequence element
+ */
+ const DRTGeneticModificationsSequence &getGeneticModificationsSequence() const
+ { return GeneticModificationsSequence; }
+
/** get GroupOfPatientsIdentificationSequence (0010,0027)
* @return reference to sequence element
*/
DcmUnlimitedText StrainAdditionalInformation;
/// StrainStockSequence (0010,0216) vr=SQ, vm=1, type=3
DRTStrainStockSequence StrainStockSequence;
+ /// GeneticModificationsSequence (0010,0221) vr=SQ, vm=1, type=3
+ DRTGeneticModificationsSequence GeneticModificationsSequence;
/// ResponsiblePerson (0010,2297) vr=PN, vm=1, type=2C
DcmPersonName ResponsiblePerson;
/// ResponsiblePersonRole (0010,2298) vr=CS, vm=1, type=1C
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTStructureSetIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2016-11-23 14:23:36
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
#include "dcmtk/dcmrt/seq/drtdcs.h" // for DerivationCodeSequence
#include "dcmtk/dcmrt/seq/drtdss.h" // for DigitalSignaturesSequence
#include "dcmtk/dcmrt/seq/drteas.h" // for EncryptedAttributesSequence
+#include "dcmtk/dcmrt/seq/drtgms.h" // for GeneticModificationsSequence
#include "dcmtk/dcmrt/seq/drtgpis.h" // for GroupOfPatientsIdentificationSequence
#include "dcmtk/dcmrt/seq/drthsdrs.h" // for HL7StructuredDocumentReferenceSequence
#include "dcmtk/dcmrt/seq/drtians.h" // for IssuerOfAccessionNumberSequence
const DRTEncryptedAttributesSequence &getEncryptedAttributesSequence() const
{ return EncryptedAttributesSequence; }
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return reference to sequence element
+ */
+ DRTGeneticModificationsSequence &getGeneticModificationsSequence()
+ { return GeneticModificationsSequence; }
+
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return const reference to sequence element
+ */
+ const DRTGeneticModificationsSequence &getGeneticModificationsSequence() const
+ { return GeneticModificationsSequence; }
+
/** get GroupOfPatientsIdentificationSequence (0010,0027)
* @return reference to sequence element
*/
DcmUnlimitedText StrainAdditionalInformation;
/// StrainStockSequence (0010,0216) vr=SQ, vm=1, type=3
DRTStrainStockSequence StrainStockSequence;
+ /// GeneticModificationsSequence (0010,0221) vr=SQ, vm=1, type=3
+ DRTGeneticModificationsSequence GeneticModificationsSequence;
/// ResponsiblePerson (0010,2297) vr=PN, vm=1, type=2C
DcmPersonName ResponsiblePerson;
/// ResponsiblePersonRole (0010,2298) vr=CS, vm=1, type=1C
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTTreatmentSummaryRecordIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2016-11-23 14:23:36
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
#include "dcmtk/dcmrt/seq/drtdss.h" // for DigitalSignaturesSequence
#include "dcmtk/dcmrt/seq/drteas.h" // for EncryptedAttributesSequence
#include "dcmtk/dcmrt/seq/drtfgss.h" // for FractionGroupSummarySequence
+#include "dcmtk/dcmrt/seq/drtgms.h" // for GeneticModificationsSequence
#include "dcmtk/dcmrt/seq/drtgpis.h" // for GroupOfPatientsIdentificationSequence
#include "dcmtk/dcmrt/seq/drthsdrs.h" // for HL7StructuredDocumentReferenceSequence
#include "dcmtk/dcmrt/seq/drtians.h" // for IssuerOfAccessionNumberSequence
const DRTFractionGroupSummarySequence &getFractionGroupSummarySequence() const
{ return FractionGroupSummarySequence; }
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return reference to sequence element
+ */
+ DRTGeneticModificationsSequence &getGeneticModificationsSequence()
+ { return GeneticModificationsSequence; }
+
+ /** get GeneticModificationsSequence (0010,0221)
+ * @return const reference to sequence element
+ */
+ const DRTGeneticModificationsSequence &getGeneticModificationsSequence() const
+ { return GeneticModificationsSequence; }
+
/** get GroupOfPatientsIdentificationSequence (0010,0027)
* @return reference to sequence element
*/
DcmUnlimitedText StrainAdditionalInformation;
/// StrainStockSequence (0010,0216) vr=SQ, vm=1, type=3
DRTStrainStockSequence StrainStockSequence;
+ /// GeneticModificationsSequence (0010,0221) vr=SQ, vm=1, type=3
+ DRTGeneticModificationsSequence GeneticModificationsSequence;
/// ResponsiblePerson (0010,2297) vr=PN, vm=1, type=2C
DcmPersonName ResponsiblePerson;
/// ResponsiblePersonRole (0010,2298) vr=CS, vm=1, type=1C
*
* Header file for class DRTAssigningAgencyOrDepartmentCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTAdmittingDiagnosesCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTAdditionalDrugSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTAssigningFacilitySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTApplicatorGeometrySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTAssigningJurisdictionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTApplicatorSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTApplicatorSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTApplicatorSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTApplicatorSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTApplicationSetupSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBrachyAccessoryDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTContrastBolusAgentSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBrachyControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBlockSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBlockSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBeamLimitingDeviceLeafPairsSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBeamLimitingDevicePositionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBeamLimitingDeviceSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBeamLimitingDeviceSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBeamLimitingDeviceSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBeamLimitingDeviceToleranceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBreedRegistryCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBrachyReferencedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBreedRegistrationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBeamSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBlockSlabSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTBeamDoseVerificationControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTContrastBolusAdministrationRouteSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTConceptCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTConsentForClinicalTrialUseSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTCalculatedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTContributingEquipmentSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTContextGroupIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTChannelSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTContentItemModifierSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTContourImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTConceptNameCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTCompensatorSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTCorrectedParameterSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTConsultingPhysicianIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTContourSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTConversionSourceAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTChannelShieldSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTCodingSchemeIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTChannelSourceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDerivationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDeliveredDepthDoseParametersSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDepthDoseParametersSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDeidentificationActionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDeidentificationMethodCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDICOMMediaRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDICOMRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDigitalSignaturePurposeCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDigitalSignaturesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDVHSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTDVHReferencedROISequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTEncryptedAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTEquivalentCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTExposureSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTFixationDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTFrameExtractionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTFractionGroupSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTFractionGroupSummarySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTFluenceMapSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTFractionStatusSummarySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTGeneralAccessorySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class DRTGeneticModificationsCodeSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
+ *
+ */
+
+
+#ifndef DRTGMCS_H
+#define DRTGMCS_H
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/ofstd/oflist.h" // for standard list class
+#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
+
+
+/** Interface class for GeneticModificationsCodeSequence (0010,0229)
+ */
+class DCMTK_DCMRT_EXPORT DRTGeneticModificationsCodeSequence
+ : protected DRTTypes
+{
+
+ public:
+
+ /** Item class
+ */
+ class DCMTK_DCMRT_EXPORT Item
+ : protected DRTTypes
+ {
+
+ public:
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultItem flag used to mark the empty default item
+ */
+ Item(const OFBool emptyDefaultItem = OFFalse);
+
+ /** copy constructor
+ * @param copy item object to be copied
+ */
+ Item(const Item ©);
+
+ /** destructor
+ */
+ virtual ~Item();
+
+ /** assigment operator
+ * @param copy item object to be copied
+ * @return reference to this object
+ */
+ Item &operator=(const Item ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if item is empty
+ * @return OFTrue if item is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if item is valid, i.e.\ not the empty default item
+ * @return OFTrue if item is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ // --- input/output methods ---
+
+ /** read elements from sequence item
+ * @param item reference to DICOM sequence item from which the elements should be read
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &item);
+
+ /** write elements to sequence item
+ * @param item reference to DICOM sequence item to which the elements should be written
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &item);
+
+ // --- get DICOM attribute values ---
+
+ /** get CodeMeaning (0008,0104)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCodeMeaning(OFString &value, const signed long pos = 0) const;
+
+ /** get CodeValue (0008,0100)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCodeValue(OFString &value, const signed long pos = 0) const;
+
+ /** get CodingSchemeDesignator (0008,0102)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCodingSchemeDesignator(OFString &value, const signed long pos = 0) const;
+
+ /** get CodingSchemeVersion (0008,0103)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCodingSchemeVersion(OFString &value, const signed long pos = 0) const;
+
+ /** get ContextGroupExtensionCreatorUID (0008,010d)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getContextGroupExtensionCreatorUID(OFString &value, const signed long pos = 0) const;
+
+ /** get ContextGroupExtensionFlag (0008,010b)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getContextGroupExtensionFlag(OFString &value, const signed long pos = 0) const;
+
+ /** get ContextGroupLocalVersion (0008,0107)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getContextGroupLocalVersion(OFString &value, const signed long pos = 0) const;
+
+ /** get ContextGroupVersion (0008,0106)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getContextGroupVersion(OFString &value, const signed long pos = 0) const;
+
+ /** get ContextIdentifier (0008,010f)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getContextIdentifier(OFString &value, const signed long pos = 0) const;
+
+ /** get ContextUID (0008,0117)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
+ /** get MappingResource (0008,0105)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+
+ /** get MappingResourceName (0008,0122)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceName(OFString &value, const signed long pos = 0) const;
+
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
+ // --- set DICOM attribute values ---
+
+ /** set CodeMeaning (0008,0104)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setCodeMeaning(const OFString &value, const OFBool check = OFTrue);
+
+ /** set CodeValue (0008,0100)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (SH) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setCodeValue(const OFString &value, const OFBool check = OFTrue);
+
+ /** set CodingSchemeDesignator (0008,0102)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (SH) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setCodingSchemeDesignator(const OFString &value, const OFBool check = OFTrue);
+
+ /** set CodingSchemeVersion (0008,0103)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (SH) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setCodingSchemeVersion(const OFString &value, const OFBool check = OFTrue);
+
+ /** set ContextGroupExtensionCreatorUID (0008,010d)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setContextGroupExtensionCreatorUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set ContextGroupExtensionFlag (0008,010b)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setContextGroupExtensionFlag(const OFString &value, const OFBool check = OFTrue);
+
+ /** set ContextGroupLocalVersion (0008,0107)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (DT) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setContextGroupLocalVersion(const OFString &value, const OFBool check = OFTrue);
+
+ /** set ContextGroupVersion (0008,0106)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (DT) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setContextGroupVersion(const OFString &value, const OFBool check = OFTrue);
+
+ /** set ContextIdentifier (0008,010f)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setContextIdentifier(const OFString &value, const OFBool check = OFTrue);
+
+ /** set ContextUID (0008,0117)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
+ /** set MappingResource (0008,0105)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+
+ /** set MappingResourceName (0008,0122)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceName(const OFString &value, const OFBool check = OFTrue);
+
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
+ private:
+
+ /// internal flag used to mark the empty default item
+ /*const*/ OFBool EmptyDefaultItem;
+
+ /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
+ DcmLongString CodeMeaning;
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
+ DcmShortString CodeValue;
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
+ DcmShortString CodingSchemeDesignator;
+ /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
+ DcmShortString CodingSchemeVersion;
+ /// ContextGroupExtensionCreatorUID (0008,010d) vr=UI, vm=1, type=1C
+ DcmUniqueIdentifier ContextGroupExtensionCreatorUID;
+ /// ContextGroupExtensionFlag (0008,010b) vr=CS, vm=1, type=3
+ DcmCodeString ContextGroupExtensionFlag;
+ /// ContextGroupLocalVersion (0008,0107) vr=DT, vm=1, type=1C
+ DcmDateTime ContextGroupLocalVersion;
+ /// ContextGroupVersion (0008,0106) vr=DT, vm=1, type=1C
+ DcmDateTime ContextGroupVersion;
+ /// ContextIdentifier (0008,010f) vr=CS, vm=1, type=3
+ DcmCodeString ContextIdentifier;
+ /// ContextUID (0008,0117) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
+ /// MappingResource (0008,0105) vr=CS, vm=1, type=1C
+ DcmCodeString MappingResource;
+ /// MappingResourceName (0008,0122) vr=LO, vm=1, type=3
+ DcmLongString MappingResourceName;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
+
+ };
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultSequence internal flag used to mark the empty default sequence
+ */
+ DRTGeneticModificationsCodeSequence(const OFBool emptyDefaultSequence = OFFalse);
+
+ /** copy constructor
+ * @param copy sequence object to be copied
+ */
+ DRTGeneticModificationsCodeSequence(const DRTGeneticModificationsCodeSequence ©);
+
+ /** destructor
+ */
+ virtual ~DRTGeneticModificationsCodeSequence();
+
+ /** assigment operator
+ * @param copy sequence object to be copied
+ * @return reference to this object
+ */
+ DRTGeneticModificationsCodeSequence &operator=(const DRTGeneticModificationsCodeSequence ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if sequence is empty
+ * @return OFTrue if sequence is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if sequence is valid, i.e.\ not the empty default sequence
+ * @return OFTrue if sequence is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ /** get number of items in the sequence
+ * @return number of items
+ */
+ size_t getNumberOfItems() const;
+
+ /** goto first item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoFirstItem();
+
+ /** goto next item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoNextItem();
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const size_t num);
+
+ /** get current item in the sequence
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCurrentItem(Item *&item) const;
+
+ /** get current item in the sequence
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getCurrentItem();
+
+ /** get current item in the sequence
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getCurrentItem() const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getItem(const size_t num, Item *&item);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getItem(const size_t num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getItem(const size_t num) const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &operator[](const size_t num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &operator[](const size_t num) const;
+
+ /** add new item to the end of this sequence
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addItem(Item *&item);
+
+ /** insert new item into the sequence
+ * @param pos position where the new item is to be inserted (0..num)
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition insertItem(const size_t pos, Item *&item);
+
+ /** remove particular item from the sequence
+ * @param pos position of the item to be removed (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition removeItem(const size_t pos);
+
+ // --- input/output methods ---
+
+ /** read sequence of items from dataset
+ * @param dataset reference to DICOM dataset from which the sequence should be read
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "1C", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ /** write sequence of items to dataset
+ * @param dataset reference to DICOM dataset to which the sequence should be written
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ protected:
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const size_t num,
+ OFListIterator(Item *) &iterator);
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const size_t num,
+ OFListConstIterator(Item *) &iterator) const;
+
+ private:
+
+ /// internal flag used to mark the empty default sequence
+ /*const*/ OFBool EmptyDefaultSequence;
+
+ /// list of items in this sequence
+ OFList<Item *> SequenceOfItems;
+ /// currently selected item
+ OFListIterator(Item *) CurrentItem;
+ /// empty default item
+ Item EmptyItem;
+
+};
+
+
+#endif
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class DRTGeneticModificationsSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
+ *
+ */
+
+
+#ifndef DRTGMS_H
+#define DRTGMS_H
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/ofstd/oflist.h" // for standard list class
+#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtgmcs.h" // for GeneticModificationsCodeSequence
+
+
+/** Interface class for GeneticModificationsSequence (0010,0221)
+ */
+class DCMTK_DCMRT_EXPORT DRTGeneticModificationsSequence
+ : protected DRTTypes
+{
+
+ public:
+
+ /** Item class
+ */
+ class DCMTK_DCMRT_EXPORT Item
+ : protected DRTTypes
+ {
+
+ public:
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultItem flag used to mark the empty default item
+ */
+ Item(const OFBool emptyDefaultItem = OFFalse);
+
+ /** copy constructor
+ * @param copy item object to be copied
+ */
+ Item(const Item ©);
+
+ /** destructor
+ */
+ virtual ~Item();
+
+ /** assigment operator
+ * @param copy item object to be copied
+ * @return reference to this object
+ */
+ Item &operator=(const Item ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if item is empty
+ * @return OFTrue if item is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if item is valid, i.e.\ not the empty default item
+ * @return OFTrue if item is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ // --- input/output methods ---
+
+ /** read elements from sequence item
+ * @param item reference to DICOM sequence item from which the elements should be read
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &item);
+
+ /** write elements to sequence item
+ * @param item reference to DICOM sequence item to which the elements should be written
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &item);
+
+ // --- get DICOM attribute values ---
+
+ /** get GeneticModificationsDescription (0010,0222)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getGeneticModificationsDescription(OFString &value, const signed long pos = 0) const;
+
+ /** get GeneticModificationsNomenclature (0010,0223)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getGeneticModificationsNomenclature(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get GeneticModificationsCodeSequence (0010,0229)
+ * @return reference to sequence element
+ */
+ DRTGeneticModificationsCodeSequence &getGeneticModificationsCodeSequence()
+ { return GeneticModificationsCodeSequence; }
+
+ /** get GeneticModificationsCodeSequence (0010,0229)
+ * @return const reference to sequence element
+ */
+ const DRTGeneticModificationsCodeSequence &getGeneticModificationsCodeSequence() const
+ { return GeneticModificationsCodeSequence; }
+
+ // --- set DICOM attribute values ---
+
+ /** set GeneticModificationsDescription (0010,0222)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setGeneticModificationsDescription(const OFString &value, const OFBool check = OFTrue);
+
+ /** set GeneticModificationsNomenclature (0010,0223)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setGeneticModificationsNomenclature(const OFString &value, const OFBool check = OFTrue);
+
+ private:
+
+ /// internal flag used to mark the empty default item
+ /*const*/ OFBool EmptyDefaultItem;
+
+ /// GeneticModificationsCodeSequence (0010,0229) vr=SQ, vm=1, type=3
+ DRTGeneticModificationsCodeSequence GeneticModificationsCodeSequence;
+ /// GeneticModificationsDescription (0010,0222) vr=UC, vm=1, type=1
+ DcmUnlimitedCharacters GeneticModificationsDescription;
+ /// GeneticModificationsNomenclature (0010,0223) vr=LO, vm=1, type=1
+ DcmLongString GeneticModificationsNomenclature;
+
+ };
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultSequence internal flag used to mark the empty default sequence
+ */
+ DRTGeneticModificationsSequence(const OFBool emptyDefaultSequence = OFFalse);
+
+ /** copy constructor
+ * @param copy sequence object to be copied
+ */
+ DRTGeneticModificationsSequence(const DRTGeneticModificationsSequence ©);
+
+ /** destructor
+ */
+ virtual ~DRTGeneticModificationsSequence();
+
+ /** assigment operator
+ * @param copy sequence object to be copied
+ * @return reference to this object
+ */
+ DRTGeneticModificationsSequence &operator=(const DRTGeneticModificationsSequence ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if sequence is empty
+ * @return OFTrue if sequence is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if sequence is valid, i.e.\ not the empty default sequence
+ * @return OFTrue if sequence is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ /** get number of items in the sequence
+ * @return number of items
+ */
+ size_t getNumberOfItems() const;
+
+ /** goto first item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoFirstItem();
+
+ /** goto next item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoNextItem();
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const size_t num);
+
+ /** get current item in the sequence
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCurrentItem(Item *&item) const;
+
+ /** get current item in the sequence
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getCurrentItem();
+
+ /** get current item in the sequence
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getCurrentItem() const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getItem(const size_t num, Item *&item);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getItem(const size_t num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getItem(const size_t num) const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &operator[](const size_t num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &operator[](const size_t num) const;
+
+ /** add new item to the end of this sequence
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addItem(Item *&item);
+
+ /** insert new item into the sequence
+ * @param pos position where the new item is to be inserted (0..num)
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition insertItem(const size_t pos, Item *&item);
+
+ /** remove particular item from the sequence
+ * @param pos position of the item to be removed (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition removeItem(const size_t pos);
+
+ // --- input/output methods ---
+
+ /** read sequence of items from dataset
+ * @param dataset reference to DICOM dataset from which the sequence should be read
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "1C", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ /** write sequence of items to dataset
+ * @param dataset reference to DICOM dataset to which the sequence should be written
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ protected:
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const size_t num,
+ OFListIterator(Item *) &iterator);
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const size_t num,
+ OFListConstIterator(Item *) &iterator) const;
+
+ private:
+
+ /// internal flag used to mark the empty default sequence
+ /*const*/ OFBool EmptyDefaultSequence;
+
+ /// list of items in this sequence
+ OFList<Item *> SequenceOfItems;
+ /// currently selected item
+ OFListIterator(Item *) CurrentItem;
+ /// empty default item
+ Item EmptyItem;
+
+};
+
+
+#endif
*
* Header file for class DRTGroupOfPatientsIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTHL7StructuredDocumentReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIssuerOfAdmissionIDSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIssuerOfAccessionNumberSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIonBeamLimitingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIonBlockSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIonBeamSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIonControlPointDeliverySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIonControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTInstitutionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIconImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIssuerOfPatientIDQualifiersSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIonRangeCompensatorSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIssuerOfServiceEpisodeIDSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIonToleranceTableSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIonWedgePositionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTIonWedgeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTLateralSpreadingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTLateralSpreadingDeviceSettingsSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTLateralSpreadingDeviceSettingsSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTMultiplexedAudioChannelsDescriptionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTModifiedAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTMeasuredDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTModalityLUTSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTMACParametersSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTMappingResourceIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTMotionSynchronizationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTMeasurementUnitsCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTOriginalAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTOperatorIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTOtherPatientIDsSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTOverrideSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPatientBreedCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTProtocolContextSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPrivateDataElementCharacteristicsSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPrivateDataElementDefinitionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPrimaryFluenceModeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPersonIdentificationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPurposeOfReferenceCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPhysiciansOfRecordIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPerformedProtocolCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPhysiciansReadingStudyIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPatientSpeciesCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPatientSizeCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPatientSetupSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPredecessorStructureSetSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTPlannedVerificationImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTQuantityDefinitionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRequestAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedBrachyApplicationSetupSequenceInRTDoseModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRecordedBlockSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedBolusSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedBolusSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedBolusSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedBeamSequenceInRTDoseModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedBeamSequenceInRTGeneralTreatmentRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedBeamSequenceInRTFractionSchemeModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedCalculatedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRecordedCompensatorSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTROIContourSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRTDoseROISequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedDoseReferenceSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedDoseReferenceSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedDoseReferenceSequenceInRTFractionSchemeModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedDoseSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTROIElementalCompositionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedFractionGroupSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedFrameOfReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRTROIIdentificationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedInstanceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRecordedLateralSpreadingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedMeasuredDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRangeModulatorSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRangeModulatorSettingsSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRangeModulatorSettingsSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRequestedProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferringPhysicianIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReasonForPerformedProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedPatientPhotoSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTROIPhysicalPropertiesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedPerformedProcedureStepSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedPatientSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedReferenceImageSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedReferenceImageSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedReferenceImageSequenceInRTBrachyApplicationSetupsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRecordedRangeModulatorSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRTROIObservationsSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReasonForRequestedProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRelatedRTROIObservationsSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRTRelatedROISequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRecordedRangeShifterSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedRTPlanSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedRTPlanSequenceInRTGeneralPlanModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedRTPlanSequenceInRTGeneralTreatmentRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedRTPlanSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRequestingServiceCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedSeriesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRTReferencedSeriesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRangeShifterSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRangeShifterSettingsSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRangeShifterSettingsSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedSetupImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRecordedSnoutSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedSOPSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedSpatialRegistrationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedStudySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedStructureSetSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRTReferencedStudySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedTreatmentRecordSequenceInRTDoseModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedTreatmentRecordSequenceInRTGeneralTreatmentRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTReferencedVerificationImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRecordedWedgeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTRealWorldValueMappingSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTStudiesContainingOtherReferencedInstancesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTStrainCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTSeriesDescriptionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTSetupDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTShieldingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTSourceInstanceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTSourceImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTSnoutSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTSegmentedPropertyCategoryCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTScheduledProtocolCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTSourcePatientGroupIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTSegmentedPropertyTypeModifierCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTSourceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTStrainSourceRegistryCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTStructureSetROISequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTStrainStockSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTTreatmentMachineSequenceInRTTreatmentMachineRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTTreatmentMachineSequenceInRTBrachyApplicationSetupsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTTreatmentSummaryCalculatedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTTreatmentSessionIonBeamSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTTreatmentSummaryMeasuredDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTToleranceTableSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTUDISequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTVOILUTSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTWedgePositionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTWADORetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTWADORSRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTWedgeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Header file for class DRTXDSRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
# create library from source files
-DCMTK_ADD_LIBRARY(dcmrt drtdose drtimage drtplan drtstrct drttreat drtionpl drtiontr drmdose drmimage drmplan drmstrct drttypes drtaadcs drtadcs drtads drtafs drtags drtajcs drtas1 drtas5 drtas6 drtas7 drtass drtbads drtbas drtbcps drtbl2 drtbl5 drtbldls drtbldps drtblds1 drtblds5 drtblds6 drtbldts drtbrcss drtbrdrs drtbrs drtbs drtbss drtbvcps drtcbars drtccs drtcctus drtcdrs drtces drtcgis drtchs drtcims drtcis drtcncs drtcos drtcpas drtcpis drtcps drtcsas drtcs drtcshs drtcsis drtcss drtdcs drtdddps drtddps drtdias drtdimcs drtdimrs drtdirs drtdrs drtds drtdspcs drtdss drtdvhs drtdvrrs drteas drtecs drtes drtfds drtfes drtfgs drtfgss drtfms drtfsss drtgas drtgpis drthsdrs drtiais drtians drtiblds drtibls drtibs drticpds drticps drtics drtiis drtipiqs drtircs drtiseis drtitts drtiwps drtiws drtlsds6 drtlsds7 drtlsds drtmacds drtmas drtmdrs drtmls drtmps drtmris drtmss drtmucs drtoas drtois drtopis drtos drtpbcs drtpcs drtpcxs drtpdecs drtpdeds drtpfms drtpics drtporcs drtporis drtppcs drtprsis drtpscs drtpsics drtpss drtpsss drtpvis drtqds drtras drtrbas2 drtrbas8 drtrbls drtrbos1 drtrbos6 drtrbos7 drtrbs2 drtrbs4 drtrbs8 drtrcdrs drtrcos drtrcps drtrcs drtrdros drtrdrs1 drtrdrs6 drtrdrs8 drtrds drtrecs drtrfgs drtrfors drtrics drtrims drtris drtrlsds drtrmdrs drtrms drtrmss6 drtrmss7 drtrpcs drtrpis drtrppcs drtrpphs drtrpps drtrppss drtrps drtrris1 drtrris6 drtrris9 drtrrms drtrros drtrrpcs drtrrros drtrrs drtrrshs drtrrtps3 drtrrtps4 drtrrtps5 drtrrtps drtrscs drtrsers drtrses drtrshs6 drtrshs7 drtrshs drtrsis drtrsns drtrsos drtrsrs drtrss drtrsss drtrsts drtrtrs2 drtrtrs4 drtrvis drtwrsrs drtrws drtrwvms drtscris drtscs drtsdcs drtsds drtshds drtsins drtsis drtsns drtspccs drtspcs drtspgis drtsptcs drtss drtssrcs drtssrs drtsss drttms0 drttms9 drttscds drttsibs drttsmds drttts drtudis drtvls drtwps drtwrs drtws drtxrs)
+DCMTK_ADD_LIBRARY(dcmrt drtdose drtimage drtplan drtstrct drttreat drtionpl drtiontr drmdose drmimage drmplan drmstrct drttypes drtaadcs drtadcs drtads drtafs drtags drtajcs drtas1 drtas5 drtas6 drtas7 drtass drtbads drtbas drtbcps drtbl2 drtbl5 drtbldls drtbldps drtblds1 drtblds5 drtblds6 drtbldts drtbrcss drtbrdrs drtbrs drtbs drtbss drtbvcps drtcbars drtccs drtcctus drtcdrs drtces drtcgis drtchs drtcims drtcis drtcncs drtcos drtcpas drtcpis drtcps drtcsas drtcs drtcshs drtcsis drtcss drtdcs drtdddps drtddps drtdias drtdimcs drtdimrs drtdirs drtdrs drtds drtdspcs drtdss drtdvhs drtdvrrs drteas drtecs drtes drtfds drtfes drtfgs drtfgss drtfms drtfsss drtgas drtgmcs drtgms drtgpis drthsdrs drtiais drtians drtiblds drtibls drtibs drticpds drticps drtics drtiis drtipiqs drtircs drtiseis drtitts drtiwps drtiws drtlsds6 drtlsds7 drtlsds drtmacds drtmas drtmdrs drtmls drtmps drtmris drtmss drtmucs drtoas drtois drtopis drtos drtpbcs drtpcs drtpcxs drtpdecs drtpdeds drtpfms drtpics drtporcs drtporis drtppcs drtprsis drtpscs drtpsics drtpss drtpsss drtpvis drtqds drtras drtrbas2 drtrbas8 drtrbls drtrbos1 drtrbos6 drtrbos7 drtrbs2 drtrbs4 drtrbs8 drtrcdrs drtrcos drtrcps drtrcs drtrdros drtrdrs1 drtrdrs6 drtrdrs8 drtrds drtrecs drtrfgs drtrfors drtrics drtrims drtris drtrlsds drtrmdrs drtrms drtrmss6 drtrmss7 drtrpcs drtrpis drtrppcs drtrpphs drtrpps drtrppss drtrps drtrris1 drtrris6 drtrris9 drtrrms drtrros drtrrpcs drtrrros drtrrs drtrrshs drtrrtps3 drtrrtps4 drtrrtps5 drtrrtps drtrscs drtrsers drtrses drtrshs6 drtrshs7 drtrshs drtrsis drtrsns drtrsos drtrsrs drtrss drtrsss drtrsts drtrtrs2 drtrtrs4 drtrvis drtwrsrs drtrws drtrwvms drtscris drtscs drtsdcs drtsds drtshds drtsins drtsis drtsns drtspccs drtspcs drtspgis drtsptcs drtss drtssrcs drtssrs drtsss drttms0 drttms9 drttscds drttsibs drttsmds drttts drtudis drtvls drtwps drtwrs drtws drtxrs)
DCMTK_TARGET_LINK_MODULES(dcmrt ofstd oflog dcmdata dcmimgle)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtdss.h \
../include/dcmtk/dcmrt/seq/drtdspcs.h \
../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtfes.h \
+ ../include/dcmtk/dcmrt/seq/drtgms.h ../include/dcmtk/dcmrt/seq/drtgmcs.h \
../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtblds5.h \
../include/dcmtk/dcmrt/seq/drtbl5.h ../include/dcmtk/dcmrt/seq/drtgas.h \
../include/dcmtk/dcmrt/seq/drtpfms.h ../include/dcmtk/dcmrt/seq/drtfms.h \
- ../include/dcmtk/dcmrt/seq/drtfes.h ../include/dcmtk/dcmrt/seq/drtgpis.h \
+ ../include/dcmtk/dcmrt/seq/drtfes.h ../include/dcmtk/dcmrt/seq/drtgms.h \
+ ../include/dcmtk/dcmrt/seq/drtgmcs.h \
+ ../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtbvcps.h \
../include/dcmtk/dcmrt/seq/drtrbas8.h \
../include/dcmtk/dcmrt/seq/drtrdrs8.h \
+ ../include/dcmtk/dcmrt/seq/drtgms.h ../include/dcmtk/dcmrt/seq/drtgmcs.h \
../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtdimcs.h \
../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtdss.h \
../include/dcmtk/dcmrt/seq/drtdspcs.h \
- ../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtgpis.h \
+ ../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtgms.h \
+ ../include/dcmtk/dcmrt/seq/drtgmcs.h \
+ ../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
- ../../oflog/include/dcmtk/oflog/layout.h \
- ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/thread/syncprim.h \
../../oflog/include/dcmtk/oflog/spi/filter.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtdss.h \
../include/dcmtk/dcmrt/seq/drtdspcs.h \
../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtfes.h \
+ ../include/dcmtk/dcmrt/seq/drtgms.h ../include/dcmtk/dcmrt/seq/drtgmcs.h \
../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtgpis.o: drtgpis.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtgpis.h \
+drtgmcs.o: drtgmcs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtgmcs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtipiqs.h \
- ../include/dcmtk/dcmrt/seq/drtaadcs.h \
- ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtafs.h \
- ../include/dcmtk/dcmrt/seq/drtajcs.h
-drthsdrs.o: drthsdrs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drthsdrs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
+drtgms.o: drtgms.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtgms.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtiais.o: drtiais.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtiais.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtgmcs.h ../include/dcmtk/dcmrt/seq/drtecs.h
+drtgpis.o: drtgpis.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtgpis.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtians.o: drtians.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtians.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtipiqs.h \
+ ../include/dcmtk/dcmrt/seq/drtaadcs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtafs.h \
+ ../include/dcmtk/dcmrt/seq/drtajcs.h
+drthsdrs.o: drthsdrs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drthsdrs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtiblds.o: drtiblds.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtiblds.h \
+drtiais.o: drtiais.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtiais.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+drtians.o: drtians.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtians.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/dcmrt/drttypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+drtiblds.o: drtiblds.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtiblds.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/dcmrt/drttypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtblds5.h \
../include/dcmtk/dcmrt/seq/drtbl5.h ../include/dcmtk/dcmrt/seq/drtgas.h \
../include/dcmtk/dcmrt/seq/drtpfms.h ../include/dcmtk/dcmrt/seq/drtfms.h \
- ../include/dcmtk/dcmrt/seq/drtfes.h ../include/dcmtk/dcmrt/seq/drtgpis.h \
+ ../include/dcmtk/dcmrt/seq/drtfes.h ../include/dcmtk/dcmrt/seq/drtgms.h \
+ ../include/dcmtk/dcmrt/seq/drtgmcs.h \
+ ../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtbvcps.h \
../include/dcmtk/dcmrt/seq/drtrbas8.h \
../include/dcmtk/dcmrt/seq/drtrdrs8.h \
- ../include/dcmtk/dcmrt/seq/drtrds.h ../include/dcmtk/dcmrt/seq/drtgpis.h \
+ ../include/dcmtk/dcmrt/seq/drtrds.h ../include/dcmtk/dcmrt/seq/drtgms.h \
+ ../include/dcmtk/dcmrt/seq/drtgmcs.h \
+ ../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtdss.h \
../include/dcmtk/dcmrt/seq/drtdspcs.h \
../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtfgss.h \
- ../include/dcmtk/dcmrt/seq/drtfsss.h \
+ ../include/dcmtk/dcmrt/seq/drtfsss.h ../include/dcmtk/dcmrt/seq/drtgms.h \
+ ../include/dcmtk/dcmrt/seq/drtgmcs.h \
../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtbvcps.h \
../include/dcmtk/dcmrt/seq/drtrbas8.h \
../include/dcmtk/dcmrt/seq/drtrdrs8.h \
+ ../include/dcmtk/dcmrt/seq/drtgms.h ../include/dcmtk/dcmrt/seq/drtgmcs.h \
../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtdimcs.h \
../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtdss.h \
../include/dcmtk/dcmrt/seq/drtdspcs.h \
- ../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtgpis.h \
+ ../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtgms.h \
+ ../include/dcmtk/dcmrt/seq/drtgmcs.h \
+ ../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtdss.h \
../include/dcmtk/dcmrt/seq/drtdspcs.h \
../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtfgss.h \
- ../include/dcmtk/dcmrt/seq/drtfsss.h \
+ ../include/dcmtk/dcmrt/seq/drtfsss.h ../include/dcmtk/dcmrt/seq/drtgms.h \
+ ../include/dcmtk/dcmrt/seq/drtgmcs.h \
../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
drtcims.o drtcis.o drtcncs.o drtcos.o drtcpas.o drtcpis.o drtcps.o \
drtcsas.o drtcs.o drtcshs.o drtcsis.o drtcss.o drtdcs.o drtdddps.o \
drtddps.o drtdias.o drtdimcs.o drtdimrs.o drtdirs.o drtdrs.o drtds.o \
- drtdspcs.o drtdss.o drtdvhs.o drtdvrrs.o drteas.o drtecs.o drtes.o \
- drtfds.o drtfes.o drtfgs.o drtfgss.o drtfms.o drtfsss.o drtgas.o \
- drtgpis.o drthsdrs.o drtiais.o drtians.o drtiblds.o drtibls.o drtibs.o \
- drticpds.o drticps.o drtics.o drtiis.o drtipiqs.o drtircs.o drtiseis.o \
- drtitts.o drtiwps.o drtiws.o drtlsds6.o drtlsds7.o drtlsds.o drtmacds.o \
- drtmas.o drtmdrs.o drtmls.o drtmps.o drtmris.o drtmss.o drtmucs.o \
- drtoas.o drtois.o drtopis.o drtos.o drtpbcs.o drtpcs.o drtpcxs.o \
- drtpdecs.o drtpdeds.o drtpfms.o drtpics.o drtporcs.o drtporis.o \
+ drtdspcs.o drtdss.o drtdvhs.o drtdvrrs.o drteas.o drtecs.o drtes.o \
+ drtfds.o drtfes.o drtfgs.o drtfgss.o drtfms.o drtfsss.o drtgas.o \
+ drtgmcs.o drtgms.o drtgpis.o drthsdrs.o drtiais.o drtians.o drtiblds.o \
+ drtibls.o drtibs.o drticpds.o drticps.o drtics.o drtiis.o drtipiqs.o \
+ drtircs.o drtiseis.o drtitts.o drtiwps.o drtiws.o drtlsds6.o drtlsds7.o \
+ drtlsds.o drtmacds.o drtmas.o drtmdrs.o drtmls.o drtmps.o drtmris.o \
+ drtmss.o drtmucs.o drtoas.o drtois.o drtopis.o drtos.o drtpbcs.o drtpcs.o \
+ drtpcxs.o drtpdecs.o drtpdeds.o drtpfms.o drtpics.o drtporcs.o drtporis.o \
drtppcs.o drtprsis.o drtpscs.o drtpsics.o drtpss.o drtpsss.o drtpvis.o \
drtqds.o drtras.o drtrbas2.o drtrbas8.o drtrbls.o drtrbos1.o drtrbos6.o \
drtrbos7.o drtrbs2.o drtrbs4.o drtrbs8.o drtrcdrs.o drtrcos.o drtrcps.o \
- drtrcs.o drtrdros.o drtrdrs1.o drtrdrs6.o drtrdrs8.o drtrds.o drtrecs.o \
+ drtrcs.o drtrdros.o drtrdrs1.o drtrdrs6.o drtrdrs8.o drtrds.o drtrecs.o \
drtrfgs.o drtrfors.o drtrics.o drtrims.o drtris.o drtrlsds.o drtrmdrs.o \
drtrms.o drtrmss6.o drtrmss7.o drtrpcs.o drtrpis.o drtrppcs.o drtrpphs.o \
drtrpps.o drtrppss.o drtrps.o drtrris1.o drtrris6.o drtrris9.o drtrrms.o \
*
* Source file for class DRTAssigningAgencyOrDepartmentCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTAdmittingDiagnosesCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTAdditionalDrugSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTAssigningFacilitySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTApplicatorGeometrySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTAssigningJurisdictionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTApplicatorSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTApplicatorSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTApplicatorSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTApplicatorSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTApplicationSetupSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBrachyAccessoryDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTContrastBolusAgentSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBrachyControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBlockSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBlockSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBeamLimitingDeviceLeafPairsSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBeamLimitingDevicePositionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBeamLimitingDeviceSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBeamLimitingDeviceSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBeamLimitingDeviceSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBeamLimitingDeviceToleranceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBreedRegistryCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBrachyReferencedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBreedRegistrationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBeamSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBlockSlabSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTBeamDoseVerificationControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTContrastBolusAdministrationRouteSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTConceptCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTConsentForClinicalTrialUseSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTCalculatedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTContributingEquipmentSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTContextGroupIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTChannelSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTContentItemModifierSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTContourImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTConceptNameCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTCompensatorSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTCorrectedParameterSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTConsultingPhysicianIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTContourSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTConversionSourceAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTChannelShieldSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTCodingSchemeIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTChannelSourceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDerivationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDeliveredDepthDoseParametersSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDepthDoseParametersSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDeidentificationActionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDeidentificationMethodCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDICOMMediaRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDICOMRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDoseIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
+ * Last modified on 2017-06-15 by Riesmeier
*
*/
QualityControlSubject(DCM_QualityControlSubject),
ReferencedPatientSequence(),
PatientBirthTime(DCM_PatientBirthTime),
- OtherPatientIDs(DCM_OtherPatientIDs),
+ OtherPatientIDs(DCM_RETIRED_OtherPatientIDs),
OtherPatientIDsSequence(),
OtherPatientNames(DCM_OtherPatientNames),
EthnicGroup(DCM_EthnicGroup),
StrainCodeSequence(),
StrainAdditionalInformation(DCM_StrainAdditionalInformation),
StrainStockSequence(),
+ GeneticModificationsSequence(),
ResponsiblePerson(DCM_ResponsiblePerson),
ResponsiblePersonRole(DCM_ResponsiblePersonRole),
ResponsibleOrganization(DCM_ResponsibleOrganization),
StrainCodeSequence(copy.StrainCodeSequence),
StrainAdditionalInformation(copy.StrainAdditionalInformation),
StrainStockSequence(copy.StrainStockSequence),
+ GeneticModificationsSequence(copy.GeneticModificationsSequence),
ResponsiblePerson(copy.ResponsiblePerson),
ResponsiblePersonRole(copy.ResponsiblePersonRole),
ResponsibleOrganization(copy.ResponsibleOrganization),
StrainCodeSequence = copy.StrainCodeSequence;
StrainAdditionalInformation = copy.StrainAdditionalInformation;
StrainStockSequence = copy.StrainStockSequence;
+ GeneticModificationsSequence = copy.GeneticModificationsSequence;
ResponsiblePerson = copy.ResponsiblePerson;
ResponsiblePersonRole = copy.ResponsiblePersonRole;
ResponsibleOrganization = copy.ResponsibleOrganization;
StrainCodeSequence.clear();
StrainAdditionalInformation.clear();
StrainStockSequence.clear();
+ GeneticModificationsSequence.clear();
ResponsiblePerson.clear();
ResponsiblePersonRole.clear();
ResponsibleOrganization.clear();
StrainCodeSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, StrainAdditionalInformation, "1", "3", "PatientModule");
StrainStockSequence.read(dataset, "1-n", "3", "PatientModule");
+ GeneticModificationsSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePerson, "1", "2C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePersonRole, "1", "1C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsibleOrganization, "1", "2C", "PatientModule");
if (result.good()) result = StrainCodeSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmUnlimitedText(StrainAdditionalInformation), "1", "3", "PatientModule");
if (result.good()) result = StrainStockSequence.write(dataset, "1-n" ,"3", "PatientModule");
+ if (result.good()) result = GeneticModificationsSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmPersonName(ResponsiblePerson), "1", "2C", "PatientModule");
addElementToDataset(result, dataset, new DcmCodeString(ResponsiblePersonRole), "1", "1C", "PatientModule");
addElementToDataset(result, dataset, new DcmLongString(ResponsibleOrganization), "1", "2C", "PatientModule");
*
* Source file for class DRTDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDigitalSignaturePurposeCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDigitalSignaturesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDVHSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTDVHReferencedROISequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTEncryptedAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTEquivalentCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTExposureSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTFixationDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTFrameExtractionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTFractionGroupSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTFractionGroupSummarySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTFluenceMapSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTFractionStatusSummarySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTGeneralAccessorySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class DRTGeneticModificationsCodeSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/dcmrt/seq/drtgmcs.h"
+
+
+// --- item class ---
+
+DRTGeneticModificationsCodeSequence::Item::Item(const OFBool emptyDefaultItem)
+ : EmptyDefaultItem(emptyDefaultItem),
+ CodeMeaning(DCM_CodeMeaning),
+ CodeValue(DCM_CodeValue),
+ CodingSchemeDesignator(DCM_CodingSchemeDesignator),
+ CodingSchemeVersion(DCM_CodingSchemeVersion),
+ ContextGroupExtensionCreatorUID(DCM_ContextGroupExtensionCreatorUID),
+ ContextGroupExtensionFlag(DCM_ContextGroupExtensionFlag),
+ ContextGroupLocalVersion(DCM_ContextGroupLocalVersion),
+ ContextGroupVersion(DCM_ContextGroupVersion),
+ ContextIdentifier(DCM_ContextIdentifier),
+ ContextUID(DCM_ContextUID),
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceName(DCM_MappingResourceName),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
+{
+}
+
+
+DRTGeneticModificationsCodeSequence::Item::Item(const Item ©)
+ : EmptyDefaultItem(copy.EmptyDefaultItem),
+ CodeMeaning(copy.CodeMeaning),
+ CodeValue(copy.CodeValue),
+ CodingSchemeDesignator(copy.CodingSchemeDesignator),
+ CodingSchemeVersion(copy.CodingSchemeVersion),
+ ContextGroupExtensionCreatorUID(copy.ContextGroupExtensionCreatorUID),
+ ContextGroupExtensionFlag(copy.ContextGroupExtensionFlag),
+ ContextGroupLocalVersion(copy.ContextGroupLocalVersion),
+ ContextGroupVersion(copy.ContextGroupVersion),
+ ContextIdentifier(copy.ContextIdentifier),
+ ContextUID(copy.ContextUID),
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceName(copy.MappingResourceName),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
+{
+}
+
+
+DRTGeneticModificationsCodeSequence::Item::~Item()
+{
+}
+
+
+DRTGeneticModificationsCodeSequence::Item &DRTGeneticModificationsCodeSequence::Item::operator=(const Item ©)
+{
+ if (this != ©)
+ {
+ EmptyDefaultItem = copy.EmptyDefaultItem;
+ CodeMeaning = copy.CodeMeaning;
+ CodeValue = copy.CodeValue;
+ CodingSchemeDesignator = copy.CodingSchemeDesignator;
+ CodingSchemeVersion = copy.CodingSchemeVersion;
+ ContextGroupExtensionCreatorUID = copy.ContextGroupExtensionCreatorUID;
+ ContextGroupExtensionFlag = copy.ContextGroupExtensionFlag;
+ ContextGroupLocalVersion = copy.ContextGroupLocalVersion;
+ ContextGroupVersion = copy.ContextGroupVersion;
+ ContextIdentifier = copy.ContextIdentifier;
+ ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
+ MappingResource = copy.MappingResource;
+ MappingResourceName = copy.MappingResourceName;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
+ }
+ return *this;
+}
+
+
+void DRTGeneticModificationsCodeSequence::Item::clear()
+{
+ if (!EmptyDefaultItem)
+ {
+ /* clear all DICOM attributes */
+ CodeValue.clear();
+ CodingSchemeDesignator.clear();
+ CodingSchemeVersion.clear();
+ CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
+ ContextIdentifier.clear();
+ ContextUID.clear();
+ MappingResource.clear();
+ MappingResourceUID.clear();
+ MappingResourceName.clear();
+ ContextGroupVersion.clear();
+ ContextGroupExtensionFlag.clear();
+ ContextGroupLocalVersion.clear();
+ ContextGroupExtensionCreatorUID.clear();
+ }
+}
+
+
+OFBool DRTGeneticModificationsCodeSequence::Item::isEmpty()
+{
+ return CodeValue.isEmpty() &&
+ CodingSchemeDesignator.isEmpty() &&
+ CodingSchemeVersion.isEmpty() &&
+ CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
+ ContextIdentifier.isEmpty() &&
+ ContextUID.isEmpty() &&
+ MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
+ MappingResourceName.isEmpty() &&
+ ContextGroupVersion.isEmpty() &&
+ ContextGroupExtensionFlag.isEmpty() &&
+ ContextGroupLocalVersion.isEmpty() &&
+ ContextGroupExtensionCreatorUID.isEmpty();
+}
+
+
+OFBool DRTGeneticModificationsCodeSequence::Item::isValid() const
+{
+ return !EmptyDefaultItem;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::read(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ /* re-initialize object */
+ clear();
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "GeneticModificationsCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, ContextUID, "1", "3", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceName, "1", "3", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "GeneticModificationsCodeSequence");
+ getAndCheckElementFromDataset(item, ContextGroupExtensionCreatorUID, "1", "1C", "GeneticModificationsCodeSequence");
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::write(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = EC_Normal;
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "GeneticModificationsCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmLongString(MappingResourceName), "1", "3", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "GeneticModificationsCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(ContextGroupExtensionCreatorUID), "1", "1C", "GeneticModificationsCodeSequence");
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getCodeMeaning(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(CodeMeaning, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(CodeValue, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getCodingSchemeDesignator(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(CodingSchemeDesignator, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getCodingSchemeVersion(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(CodingSchemeVersion, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getContextGroupExtensionCreatorUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(ContextGroupExtensionCreatorUID, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getContextGroupExtensionFlag(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(ContextGroupExtensionFlag, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getContextGroupLocalVersion(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(ContextGroupLocalVersion, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getContextGroupVersion(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(ContextGroupVersion, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getContextIdentifier(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(ContextIdentifier, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getContextUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(ContextUID, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResource, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getMappingResourceName(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceName, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = CodeMeaning.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = CodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setCodingSchemeDesignator(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = CodingSchemeDesignator.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setCodingSchemeVersion(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = CodingSchemeVersion.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setContextGroupExtensionCreatorUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = ContextGroupExtensionCreatorUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setContextGroupExtensionFlag(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = ContextGroupExtensionFlag.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setContextGroupLocalVersion(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmDateTime::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = ContextGroupLocalVersion.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setContextGroupVersion(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmDateTime::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = ContextGroupVersion.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setContextIdentifier(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = ContextIdentifier.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setContextUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = ContextUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResource.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setMappingResourceName(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceName.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+// --- sequence class ---
+
+DRTGeneticModificationsCodeSequence::DRTGeneticModificationsCodeSequence(const OFBool emptyDefaultSequence)
+ : EmptyDefaultSequence(emptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ CurrentItem = SequenceOfItems.end();
+}
+
+
+DRTGeneticModificationsCodeSequence::DRTGeneticModificationsCodeSequence(const DRTGeneticModificationsCodeSequence ©)
+ : EmptyDefaultSequence(copy.EmptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+}
+
+
+DRTGeneticModificationsCodeSequence &DRTGeneticModificationsCodeSequence::operator=(const DRTGeneticModificationsCodeSequence ©)
+{
+ if (this != ©)
+ {
+ clear();
+ EmptyDefaultSequence = copy.EmptyDefaultSequence;
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+ }
+ return *this;
+}
+
+
+DRTGeneticModificationsCodeSequence::~DRTGeneticModificationsCodeSequence()
+{
+ clear();
+}
+
+
+void DRTGeneticModificationsCodeSequence::clear()
+{
+ if (!EmptyDefaultSequence)
+ {
+ CurrentItem = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* delete all items and free memory */
+ while (CurrentItem != last)
+ {
+ delete (*CurrentItem);
+ CurrentItem = SequenceOfItems.erase(CurrentItem);
+ }
+ /* make sure that the list is empty */
+ SequenceOfItems.clear();
+ CurrentItem = SequenceOfItems.end();
+ }
+}
+
+
+OFBool DRTGeneticModificationsCodeSequence::isEmpty()
+{
+ return SequenceOfItems.empty();
+}
+
+
+OFBool DRTGeneticModificationsCodeSequence::isValid() const
+{
+ return !EmptyDefaultSequence;
+}
+
+
+size_t DRTGeneticModificationsCodeSequence::getNumberOfItems() const
+{
+ return SequenceOfItems.size();
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::gotoFirstItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ CurrentItem = SequenceOfItems.begin();
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::gotoNextItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ ++CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::gotoItem(const size_t num, OFListIterator(Item *) &iterator)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ size_t idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::gotoItem(const size_t num, OFListConstIterator(Item *) &iterator) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ size_t idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::gotoItem(const size_t num)
+{
+ return gotoItem(num, CurrentItem);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::getCurrentItem(Item *&item) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ item = *CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+DRTGeneticModificationsCodeSequence::Item &DRTGeneticModificationsCodeSequence::getCurrentItem()
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+const DRTGeneticModificationsCodeSequence::Item &DRTGeneticModificationsCodeSequence::getCurrentItem() const
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::getItem(const size_t num, Item *&item)
+{
+ OFListIterator(Item *) iterator;
+ OFCondition result = gotoItem(num, iterator);
+ if (result.good())
+ item = *iterator;
+ return result;
+}
+
+
+DRTGeneticModificationsCodeSequence::Item &DRTGeneticModificationsCodeSequence::getItem(const size_t num)
+{
+ OFListIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+const DRTGeneticModificationsCodeSequence::Item &DRTGeneticModificationsCodeSequence::getItem(const size_t num) const
+{
+ OFListConstIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+DRTGeneticModificationsCodeSequence::Item &DRTGeneticModificationsCodeSequence::operator[](const size_t num)
+{
+ return getItem(num);
+}
+
+
+const DRTGeneticModificationsCodeSequence::Item &DRTGeneticModificationsCodeSequence::operator[](const size_t num) const
+{
+ return getItem(num);
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::addItem(Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::insertItem(const size_t pos, Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ result = gotoItem(pos, iterator);
+ if (result.good())
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.insert(iterator, 1, item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = addItem(item);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::removeItem(const size_t pos)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ if (gotoItem(pos, iterator).good())
+ {
+ delete *iterator;
+ iterator = SequenceOfItems.erase(iterator);
+ result = EC_Normal;
+ } else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ /* re-initialize object */
+ clear();
+ /* retrieve sequence element from dataset */
+ DcmSequenceOfItems *sequence;
+ result = dataset.findAndGetSequence(DCM_GeneticModificationsCodeSequence, sequence);
+ if (sequence != NULL)
+ {
+ if (checkElementValue(*sequence, card, type, result, moduleName))
+ {
+ DcmStack stack;
+ OFBool first = OFTrue;
+ /* iterate over all sequence items */
+ while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good())
+ {
+ DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top());
+ if (ditem != NULL)
+ {
+ Item *item = new Item();
+ if (item != NULL)
+ {
+ result = item->read(*ditem);
+ if (result.good())
+ {
+ /* append new item to the end of the list */
+ SequenceOfItems.push_back(item);
+ first = OFFalse;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = EC_CorruptedData;
+ }
+ }
+ } else {
+ DcmSequenceOfItems element(DCM_GeneticModificationsCodeSequence);
+ checkElementValue(element, card, type, result, moduleName);
+ }
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsCodeSequence::write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ result = EC_MemoryExhausted;
+ DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_GeneticModificationsCodeSequence);
+ if (sequence != NULL)
+ {
+ result = EC_Normal;
+ /* an empty optional sequence is not written */
+ if ((type == "2") || !SequenceOfItems.empty())
+ {
+ OFListIterator(Item *) iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* iterate over all sequence items */
+ while (result.good() && (iterator != last))
+ {
+ DcmItem *item = new DcmItem();
+ if (item != NULL)
+ {
+ /* append new item to the end of the sequence */
+ result = sequence->append(item);
+ if (result.good())
+ {
+ result = (*iterator)->write(*item);
+ ++iterator;
+ } else
+ delete item;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ if (result.good())
+ {
+ /* insert sequence element into the dataset */
+ result = dataset.insert(sequence, OFTrue /*replaceOld*/);
+ }
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ if (result.good())
+ {
+ /* forget reference to sequence object (avoid deletion below) */
+ sequence = NULL;
+ }
+ }
+ else if (type == "1")
+ {
+ /* empty type 1 sequence not allowed */
+ result = RT_EC_InvalidValue;
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ }
+ /* delete sequence (if not inserted into the dataset) */
+ delete sequence;
+ }
+ }
+ return result;
+}
+
+
+// end of source file
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class DRTGeneticModificationsSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/dcmrt/seq/drtgms.h"
+
+
+// --- item class ---
+
+DRTGeneticModificationsSequence::Item::Item(const OFBool emptyDefaultItem)
+ : EmptyDefaultItem(emptyDefaultItem),
+ GeneticModificationsCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ GeneticModificationsDescription(DCM_GeneticModificationsDescription),
+ GeneticModificationsNomenclature(DCM_GeneticModificationsNomenclature)
+{
+}
+
+
+DRTGeneticModificationsSequence::Item::Item(const Item ©)
+ : EmptyDefaultItem(copy.EmptyDefaultItem),
+ GeneticModificationsCodeSequence(copy.GeneticModificationsCodeSequence),
+ GeneticModificationsDescription(copy.GeneticModificationsDescription),
+ GeneticModificationsNomenclature(copy.GeneticModificationsNomenclature)
+{
+}
+
+
+DRTGeneticModificationsSequence::Item::~Item()
+{
+}
+
+
+DRTGeneticModificationsSequence::Item &DRTGeneticModificationsSequence::Item::operator=(const Item ©)
+{
+ if (this != ©)
+ {
+ EmptyDefaultItem = copy.EmptyDefaultItem;
+ GeneticModificationsCodeSequence = copy.GeneticModificationsCodeSequence;
+ GeneticModificationsDescription = copy.GeneticModificationsDescription;
+ GeneticModificationsNomenclature = copy.GeneticModificationsNomenclature;
+ }
+ return *this;
+}
+
+
+void DRTGeneticModificationsSequence::Item::clear()
+{
+ if (!EmptyDefaultItem)
+ {
+ /* clear all DICOM attributes */
+ GeneticModificationsDescription.clear();
+ GeneticModificationsNomenclature.clear();
+ GeneticModificationsCodeSequence.clear();
+ }
+}
+
+
+OFBool DRTGeneticModificationsSequence::Item::isEmpty()
+{
+ return GeneticModificationsDescription.isEmpty() &&
+ GeneticModificationsNomenclature.isEmpty() &&
+ GeneticModificationsCodeSequence.isEmpty();
+}
+
+
+OFBool DRTGeneticModificationsSequence::Item::isValid() const
+{
+ return !EmptyDefaultItem;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::Item::read(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ /* re-initialize object */
+ clear();
+ getAndCheckElementFromDataset(item, GeneticModificationsDescription, "1", "1", "GeneticModificationsSequence");
+ getAndCheckElementFromDataset(item, GeneticModificationsNomenclature, "1", "1", "GeneticModificationsSequence");
+ GeneticModificationsCodeSequence.read(item, "1-n", "3", "GeneticModificationsSequence");
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::Item::write(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = EC_Normal;
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(GeneticModificationsDescription), "1", "1", "GeneticModificationsSequence");
+ addElementToDataset(result, item, new DcmLongString(GeneticModificationsNomenclature), "1", "1", "GeneticModificationsSequence");
+ if (result.good()) result = GeneticModificationsCodeSequence.write(item, "1-n", "3", "GeneticModificationsSequence");
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::Item::getGeneticModificationsDescription(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(GeneticModificationsDescription, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsSequence::Item::getGeneticModificationsNomenclature(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(GeneticModificationsNomenclature, value, pos);
+}
+
+
+OFCondition DRTGeneticModificationsSequence::Item::setGeneticModificationsDescription(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = GeneticModificationsDescription.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::Item::setGeneticModificationsNomenclature(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = GeneticModificationsNomenclature.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+// --- sequence class ---
+
+DRTGeneticModificationsSequence::DRTGeneticModificationsSequence(const OFBool emptyDefaultSequence)
+ : EmptyDefaultSequence(emptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ CurrentItem = SequenceOfItems.end();
+}
+
+
+DRTGeneticModificationsSequence::DRTGeneticModificationsSequence(const DRTGeneticModificationsSequence ©)
+ : EmptyDefaultSequence(copy.EmptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+}
+
+
+DRTGeneticModificationsSequence &DRTGeneticModificationsSequence::operator=(const DRTGeneticModificationsSequence ©)
+{
+ if (this != ©)
+ {
+ clear();
+ EmptyDefaultSequence = copy.EmptyDefaultSequence;
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+ }
+ return *this;
+}
+
+
+DRTGeneticModificationsSequence::~DRTGeneticModificationsSequence()
+{
+ clear();
+}
+
+
+void DRTGeneticModificationsSequence::clear()
+{
+ if (!EmptyDefaultSequence)
+ {
+ CurrentItem = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* delete all items and free memory */
+ while (CurrentItem != last)
+ {
+ delete (*CurrentItem);
+ CurrentItem = SequenceOfItems.erase(CurrentItem);
+ }
+ /* make sure that the list is empty */
+ SequenceOfItems.clear();
+ CurrentItem = SequenceOfItems.end();
+ }
+}
+
+
+OFBool DRTGeneticModificationsSequence::isEmpty()
+{
+ return SequenceOfItems.empty();
+}
+
+
+OFBool DRTGeneticModificationsSequence::isValid() const
+{
+ return !EmptyDefaultSequence;
+}
+
+
+size_t DRTGeneticModificationsSequence::getNumberOfItems() const
+{
+ return SequenceOfItems.size();
+}
+
+
+OFCondition DRTGeneticModificationsSequence::gotoFirstItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ CurrentItem = SequenceOfItems.begin();
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::gotoNextItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ ++CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::gotoItem(const size_t num, OFListIterator(Item *) &iterator)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ size_t idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::gotoItem(const size_t num, OFListConstIterator(Item *) &iterator) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ size_t idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::gotoItem(const size_t num)
+{
+ return gotoItem(num, CurrentItem);
+}
+
+
+OFCondition DRTGeneticModificationsSequence::getCurrentItem(Item *&item) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ item = *CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+DRTGeneticModificationsSequence::Item &DRTGeneticModificationsSequence::getCurrentItem()
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+const DRTGeneticModificationsSequence::Item &DRTGeneticModificationsSequence::getCurrentItem() const
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::getItem(const size_t num, Item *&item)
+{
+ OFListIterator(Item *) iterator;
+ OFCondition result = gotoItem(num, iterator);
+ if (result.good())
+ item = *iterator;
+ return result;
+}
+
+
+DRTGeneticModificationsSequence::Item &DRTGeneticModificationsSequence::getItem(const size_t num)
+{
+ OFListIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+const DRTGeneticModificationsSequence::Item &DRTGeneticModificationsSequence::getItem(const size_t num) const
+{
+ OFListConstIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+DRTGeneticModificationsSequence::Item &DRTGeneticModificationsSequence::operator[](const size_t num)
+{
+ return getItem(num);
+}
+
+
+const DRTGeneticModificationsSequence::Item &DRTGeneticModificationsSequence::operator[](const size_t num) const
+{
+ return getItem(num);
+}
+
+
+OFCondition DRTGeneticModificationsSequence::addItem(Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::insertItem(const size_t pos, Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ result = gotoItem(pos, iterator);
+ if (result.good())
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.insert(iterator, 1, item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = addItem(item);
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::removeItem(const size_t pos)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ if (gotoItem(pos, iterator).good())
+ {
+ delete *iterator;
+ iterator = SequenceOfItems.erase(iterator);
+ result = EC_Normal;
+ } else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ /* re-initialize object */
+ clear();
+ /* retrieve sequence element from dataset */
+ DcmSequenceOfItems *sequence;
+ result = dataset.findAndGetSequence(DCM_GeneticModificationsSequence, sequence);
+ if (sequence != NULL)
+ {
+ if (checkElementValue(*sequence, card, type, result, moduleName))
+ {
+ DcmStack stack;
+ OFBool first = OFTrue;
+ /* iterate over all sequence items */
+ while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good())
+ {
+ DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top());
+ if (ditem != NULL)
+ {
+ Item *item = new Item();
+ if (item != NULL)
+ {
+ result = item->read(*ditem);
+ if (result.good())
+ {
+ /* append new item to the end of the list */
+ SequenceOfItems.push_back(item);
+ first = OFFalse;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = EC_CorruptedData;
+ }
+ }
+ } else {
+ DcmSequenceOfItems element(DCM_GeneticModificationsSequence);
+ checkElementValue(element, card, type, result, moduleName);
+ }
+ }
+ return result;
+}
+
+
+OFCondition DRTGeneticModificationsSequence::write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ result = EC_MemoryExhausted;
+ DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_GeneticModificationsSequence);
+ if (sequence != NULL)
+ {
+ result = EC_Normal;
+ /* an empty optional sequence is not written */
+ if ((type == "2") || !SequenceOfItems.empty())
+ {
+ OFListIterator(Item *) iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* iterate over all sequence items */
+ while (result.good() && (iterator != last))
+ {
+ DcmItem *item = new DcmItem();
+ if (item != NULL)
+ {
+ /* append new item to the end of the sequence */
+ result = sequence->append(item);
+ if (result.good())
+ {
+ result = (*iterator)->write(*item);
+ ++iterator;
+ } else
+ delete item;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ if (result.good())
+ {
+ /* insert sequence element into the dataset */
+ result = dataset.insert(sequence, OFTrue /*replaceOld*/);
+ }
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ if (result.good())
+ {
+ /* forget reference to sequence object (avoid deletion below) */
+ sequence = NULL;
+ }
+ }
+ else if (type == "1")
+ {
+ /* empty type 1 sequence not allowed */
+ result = RT_EC_InvalidValue;
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ }
+ /* delete sequence (if not inserted into the dataset) */
+ delete sequence;
+ }
+ }
+ return result;
+}
+
+
+// end of source file
*
* Source file for class DRTGroupOfPatientsIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTHL7StructuredDocumentReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIssuerOfAdmissionIDSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIssuerOfAccessionNumberSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIonBeamLimitingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIonBlockSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIonBeamSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIonControlPointDeliverySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIonControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTInstitutionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIconImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTImageIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
+ * Last modified on 2017-06-15 by Riesmeier
*
*/
QualityControlSubject(DCM_QualityControlSubject),
ReferencedPatientSequence(),
PatientBirthTime(DCM_PatientBirthTime),
- OtherPatientIDs(DCM_OtherPatientIDs),
+ OtherPatientIDs(DCM_RETIRED_OtherPatientIDs),
OtherPatientIDsSequence(),
OtherPatientNames(DCM_OtherPatientNames),
EthnicGroup(DCM_EthnicGroup),
StrainCodeSequence(),
StrainAdditionalInformation(DCM_StrainAdditionalInformation),
StrainStockSequence(),
+ GeneticModificationsSequence(),
ResponsiblePerson(DCM_ResponsiblePerson),
ResponsiblePersonRole(DCM_ResponsiblePersonRole),
ResponsibleOrganization(DCM_ResponsibleOrganization),
StrainCodeSequence(copy.StrainCodeSequence),
StrainAdditionalInformation(copy.StrainAdditionalInformation),
StrainStockSequence(copy.StrainStockSequence),
+ GeneticModificationsSequence(copy.GeneticModificationsSequence),
ResponsiblePerson(copy.ResponsiblePerson),
ResponsiblePersonRole(copy.ResponsiblePersonRole),
ResponsibleOrganization(copy.ResponsibleOrganization),
StrainCodeSequence = copy.StrainCodeSequence;
StrainAdditionalInformation = copy.StrainAdditionalInformation;
StrainStockSequence = copy.StrainStockSequence;
+ GeneticModificationsSequence = copy.GeneticModificationsSequence;
ResponsiblePerson = copy.ResponsiblePerson;
ResponsiblePersonRole = copy.ResponsiblePersonRole;
ResponsibleOrganization = copy.ResponsibleOrganization;
StrainCodeSequence.clear();
StrainAdditionalInformation.clear();
StrainStockSequence.clear();
+ GeneticModificationsSequence.clear();
ResponsiblePerson.clear();
ResponsiblePersonRole.clear();
ResponsibleOrganization.clear();
StrainCodeSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, StrainAdditionalInformation, "1", "3", "PatientModule");
StrainStockSequence.read(dataset, "1-n", "3", "PatientModule");
+ GeneticModificationsSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePerson, "1", "2C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePersonRole, "1", "1C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsibleOrganization, "1", "2C", "PatientModule");
if (result.good()) result = StrainCodeSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmUnlimitedText(StrainAdditionalInformation), "1", "3", "PatientModule");
if (result.good()) result = StrainStockSequence.write(dataset, "1-n" ,"3", "PatientModule");
+ if (result.good()) result = GeneticModificationsSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmPersonName(ResponsiblePerson), "1", "2C", "PatientModule");
addElementToDataset(result, dataset, new DcmCodeString(ResponsiblePersonRole), "1", "1C", "PatientModule");
addElementToDataset(result, dataset, new DcmLongString(ResponsibleOrganization), "1", "2C", "PatientModule");
*
* Source file for class DRTIonPlanIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
+ * Last modified on 2017-06-15 by Riesmeier
*
*/
QualityControlSubject(DCM_QualityControlSubject),
ReferencedPatientSequence(),
PatientBirthTime(DCM_PatientBirthTime),
- OtherPatientIDs(DCM_OtherPatientIDs),
+ OtherPatientIDs(DCM_RETIRED_OtherPatientIDs),
OtherPatientIDsSequence(),
OtherPatientNames(DCM_OtherPatientNames),
EthnicGroup(DCM_EthnicGroup),
StrainCodeSequence(),
StrainAdditionalInformation(DCM_StrainAdditionalInformation),
StrainStockSequence(),
+ GeneticModificationsSequence(),
ResponsiblePerson(DCM_ResponsiblePerson),
ResponsiblePersonRole(DCM_ResponsiblePersonRole),
ResponsibleOrganization(DCM_ResponsibleOrganization),
StrainCodeSequence(copy.StrainCodeSequence),
StrainAdditionalInformation(copy.StrainAdditionalInformation),
StrainStockSequence(copy.StrainStockSequence),
+ GeneticModificationsSequence(copy.GeneticModificationsSequence),
ResponsiblePerson(copy.ResponsiblePerson),
ResponsiblePersonRole(copy.ResponsiblePersonRole),
ResponsibleOrganization(copy.ResponsibleOrganization),
StrainCodeSequence = copy.StrainCodeSequence;
StrainAdditionalInformation = copy.StrainAdditionalInformation;
StrainStockSequence = copy.StrainStockSequence;
+ GeneticModificationsSequence = copy.GeneticModificationsSequence;
ResponsiblePerson = copy.ResponsiblePerson;
ResponsiblePersonRole = copy.ResponsiblePersonRole;
ResponsibleOrganization = copy.ResponsibleOrganization;
StrainCodeSequence.clear();
StrainAdditionalInformation.clear();
StrainStockSequence.clear();
+ GeneticModificationsSequence.clear();
ResponsiblePerson.clear();
ResponsiblePersonRole.clear();
ResponsibleOrganization.clear();
StrainCodeSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, StrainAdditionalInformation, "1", "3", "PatientModule");
StrainStockSequence.read(dataset, "1-n", "3", "PatientModule");
+ GeneticModificationsSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePerson, "1", "2C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePersonRole, "1", "1C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsibleOrganization, "1", "2C", "PatientModule");
if (result.good()) result = StrainCodeSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmUnlimitedText(StrainAdditionalInformation), "1", "3", "PatientModule");
if (result.good()) result = StrainStockSequence.write(dataset, "1-n" ,"3", "PatientModule");
+ if (result.good()) result = GeneticModificationsSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmPersonName(ResponsiblePerson), "1", "2C", "PatientModule");
addElementToDataset(result, dataset, new DcmCodeString(ResponsiblePersonRole), "1", "1C", "PatientModule");
addElementToDataset(result, dataset, new DcmLongString(ResponsibleOrganization), "1", "2C", "PatientModule");
*
* Source file for class DRTIonBeamsTreatmentRecordIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
+ * Last modified on 2017-06-15 by Riesmeier
*
*/
QualityControlSubject(DCM_QualityControlSubject),
ReferencedPatientSequence(),
PatientBirthTime(DCM_PatientBirthTime),
- OtherPatientIDs(DCM_OtherPatientIDs),
+ OtherPatientIDs(DCM_RETIRED_OtherPatientIDs),
OtherPatientIDsSequence(),
OtherPatientNames(DCM_OtherPatientNames),
EthnicGroup(DCM_EthnicGroup),
StrainCodeSequence(),
StrainAdditionalInformation(DCM_StrainAdditionalInformation),
StrainStockSequence(),
+ GeneticModificationsSequence(),
ResponsiblePerson(DCM_ResponsiblePerson),
ResponsiblePersonRole(DCM_ResponsiblePersonRole),
ResponsibleOrganization(DCM_ResponsibleOrganization),
StrainCodeSequence(copy.StrainCodeSequence),
StrainAdditionalInformation(copy.StrainAdditionalInformation),
StrainStockSequence(copy.StrainStockSequence),
+ GeneticModificationsSequence(copy.GeneticModificationsSequence),
ResponsiblePerson(copy.ResponsiblePerson),
ResponsiblePersonRole(copy.ResponsiblePersonRole),
ResponsibleOrganization(copy.ResponsibleOrganization),
StrainCodeSequence = copy.StrainCodeSequence;
StrainAdditionalInformation = copy.StrainAdditionalInformation;
StrainStockSequence = copy.StrainStockSequence;
+ GeneticModificationsSequence = copy.GeneticModificationsSequence;
ResponsiblePerson = copy.ResponsiblePerson;
ResponsiblePersonRole = copy.ResponsiblePersonRole;
ResponsibleOrganization = copy.ResponsibleOrganization;
StrainCodeSequence.clear();
StrainAdditionalInformation.clear();
StrainStockSequence.clear();
+ GeneticModificationsSequence.clear();
ResponsiblePerson.clear();
ResponsiblePersonRole.clear();
ResponsibleOrganization.clear();
StrainCodeSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, StrainAdditionalInformation, "1", "3", "PatientModule");
StrainStockSequence.read(dataset, "1-n", "3", "PatientModule");
+ GeneticModificationsSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePerson, "1", "2C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePersonRole, "1", "1C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsibleOrganization, "1", "2C", "PatientModule");
if (result.good()) result = StrainCodeSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmUnlimitedText(StrainAdditionalInformation), "1", "3", "PatientModule");
if (result.good()) result = StrainStockSequence.write(dataset, "1-n" ,"3", "PatientModule");
+ if (result.good()) result = GeneticModificationsSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmPersonName(ResponsiblePerson), "1", "2C", "PatientModule");
addElementToDataset(result, dataset, new DcmCodeString(ResponsiblePersonRole), "1", "1C", "PatientModule");
addElementToDataset(result, dataset, new DcmLongString(ResponsibleOrganization), "1", "2C", "PatientModule");
*
* Source file for class DRTIssuerOfPatientIDQualifiersSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIonRangeCompensatorSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIssuerOfServiceEpisodeIDSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIonToleranceTableSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIonWedgePositionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTIonWedgeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTLateralSpreadingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTLateralSpreadingDeviceSettingsSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTLateralSpreadingDeviceSettingsSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTMultiplexedAudioChannelsDescriptionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTModifiedAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTMeasuredDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTModalityLUTSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTMACParametersSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTMappingResourceIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTMotionSynchronizationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTMeasurementUnitsCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTOriginalAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTOperatorIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTOtherPatientIDsSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTOverrideSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPatientBreedCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTProtocolContextSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPrivateDataElementCharacteristicsSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPrivateDataElementDefinitionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPrimaryFluenceModeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPersonIdentificationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPlanIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
+ * Last modified on 2017-06-15 by Riesmeier
*
*/
QualityControlSubject(DCM_QualityControlSubject),
ReferencedPatientSequence(),
PatientBirthTime(DCM_PatientBirthTime),
- OtherPatientIDs(DCM_OtherPatientIDs),
+ OtherPatientIDs(DCM_RETIRED_OtherPatientIDs),
OtherPatientIDsSequence(),
OtherPatientNames(DCM_OtherPatientNames),
EthnicGroup(DCM_EthnicGroup),
StrainCodeSequence(),
StrainAdditionalInformation(DCM_StrainAdditionalInformation),
StrainStockSequence(),
+ GeneticModificationsSequence(),
ResponsiblePerson(DCM_ResponsiblePerson),
ResponsiblePersonRole(DCM_ResponsiblePersonRole),
ResponsibleOrganization(DCM_ResponsibleOrganization),
StrainCodeSequence(copy.StrainCodeSequence),
StrainAdditionalInformation(copy.StrainAdditionalInformation),
StrainStockSequence(copy.StrainStockSequence),
+ GeneticModificationsSequence(copy.GeneticModificationsSequence),
ResponsiblePerson(copy.ResponsiblePerson),
ResponsiblePersonRole(copy.ResponsiblePersonRole),
ResponsibleOrganization(copy.ResponsibleOrganization),
StrainCodeSequence = copy.StrainCodeSequence;
StrainAdditionalInformation = copy.StrainAdditionalInformation;
StrainStockSequence = copy.StrainStockSequence;
+ GeneticModificationsSequence = copy.GeneticModificationsSequence;
ResponsiblePerson = copy.ResponsiblePerson;
ResponsiblePersonRole = copy.ResponsiblePersonRole;
ResponsibleOrganization = copy.ResponsibleOrganization;
StrainCodeSequence.clear();
StrainAdditionalInformation.clear();
StrainStockSequence.clear();
+ GeneticModificationsSequence.clear();
ResponsiblePerson.clear();
ResponsiblePersonRole.clear();
ResponsibleOrganization.clear();
StrainCodeSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, StrainAdditionalInformation, "1", "3", "PatientModule");
StrainStockSequence.read(dataset, "1-n", "3", "PatientModule");
+ GeneticModificationsSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePerson, "1", "2C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePersonRole, "1", "1C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsibleOrganization, "1", "2C", "PatientModule");
if (result.good()) result = StrainCodeSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmUnlimitedText(StrainAdditionalInformation), "1", "3", "PatientModule");
if (result.good()) result = StrainStockSequence.write(dataset, "1-n" ,"3", "PatientModule");
+ if (result.good()) result = GeneticModificationsSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmPersonName(ResponsiblePerson), "1", "2C", "PatientModule");
addElementToDataset(result, dataset, new DcmCodeString(ResponsiblePersonRole), "1", "1C", "PatientModule");
addElementToDataset(result, dataset, new DcmLongString(ResponsibleOrganization), "1", "2C", "PatientModule");
*
* Source file for class DRTPurposeOfReferenceCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPhysiciansOfRecordIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPerformedProtocolCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPhysiciansReadingStudyIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPatientSpeciesCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPatientSizeCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPatientSetupSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPredecessorStructureSetSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTPlannedVerificationImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTQuantityDefinitionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRequestAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedBrachyApplicationSetupSequenceInRTDoseModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRecordedBlockSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedBolusSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedBolusSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedBolusSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedBeamSequenceInRTDoseModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedBeamSequenceInRTGeneralTreatmentRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedBeamSequenceInRTFractionSchemeModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedCalculatedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRecordedCompensatorSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTROIContourSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRTDoseROISequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedDoseReferenceSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedDoseReferenceSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedDoseReferenceSequenceInRTFractionSchemeModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedDoseSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTROIElementalCompositionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedFractionGroupSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedFrameOfReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRTROIIdentificationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedInstanceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRecordedLateralSpreadingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedMeasuredDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRangeModulatorSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRangeModulatorSettingsSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRangeModulatorSettingsSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRequestedProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferringPhysicianIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReasonForPerformedProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedPatientPhotoSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTROIPhysicalPropertiesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedPerformedProcedureStepSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedPatientSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedReferenceImageSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedReferenceImageSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedReferenceImageSequenceInRTBrachyApplicationSetupsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRecordedRangeModulatorSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRTROIObservationsSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReasonForRequestedProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRelatedRTROIObservationsSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRTRelatedROISequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRecordedRangeShifterSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedRTPlanSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedRTPlanSequenceInRTGeneralPlanModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedRTPlanSequenceInRTGeneralTreatmentRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedRTPlanSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRequestingServiceCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedSeriesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRTReferencedSeriesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRangeShifterSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRangeShifterSettingsSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRangeShifterSettingsSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedSetupImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRecordedSnoutSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedSOPSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedSpatialRegistrationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedStudySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedStructureSetSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRTReferencedStudySequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedTreatmentRecordSequenceInRTDoseModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedTreatmentRecordSequenceInRTGeneralTreatmentRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTReferencedVerificationImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRecordedWedgeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTRealWorldValueMappingSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTStudiesContainingOtherReferencedInstancesSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTStrainCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTSeriesDescriptionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTSetupDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTShieldingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTSourceInstanceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTSourceImageSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTSnoutSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTSegmentedPropertyCategoryCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTScheduledProtocolCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTSourcePatientGroupIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTSegmentedPropertyTypeModifierCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTSourceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTStrainSourceRegistryCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTStructureSetROISequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTStrainStockSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTStructureSetIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
+ * Last modified on 2017-06-15 by Riesmeier
*
*/
QualityControlSubject(DCM_QualityControlSubject),
ReferencedPatientSequence(),
PatientBirthTime(DCM_PatientBirthTime),
- OtherPatientIDs(DCM_OtherPatientIDs),
+ OtherPatientIDs(DCM_RETIRED_OtherPatientIDs),
OtherPatientIDsSequence(),
OtherPatientNames(DCM_OtherPatientNames),
EthnicGroup(DCM_EthnicGroup),
StrainCodeSequence(),
StrainAdditionalInformation(DCM_StrainAdditionalInformation),
StrainStockSequence(),
+ GeneticModificationsSequence(),
ResponsiblePerson(DCM_ResponsiblePerson),
ResponsiblePersonRole(DCM_ResponsiblePersonRole),
ResponsibleOrganization(DCM_ResponsibleOrganization),
StrainCodeSequence(copy.StrainCodeSequence),
StrainAdditionalInformation(copy.StrainAdditionalInformation),
StrainStockSequence(copy.StrainStockSequence),
+ GeneticModificationsSequence(copy.GeneticModificationsSequence),
ResponsiblePerson(copy.ResponsiblePerson),
ResponsiblePersonRole(copy.ResponsiblePersonRole),
ResponsibleOrganization(copy.ResponsibleOrganization),
StrainCodeSequence = copy.StrainCodeSequence;
StrainAdditionalInformation = copy.StrainAdditionalInformation;
StrainStockSequence = copy.StrainStockSequence;
+ GeneticModificationsSequence = copy.GeneticModificationsSequence;
ResponsiblePerson = copy.ResponsiblePerson;
ResponsiblePersonRole = copy.ResponsiblePersonRole;
ResponsibleOrganization = copy.ResponsibleOrganization;
StrainCodeSequence.clear();
StrainAdditionalInformation.clear();
StrainStockSequence.clear();
+ GeneticModificationsSequence.clear();
ResponsiblePerson.clear();
ResponsiblePersonRole.clear();
ResponsibleOrganization.clear();
StrainCodeSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, StrainAdditionalInformation, "1", "3", "PatientModule");
StrainStockSequence.read(dataset, "1-n", "3", "PatientModule");
+ GeneticModificationsSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePerson, "1", "2C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePersonRole, "1", "1C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsibleOrganization, "1", "2C", "PatientModule");
if (result.good()) result = StrainCodeSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmUnlimitedText(StrainAdditionalInformation), "1", "3", "PatientModule");
if (result.good()) result = StrainStockSequence.write(dataset, "1-n" ,"3", "PatientModule");
+ if (result.good()) result = GeneticModificationsSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmPersonName(ResponsiblePerson), "1", "2C", "PatientModule");
addElementToDataset(result, dataset, new DcmCodeString(ResponsiblePersonRole), "1", "1C", "PatientModule");
addElementToDataset(result, dataset, new DcmLongString(ResponsibleOrganization), "1", "2C", "PatientModule");
*
* Source file for class DRTTreatmentMachineSequenceInRTTreatmentMachineRecordModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTTreatmentMachineSequenceInRTBrachyApplicationSetupsModule
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTTreatmentSummaryRecordIOD
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
+ * Last modified on 2017-06-15 by Riesmeier
*
*/
QualityControlSubject(DCM_QualityControlSubject),
ReferencedPatientSequence(),
PatientBirthTime(DCM_PatientBirthTime),
- OtherPatientIDs(DCM_OtherPatientIDs),
+ OtherPatientIDs(DCM_RETIRED_OtherPatientIDs),
OtherPatientIDsSequence(),
OtherPatientNames(DCM_OtherPatientNames),
EthnicGroup(DCM_EthnicGroup),
StrainCodeSequence(),
StrainAdditionalInformation(DCM_StrainAdditionalInformation),
StrainStockSequence(),
+ GeneticModificationsSequence(),
ResponsiblePerson(DCM_ResponsiblePerson),
ResponsiblePersonRole(DCM_ResponsiblePersonRole),
ResponsibleOrganization(DCM_ResponsibleOrganization),
StrainCodeSequence(copy.StrainCodeSequence),
StrainAdditionalInformation(copy.StrainAdditionalInformation),
StrainStockSequence(copy.StrainStockSequence),
+ GeneticModificationsSequence(copy.GeneticModificationsSequence),
ResponsiblePerson(copy.ResponsiblePerson),
ResponsiblePersonRole(copy.ResponsiblePersonRole),
ResponsibleOrganization(copy.ResponsibleOrganization),
StrainCodeSequence = copy.StrainCodeSequence;
StrainAdditionalInformation = copy.StrainAdditionalInformation;
StrainStockSequence = copy.StrainStockSequence;
+ GeneticModificationsSequence = copy.GeneticModificationsSequence;
ResponsiblePerson = copy.ResponsiblePerson;
ResponsiblePersonRole = copy.ResponsiblePersonRole;
ResponsibleOrganization = copy.ResponsibleOrganization;
StrainCodeSequence.clear();
StrainAdditionalInformation.clear();
StrainStockSequence.clear();
+ GeneticModificationsSequence.clear();
ResponsiblePerson.clear();
ResponsiblePersonRole.clear();
ResponsibleOrganization.clear();
StrainCodeSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, StrainAdditionalInformation, "1", "3", "PatientModule");
StrainStockSequence.read(dataset, "1-n", "3", "PatientModule");
+ GeneticModificationsSequence.read(dataset, "1-n", "3", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePerson, "1", "2C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsiblePersonRole, "1", "1C", "PatientModule");
getAndCheckElementFromDataset(dataset, ResponsibleOrganization, "1", "2C", "PatientModule");
if (result.good()) result = StrainCodeSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmUnlimitedText(StrainAdditionalInformation), "1", "3", "PatientModule");
if (result.good()) result = StrainStockSequence.write(dataset, "1-n" ,"3", "PatientModule");
+ if (result.good()) result = GeneticModificationsSequence.write(dataset, "1-n" ,"3", "PatientModule");
addElementToDataset(result, dataset, new DcmPersonName(ResponsiblePerson), "1", "2C", "PatientModule");
addElementToDataset(result, dataset, new DcmCodeString(ResponsiblePersonRole), "1", "1C", "PatientModule");
addElementToDataset(result, dataset, new DcmLongString(ResponsibleOrganization), "1", "2C", "PatientModule");
*
* Source file for class DRTTreatmentSummaryCalculatedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTTreatmentSessionIonBeamSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTTreatmentSummaryMeasuredDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTToleranceTableSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTUDISequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTVOILUTSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTWedgePositionSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTWADORetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTWADORSRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTWedgeSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
*
* Source file for class DRTXDSRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2016e
- * File created on 2017-01-25 17:55:32
+ * Generated automatically from DICOM PS 3.3-2017a
+ * File created on 2017-03-13 11:22:36
*
*/
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtdss.h \
../include/dcmtk/dcmrt/seq/drtdspcs.h \
../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtfes.h \
+ ../include/dcmtk/dcmrt/seq/drtgms.h ../include/dcmtk/dcmrt/seq/drtgmcs.h \
../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmrt/seq/drtbvcps.h \
../include/dcmtk/dcmrt/seq/drtrbas8.h \
../include/dcmtk/dcmrt/seq/drtrdrs8.h \
+ ../include/dcmtk/dcmrt/seq/drtgms.h ../include/dcmtk/dcmrt/seq/drtgmcs.h \
../include/dcmtk/dcmrt/seq/drtgpis.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
LIBDIRS = -L$(top_srcdir)/libsrc -L$(dcmimgledir)/libsrc -L$(dcmdatadir)/libsrc \
-L$(oflogdir)/libsrc -L$(ofstddir)/libsrc
LOCALLIBS = -ldcmrt -ldcmimgle -ldcmdata -loflog -lofstd \
- $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(CHARCONVLIBS)
+ $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS)
test_objs = tests.o tsearch.o
objs = drttest.o $(test_objs)
all: $(progs)
drttest: drttest.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
tests: $(test_objs)
$(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(test_objs) $(LOCALLIBS) $(LIBS)
PROJECT(dcmseg)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmseg_SOURCE_DIR}/include ${dcmfg_SOURCE_DIR}/include ${dcmiod_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmseg_SOURCE_DIR}/include" "${dcmfg_SOURCE_DIR}/include" "${dcmiod_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" ${ZLIB_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc include tests)
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmseg DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h" PATTERN "CVS" EXCLUDE)
+INSTALL(DIRECTORY dcmtk/dcmseg DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h" PATTERN "CVS" EXCLUDE)
const Uint16& cols,
const Uint16& numberOfFrames);
- /** Read Fractional Type of segmentation
+ /** Read Fractional Type of segmentation.
* @param item The item to read from
- * @return EC_Normal if type could be read, error otherwise
+ * @return EC_Normal if type could be read, EC_TagNotFound if tag is not present,
+ * error otherwise
*/
OFCondition readSegmentationFractionalType(DcmItem& item);
/** Read Segmentation Type of segmentation object
* @param item The item to read from
- * @return EC_Normal if type could be read, error otherwise
+ * @return EC_Normal if type could be read, EC_TagNotFound if tag is not present,
+ * error otherwise
*/
OFCondition readSegmentationType(DcmItem& item);
/*
*
- * Copyright (C) 2015-2016, Open Connections GmbH
+ * Copyright (C) 2015-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
virtual OFCondition getSegmentDescription(OFString& value,
const signed long pos = 0);
- /** Get the Segment Algorithm Type
+ /** Get the Segment Algorithm Type.
* @return The Algorithm Type
*/
virtual DcmSegTypes::E_SegmentAlgoType getSegmentAlgorithmType();
*/
virtual OFVector<CodeSequenceMacro*>& getSegmentedPropertyTypeModifierCode();
- /** Get Segment Surface Generation Algorithm Identification
- * @return Reference to the Segment Surface Generation Algorithm
+ /** Get Segmentation Algorithm Identification
+ * @warning This method has earlier been named getSegmentSurfaceGenerationAlgorithmIdentification()
+ * which has changed due to DICOM CP-1597. The code value returned is now
+ * taken from the "Segmentation Algorithm Identification Sequence" instead of the
+ * "Segment Surface Generation Algorithm Identification Sequence".
+ * @return Reference to the Segmentation Algorithm Identification
* Identification, may be unset
*/
- virtual AlgorithmIdentificationMacro& getSegmentSurfaceGenerationAlgorithmIdentification();
+ virtual AlgorithmIdentificationMacro& getSegmentationAlgorithmIdentification();
/** Get Recommended Display Grayscale Value
* @param value Reference to variable in which the value should be stored
const OFString& algoName,
const OFBool checkValue = OFTrue);
- /** Set Segment Surface Generation Algorithm Identification
+ /** Set Segmentation Algorithm Identification
+ * @warning This method has earlier been named setSegmentSurfaceGenerationAlgorithmIdentification()
+ * which has changed due to DICOM CP-1597. The resulting code value is now
+ * written to the "Segmentation Algorithm Identification Sequence" instead of the
+ * "Segment Surface Generation Algorithm Identification Sequence".
* @param value The algorithm identification
* @param checkValue If OFTrue, value undergoes some validity checks
* @return EC_Normal if setting was successful, error otherwise
*/
- virtual OFCondition setSegmentSurfaceGenerationAlgorithmIdentification(const AlgorithmIdentificationMacro& value,
- const OFBool checkValue = OFTrue);
+ virtual OFCondition setSegmentationAlgorithmIdentification(const AlgorithmIdentificationMacro& value,
+ const OFBool checkValue = OFTrue);
/** Set Recommended Display Grayscale Value
* @param value Value to be set (single value only) or "" for no value
/// Segment Algorithm Name: (LO, 1, 1C)
DcmLongString m_SegmentAlgorithmName;
- /// Segment Surface Generation Algorithm Identification (SQ, 1, 3),
- /// Baseline Context ID is 7162 (Surface Processing Algorithm Families)
- AlgorithmIdentificationMacro m_SegmentSurfaceGenerationAlgorithmIdentification;
+ /// Segmentation Algorithm Identification (SQ, 1, 3).
+ /// This attribute has earlier been named m_SegmentationSurfaceGenerationAlgorithmIdentification
+ /// representing the related sequence. This has been changed in favor of the
+ /// Segmentation Algorithm Identification Sequence due to DICOM CP-1597.
+ AlgorithmIdentificationMacro m_SegmentationAlgorithmIdentification;
/// Recommended Display Grayscale Value (US, 1, 3)
DcmUnsignedShort m_RecommendedDisplayGrayscaleValue;
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../../dcmiod/include/dcmtk/dcmiod/modpatient.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmseg/segment.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/dcmseg/segtypes.h ../include/dcmtk/dcmseg/segdef.h \
../include/dcmtk/dcmseg/segdoc.h \
../../dcmiod/include/dcmtk/dcmiod/iodimage.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/dcmseg/segtypes.h ../include/dcmtk/dcmseg/segdef.h
segutils.o: segutils.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmseg/segutils.h ../include/dcmtk/dcmseg/segdef.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
- ../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h
+ ../../dcmiod/include/dcmtk/dcmiod/modbase.h
size_t numFrames = getNumberOfFrames();
for (size_t count = 0; count < numFrames; count++)
{
- FGSegmentation* fg = OFstatic_cast(FGSegmentation*, m_FGInterface.get(count, DcmFGTypes::EFG_SEGMENTATION));
+ FGSegmentation* fg = OFstatic_cast(FGSegmentation*, m_FGInterface.get(OFstatic_cast(Uint32, count), DcmFGTypes::EFG_SEGMENTATION));
if (fg == NULL)
{
DCMSEG_ERROR("Cannot get segmentation functional group for frame " << count);
const Uint16 segmentNumber,
const OFVector<FGBase*>& perFrameInformation)
{
- Uint32 frameNo = m_Frames.size(); // will be the index of the frame (counted from 0)
+ Uint32 frameNo = OFstatic_cast(Uint32, m_Frames.size()); // will be the index of the frame (counted from 0)
OFCondition result;
// Check input parameters
OFCondition DcmSegmentation::saveFile(const OFString& filename,
const E_TransferSyntax writeXfer)
{
- if ( (writeXfer != EXS_LittleEndianExplicit) &&
- (writeXfer != EXS_BigEndianExplicit) &&
- (writeXfer != EXS_LittleEndianImplicit))
+ if ( (writeXfer != EXS_LittleEndianExplicit)
+ && (writeXfer != EXS_BigEndianExplicit)
+ && (writeXfer != EXS_LittleEndianImplicit)
+#ifdef WITH_ZLIB
+ && (writeXfer != EXS_DeflatedLittleEndianExplicit)
+#endif
+ )
{
DcmXfer ts(writeXfer);
- DCMSEG_ERROR("Cannot write transfer syntax: " << ts.getXferName() << " (can only write uncompressed)");
+#ifdef WITH_ZLIB
+ DCMSEG_ERROR("Cannot write transfer syntax: " << ts.getXferName() << ": Can only write uncompressed or Deflated)");
+#else
+ if (writeXfer == EXS_DeflatedLittleEndianExplicit)
+ {
+ DCMSEG_ERROR("Cannot write transfer syntax: " << ts.getXferName() << ": Deflate (ZLIB) support disabled, can only write uncompressed");
+ }
+#endif
return EC_CannotChangeRepresentation;
}
+
DcmFileFormat dcmff;
OFCondition result = write( *(dcmff.getDataset()) );
if (result.good())
{
- result = dcmff.saveFile(filename.c_str(), EXS_LittleEndianExplicit);
+ result = dcmff.saveFile(filename.c_str(), writeXfer);
}
if (result.bad())
{
if (m_Segments.at(count) == segment)
{
// logical segment numbering starts with 1 but vector index with 0
- segmentNumber = count + 1;
+ segmentNumber = OFstatic_cast(unsigned int, count + 1);
return OFTrue;
}
}
memcpy(pixdata + count*(*it)->length, (*it)->pixData, (*it)->length);
it++;
}
- dataset.putAndInsertUint8Array(DCM_PixelData, pixdata, numBytes, OFTrue);
+ dataset.putAndInsertUint8Array(DCM_PixelData, pixdata, OFstatic_cast(unsigned long, numBytes), OFTrue);
delete[] pixdata;
return result;
}
// Fill Pixel Data Element
concatFrames(m_Frames, pixdata, rows*cols);
- result = dataset.putAndInsertUint8Array(DCM_PixelData, pixdata, numBytes, OFTrue);
+ result = dataset.putAndInsertUint8Array(DCM_PixelData, pixdata, OFstatic_cast(unsigned long, numBytes), OFTrue);
delete [] pixdata;
return result;
}
OFCondition DcmSegmentation::readSegmentationFractionalType(DcmItem& item)
{
+ m_SegmentationFractionalType = DcmSegTypes::SFT_UNKNOWN;
+ if (!item.tagExists(DCM_SegmentationFractionalType))
+ {
+ return EC_TagNotFound;
+ }
DcmCodeString element(DCM_SegmentationFractionalType);
OFCondition result = DcmIODUtil::getAndCheckElementFromDataset(item, element, getRules()->getByTag(DCM_SegmentationFractionalType));
OFString str;
OFCondition DcmSegmentation::readSegmentationType(DcmItem& item)
{
+ m_SegmentationType = DcmSegTypes::ST_UNKNOWN;
+ if (!item.tagExists(DCM_SegmentationType))
+ {
+ return EC_TagNotFound;
+ }
+
DcmCodeString element(DCM_SegmentationType);
OFCondition result = DcmIODUtil::getAndCheckElementFromDataset(item, element, getRules()->getByTag(DCM_SegmentationType));
OFString str;
for (size_t count = 0; count < m_Frames.size(); count++)
{
OFBool isPerFrame;
- FGBase* group = m_FGInterface.get(count, DcmFGTypes::EFG_FRAMECONTENT, isPerFrame);
+ FGBase* group = m_FGInterface.get(OFstatic_cast(Uint32, count), DcmFGTypes::EFG_FRAMECONTENT, isPerFrame);
if (group == NULL)
{
DCMSEG_ERROR("Frame Content Functional Group not present for frame " << count);
/*
*
- * Copyright (C) 2015-2016, Open Connections GmbH
+ * Copyright (C) 2015-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
DcmIODUtil::readSingleItem<AlgorithmIdentificationMacro>(
item,
- DCM_SegmentSurfaceGenerationAlgorithmIdentificationSequence,
- m_SegmentSurfaceGenerationAlgorithmIdentification,
+ DCM_SegmentationAlgorithmIdentificationSequence,
+ m_SegmentationAlgorithmIdentification,
"3",
"Segmentation Image Module");
result = m_SegmentDescription.write(item);
DcmIODUtil::copyElementToDataset(result, item, m_SegmentAlgorithmName, m_Rules.getByTag(DCM_SegmentAlgorithmName));
- if (result.good() && m_SegmentSurfaceGenerationAlgorithmIdentification.check(OFTrue /* quiet */).good())
+ if (result.good() && m_SegmentationAlgorithmIdentification.check(OFTrue /* quiet */).good())
{
DcmIODUtil::writeSingleItem<AlgorithmIdentificationMacro>(
result,
- DCM_SegmentSurfaceGenerationAlgorithmIdentificationSequence,
- m_SegmentSurfaceGenerationAlgorithmIdentification,
+ DCM_SegmentationAlgorithmIdentificationSequence,
+ m_SegmentationAlgorithmIdentification,
item,
"3",
"Segmentation Image Module");
{
m_SegmentDescription.clearData();
m_SegmentAlgorithmName.clear();
- m_SegmentSurfaceGenerationAlgorithmIdentification.clearData();
+ m_SegmentationAlgorithmIdentification.clearData();
m_RecommendedDisplayGrayscaleValue.clear();
m_RecommendedDisplayCIELabValue.clear();
m_TrackingID.clear();
m_SegmentationDoc(NULL),
m_SegmentDescription(),
m_SegmentAlgorithmName(DCM_SegmentAlgorithmName),
- m_SegmentSurfaceGenerationAlgorithmIdentification(),
+ m_SegmentationAlgorithmIdentification(),
m_RecommendedDisplayGrayscaleValue(DCM_RecommendedDisplayGrayscaleValue),
m_RecommendedDisplayCIELabValue(DCM_RecommendedDisplayCIELabValue),
m_TrackingID(DCM_TrackingID),
}
-AlgorithmIdentificationMacro& DcmSegment::getSegmentSurfaceGenerationAlgorithmIdentification()
+AlgorithmIdentificationMacro& DcmSegment::getSegmentationAlgorithmIdentification()
{
- return m_SegmentSurfaceGenerationAlgorithmIdentification;
+ return m_SegmentationAlgorithmIdentification;
}
}
-OFCondition DcmSegment::setSegmentSurfaceGenerationAlgorithmIdentification(const AlgorithmIdentificationMacro& value,
- const OFBool checkValue)
+OFCondition DcmSegment::setSegmentationAlgorithmIdentification(const AlgorithmIdentificationMacro& value,
+ const OFBool checkValue)
{
- m_SegmentSurfaceGenerationAlgorithmIdentification = value;
+ m_SegmentationAlgorithmIdentification = value;
OFCondition result;
if (checkValue)
{
- result = m_SegmentSurfaceGenerationAlgorithmIdentification.check();
+ result = m_SegmentationAlgorithmIdentification.check();
}
if (result.bad())
{
- m_SegmentSurfaceGenerationAlgorithmIdentification.clearData();
+ m_SegmentationAlgorithmIdentification.clearData();
}
return result;
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
- ../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h
+ ../../dcmiod/include/dcmtk/dcmiod/modbase.h
top_srcdir = @top_srcdir@
configdir = @top_srcdir@/@configdir@
+include $(configdir)/@common_makefile@
+
ofstddir = $(top_srcdir)/../ofstd
oflogdir = $(top_srcdir)/../oflog
dcmdatadir = $(top_srcdir)/../dcmdata
dcmioddir = $(top_srcdir)/../dcmiod
dcmfgdir = $(top_srcdir)/../dcmfg
-
-include $(configdir)/@common_makefile@
-
LIBDIRS = -L$(top_srcdir)/libsrc -L$(ofstddir)/libsrc -L$(oflogdir)/libsrc \
-L$(dcmdatadir)/libsrc -L$(dcmioddir)/libsrc -L$(dcmfgdir)/libsrc
-LOCALLIBS = -ldcmseg -ldcmfg -ldcmiod -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(CHARCONVLIBS)
+LOCALLIBS = -ldcmseg -ldcmfg -ldcmiod -ldcmdata -loflog -lofstd $(ZLIBLIBS) \
+ $(CHARCONVLIBS) $(MATHLIBS)
LOCALINCLUDES = -I$(top_srcdir)/include -I$(ofstddir)/include -I$(oflogdir)/include \
-I$(dcmdatadir)/include -I$(dcmioddir)/include -I$(dcmfgdir)/include \
-
test_objs = tests.o tutils.o
objs = $(test_objs)
progs = tests
PROJECT(dcmsign)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmsign_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ZLIB_INCDIR} ${OPENSSL_INCDIR})
+INCLUDE_DIRECTORIES("${dcmsign_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" ${ZLIB_INCDIR} ${OPENSSL_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc apps include)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmsign/dcsignat.h ../include/dcmtk/dcmsign/sitypes.h \
../include/dcmtk/dcmsign/sidefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
dcmdatadir = $(top_srcdir)/../dcmdata
LOCALINCLUDES = -I$(ofstddir)/include -I$(oflogdir)/include -I$(dcmdatadir)/include
-LIBDIRS = -L$(top_srcdir)/libsrc -L$(ofstddir)/libsrc -L$(oflogdir)/libsrc -L$(dcmdatadir)/libsrc
-LOCALLIBS = -ldcmdsig -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(OPENSSLLIBS) $(CHARCONVLIBS)
+LIBDIRS = -L$(top_srcdir)/libsrc -L$(ofstddir)/libsrc -L$(oflogdir)/libsrc \
+ -L$(dcmdatadir)/libsrc
+LOCALLIBS = -ldcmdsig -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(OPENSSLLIBS) \
+ $(CHARCONVLIBS) $(MATHLIBS)
objs = dcmsign.o
progs = dcmsign
all: $(progs)
dcmsign: dcmsign.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
install: all
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CCTYPE
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_GUSI_H
-#include <GUSI.h>
-#endif
-
#include "dcmtk/dcmdata/cmdlnarg.h"
#include "dcmtk/oflog/oflog.h"
#include "dcmtk/ofstd/ofconapp.h"
int main(int argc, char *argv[])
{
-
-#ifdef HAVE_GUSI_H
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
DcmSignature::initializeLibrary(); // initialize dcmsign
const char * opt_certfile = NULL;
\page dcmsign dcmsign: Sign and Verify DICOM Files
\endif
-\section synopsis SYNOPSIS
+\section dcmsign_synopsis SYNOPSIS
\verbatim
dcmsign [options] dcmfile-in [dcmfile-out]
\endverbatim
-\section description DESCRIPTION
+\section dcmsign_description DESCRIPTION
The \b dcmsign utility reads a DICOM file (\e dcmfile-in), performs a digital
signature operation and, if any modification has taken place, writes the DICOM
\li removal of a single digital signature from the DICOM file, and
\li removal of all digital signatures from the DICOM file.
-\section parameters PARAMETERS
+\section dcmsign_parameters PARAMETERS
\verbatim
dcmfile-in DICOM input filename to be processed
dcmfile-out DICOM output filename
\endverbatim
-\section options OPTIONS
+\section dcmsign_options OPTIONS
-\subsection general_options general options
+\subsection dcmsign_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dcmsign_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection signature_commands signature commands
+\subsection dcmsign_signature_commands signature commands
\verbatim
--verify
verify all signatures (default)
remove all signatures from data set
\endverbatim
-\subsection signature_creation_options signature creation options (only with --sign or --sign-item):
+\subsection dcmsign_signature_creation_options signature creation options (only with --sign or --sign-item):
\verbatim
private key password:
if signature includes compressed pixel data
\endverbatim
-\subsection output_options output options
+\subsection dcmsign_output_options output options
\verbatim
output transfer syntax:
(only with --sign or --sign-item)
\endverbatim
-\section notes NOTES
+\section dcmsign_notes NOTES
-\subsection files_and_parameters Files and Parameters
+\subsection dcmsign_files_and_parameters Files and Parameters
The \b dcmsign utility reads and writes a number of files and file formats
which are described in this section.
ReferencedSeriesSequence (0008,1115) which is located in the main DICOM
dataset.
-\section logging LOGGING
+\section dcmsign_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dcmsign_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dcmsign_environment ENVIRONMENT
The \b dcmsign utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section copyright COPYRIGHT
+\section dcmsign_copyright COPYRIGHT
Copyright (C) 2000-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
-*/
\ No newline at end of file
+*/
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmsign DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmsign DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
/*
*
- * Copyright (C) 1998-2016, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
SiCertificateVerifier::~SiCertificateVerifier()
{
- if (x509store) X509_STORE_free(x509store);
+ if (x509store) X509_STORE_free(x509store);
}
OFCondition SiCertificateVerifier::addCertificateRevocationList(const char *fileName, int fileType)
{
- OFCondition result = SI_EC_CannotRead;
+ OFCondition result = SI_EC_CannotRead;
X509_CRL *x509crl = NULL;
if (fileName)
{
if (fileType == X509_FILETYPE_ASN1)
{
x509crl = d2i_X509_CRL_bio(in, NULL);
- if (x509crl)
+ if (x509crl)
{
X509_STORE_add_crl(x509store, x509crl);
result = EC_Normal;
}
} else {
x509crl = PEM_read_bio_X509_CRL(in, NULL, NULL, NULL);
- if (x509crl)
+ if (x509crl)
{
X509_STORE_add_crl(x509store, x509crl);
result = EC_Normal;
X509_STORE_CTX *ctx = X509_STORE_CTX_new();
X509_STORE_CTX_init(ctx, x509store, rawcert, NULL);
- int ok = X509_verify_cert(ctx); /* returns nonzero if successful */
+
+ // If a complete chain can be built and validated X509_verify_cert() returns 1,
+ // otherwise it returns zero, in exceptional circumstances it can also return a negative code.
+ int ok = X509_verify_cert(ctx);
+
errorCode = X509_STORE_CTX_get_error(ctx);
X509_STORE_CTX_cleanup(ctx);
X509_STORE_CTX_free(ctx);
- if (ok) return EC_Normal; else return SI_EC_VerificationFailed_NoTrust;
+ if (ok == 1) return EC_Normal; else return SI_EC_VerificationFailed_NoTrust;
}
PROJECT(dcmsr)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmsr_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${ZLIB_INCDIR} ${LIBXML_INCDIR})
+INCLUDE_DIRECTORIES("${dcmsr_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${dcmimgle_SOURCE_DIR}/include" "${dcmimage_SOURCE_DIR}/include" ${ZLIB_INCDIR} ${LIBXML_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc libcmr apps tests include data)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
LIBDIRS = -L$(top_srcdir)/libsrc -L$(ofstddir)/libsrc -L$(oflogdir)/libsrc \
-L$(dcmdatadir)/libsrc -L$(dcmimgledir)/libsrc -L$(dcmimagedir)/libsrc
LOCALLIBS = -ldcmsr -ldcmimage -ldcmimgle -ldcmdata -loflog -lofstd $(TIFFLIBS) \
- $(PNGLIBS) $(XMLLIBS) $(ZLIBLIBS) $(CHARCONVLIBS)
+ $(PNGLIBS) $(XMLLIBS) $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS)
objs = dsrdump.o dsr2html.o dsr2xml.o xml2dsr.o
progs = dsrdump dsr2html dsr2xml xml2dsr
all: $(progs)
dsrdump: dsrdump.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dsr2html: dsr2html.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
dsr2xml: dsr2xml.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
xml2dsr: xml2dsr.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS)
install: install-bin
# declare installation files
-INSTALL(FILES dsr2xml.xsd report.css reportx.css DESTINATION ${DCMTK_INSTALL_DATDIR} COMPONENT data)
+INSTALL(FILES dsr2xml.xsd report.css reportx.css DESTINATION "${DCMTK_INSTALL_DATDIR}" COMPONENT data)
<xsd:annotation>
<xsd:documentation xml:lang="en">
XML Schema for DCMTK tools dsr2xml and xml2dsr.
- Copyright (C) 2003-2016, OFFIS e.V.
+ Copyright (C) 2003-2017, OFFIS e.V.
All rights reserved. See COPYRIGHT file for details.
</xsd:documentation>
</xsd:annotation>
<xsd:enumeration value="Extensible SR"/>
<xsd:enumeration value="Acquisition Context SR"/>
<xsd:enumeration value="Simplified Adult Echo SR"/>
+ <xsd:enumeration value="Patient Radiation Dose SR"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:simpleType>
<xsd:simpleType name="DecimalString">
- <xsd:restriction base="xsd:decimal">
- <xsd:totalDigits value="16"/>
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?"/>
+ <xsd:maxLength value="16"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="UniqueIdentifier">
<xsd:restriction base="xsd:string">
- <xsd:minLength value="1"/>
<xsd:maxLength value="64"/>
- <xsd:pattern value="\d+(\.\d+)*"/>
+ <xsd:pattern value="(([1-9][0-9]*)|0)(\.([1-9][0-9]*|0))+"/>
</xsd:restriction>
</xsd:simpleType>
\page dsr2html dsr2html: Render DICOM SR file and data set to HTML/XHTML
\endif
-\section synopsis SYNOPSIS
+\section dsr2html_synopsis SYNOPSIS
\verbatim
dsr2html [options] dsrfile-in [htmlfile-out]
\endverbatim
-\section description DESCRIPTION
+\section dsr2html_description DESCRIPTION
The \b dsr2html utility renders the contents of a DICOM Structured Reporting
(SR) document (file format or raw data set) to HTML (Hyper Text Markup
the \e -f and <em>-t[ieb]</em> options to force \b dsr2html to read a dataset
with a particular transfer syntax.
-\section parameters PARAMETERS
+\section dsr2html_parameters PARAMETERS
\verbatim
dsrfile-in DICOM SR input filename to be rendered
htmlfile-out HTML/XHTML output filename (default: stdout)
\endverbatim
-\section options OPTIONS
+\section dsr2html_options OPTIONS
-\subsection general_options general options
+\subsection dsr2html_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dsr2html_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection processing_options processing options
+\subsection dsr2html_processing_options processing options
\verbatim
additional information:
# (see output of --version on which one is available)
\endverbatim
-\subsection output_options output options
+\subsection dsr2html_output_options output options
\verbatim
HTML/XHTML compatibility:
render code details as a tooltip (implies +Cc)
\endverbatim
-\section notes NOTES
+\section dsr2html_notes NOTES
-\subsection dicom_conformance DICOM Conformance
+\subsection dsr2html_dicom_conformance DICOM Conformance
The \b dsr2html utility supports the following SOP Classes:
SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72
\endverbatim
-\subsection character_encoding Character Encoding
+\subsection dsr2html_character_encoding Character Encoding
The HTML/XHTML encoding is determined automatically from the DICOM attribute
(0008,0005) "Specific Character Set" using the following mapping:
Option \e --convert-to-utf8 can be used to convert the DICOM file or data set
to UTF-8 encoding prior to the rendering to HTML/XHTML format.
-\section logging LOGGING
+\section dsr2html_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dsr2html_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dsr2html_environment ENVIRONMENT
The \b dsr2html utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dsr2html_files FILES
<em>\<datadir\>/report.css</em> - Sample Cascading Stylesheet file for HTML
<em>\<datadir\>/reportx.css</em> - Sample Cascading Stylesheet file for XHTML
-\section see_also SEE ALSO
+\section dsr2html_see_also SEE ALSO
<b>dcmconv</b>(1)
-\section copyright COPYRIGHT
+\section dsr2html_copyright COPYRIGHT
Copyright (C) 2000-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dsr2xml dsr2xml: Convert DICOM SR file and data set to XML
\endif
-\section synopsis SYNOPSIS
+\section dsr2xml_synopsis SYNOPSIS
\verbatim
dsr2xml [options] dsrfile-in [xmlfile-out]
\endverbatim
-\section description DESCRIPTION
+\section dsr2xml_description DESCRIPTION
The \b dsr2xml utility converts the contents of a DICOM Structured Reporting
(SR) document (file format or raw data set) to XML (Extensible Markup
the \e -f and <em>-t[ieb]</em> options to force \b dsr2xml to read a dataset
with a particular transfer syntax.
-\section parameters PARAMETERS
+\section dsr2xml_parameters PARAMETERS
\verbatim
dsrfile-in DICOM SR input filename to be converted
xmlfile-out XML output filename (default: stdout)
\endverbatim
-\section options OPTIONS
+\section dsr2xml_options OPTIONS
-\subsection general_options general options
+\subsection dsr2xml_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dsr2xml_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection processing_options processing options
+\subsection dsr2xml_processing_options processing options
\verbatim
error handling:
# (see output of --version on which one is available)
\endverbatim
-\subsection output_options output options
+\subsection dsr2xml_output_options output options
\verbatim
encoding:
write template identification information
\endverbatim
-\section notes NOTES
+\section dsr2xml_notes NOTES
-\subsection dicom_conformance DICOM Conformance
+\subsection dsr2xml_dicom_conformance DICOM Conformance
The \b dsr2xml utility supports the following SOP Classes:
Please note that currently only mandatory and some optional attributes are
supported.
-\subsection character_encoding Character Encoding
+\subsection dsr2xml_character_encoding Character Encoding
The XML encoding is determined automatically from the DICOM attribute
(0008,0005) "Specific Character Set" using the following mapping:
Option \e --convert-to-utf8 can be used to convert the DICOM file or data set
to UTF-8 encoding prior to the conversion to XML format.
-\subsection error_handling Error Handling
+\subsection dsr2xml_error_handling Error Handling
Please be careful with the processing options \e --unknown-relationship,
\e --invalid-item-value, \e --ignore-constraints, \e --ignore-item-errors and
output. However, there might be reasons for using one or more of these
options, e.g. in order to read and process an incorrectly encoded SR document.
-\subsection limitations Limitations
+\subsection dsr2xml_limitations Limitations
The XML Schema <em>dsr2xml.xsd</em> does not support all variations of the
\b dsr2xml output format. However, the default output format (plus option
\e --use-xml-namespace) should work.
-\section logging LOGGING
+\section dsr2xml_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dsr2xml_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dsr2xml_environment ENVIRONMENT
The \b dsr2xml utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section dsr2xml_files FILES
<em>\<datadir\>/dsr2xml.xsd</em> - XML Schema file
-\section see_also SEE ALSO
+\section dsr2xml_see_also SEE ALSO
<b>xml2dsr</b>(1), <b>dcmconv</b>(1)
-\section copyright COPYRIGHT
+\section dsr2xml_copyright COPYRIGHT
Copyright (C) 2000-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page dsrdump dsrdump: Dump DICOM SR file and data set
\endif
-\section synopsis SYNOPSIS
+\section dsrdump_synopsis SYNOPSIS
\verbatim
dsrdump [options] dsrfile-in...
\endverbatim
-\section description DESCRIPTION
+\section dsrdump_description DESCRIPTION
The \b dsrdump utility dumps the contents of a DICOM Structured Reporting (SR)
document (file format or raw data set) to stdout in textual form. The output
the \e -f and <em>-t[ieb]</em> options to force \b dsrdump to read a dataset
with a particular transfer syntax.
-\section parameters PARAMETERS
+\section dsrdump_parameters PARAMETERS
\verbatim
dsrfile-in DICOM SR input filename to be dumped
\endverbatim
-\section options OPTIONS
+\section dsrdump_options OPTIONS
-\subsection general_options general options
+\subsection dsrdump_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection dsrdump_input_options input options
\verbatim
input file format:
read with implicit VR little endian TS
\endverbatim
-\subsection processing_options processing options
+\subsection dsrdump_processing_options processing options
\verbatim
additional information:
# (see output of --version on which one is available)
\endverbatim
-\subsection output_options output options
+\subsection dsrdump_output_options output options
\verbatim
general printing:
# not available on Windows systems
\endverbatim
-\section notes NOTES
+\section dsrdump_notes NOTES
-\subsection dicom_conformance DICOM Conformance
+\subsection dsrdump_dicom_conformance DICOM Conformance
The \b dsrdump utility supports the following SOP Classes:
SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72
\endverbatim
-\section logging LOGGING
+\section dsrdump_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section dsrdump_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section dsrdump_environment ENVIRONMENT
The \b dsrdump utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section see_also SEE ALSO
+\section dsrdump_see_also SEE ALSO
<b>dcmconv</b>(1)
-\section copyright COPYRIGHT
+\section dsrdump_copyright COPYRIGHT
Copyright (C) 2000-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
\page xml2dsr xml2dsr: Convert DICOM SR file and data set to XML
\endif
-\section synopsis SYNOPSIS
+\section xml2dsr_synopsis SYNOPSIS
\verbatim
xml2dsr [options] xmlfile-in dsrfile-out
\endverbatim
-\section description DESCRIPTION
+\section xml2dsr_description DESCRIPTION
The \b xml2dsr utility converts the contents of an XML (Extensible Markup
Language) document to DICOM Structured Reporting (SR) format (file format
An appropriate XML file can be created using the \b dsr2xml tool (option
\e +Xn recommended to add XML namespace declaration to the root element).
-\section parameters PARAMETERS
+\section xml2dsr_parameters PARAMETERS
\verbatim
xmlfile-in XML input filename to be converted (stdin: "-")
dsrfile-out DICOM SR output filename
\endverbatim
-\section options OPTIONS
+\section xml2dsr_options OPTIONS
-\subsection general_options general options
+\subsection xml2dsr_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection input_options input options
+\subsection xml2dsr_input_options input options
\verbatim
encoding:
template element encloses content items
\endverbatim
-\subsection processing_options processing options
+\subsection xml2dsr_processing_options processing options
\verbatim
validation:
overwrite existing UIDs
\endverbatim
-\subsection output_options output options
+\subsection xml2dsr_output_options output options
\verbatim
output file format:
0=uncompressed, 1=fastest, 9=best compression
\endverbatim
-\section notes NOTES
+\section xml2dsr_notes NOTES
-\subsection dicom_conformance DICOM Conformance
+\subsection xml2dsr_dicom_conformance DICOM Conformance
The \b xml2dsr utility supports the following SOP Classes:
Please note that currently only mandatory and some optional attributes are
supported.
-\subsection character_encoding Character Encoding
+\subsection xml2dsr_character_encoding Character Encoding
The DICOM character encoding is determined automatically from the element with
tag "0008,0005" (Specific Character Set) - if present. The following
Chinese "GBK" (GBK)
\endverbatim
-\subsection compression Compression
+\subsection xml2dsr_compression Compression
If libxml is compiled with zlib support, the input file (\e xmlfile-in) can
also be compressed with ZIP, which usually results in much smaller files. See
output of option \e --version in order to check whether zlib support is
available.
-\subsection limitations Limitations
+\subsection xml2dsr_limitations Limitations
The XML Schema <em>dsr2xml.xsd</em> does not support all variations of the
\b dsr2xml output format. However, the default output format (plus option
long element values. A typical limit for libxml version 2.7.3 (and above) is
10 MB for a single element value.
-\section logging LOGGING
+\section xml2dsr_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section xml2dsr_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section xml2dsr_environment ENVIRONMENT
The \b xml2dsr utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section files FILES
+\section xml2dsr_files FILES
<em>\<datadir\>/dsr2xml.xsd</em> - XML Schema file
-\section see_also SEE ALSO
+\section xml2dsr_see_also SEE ALSO
<b>dsr2xml</b>(1)
-\section copyright COPYRIGHT
+\section xml2dsr_copyright COPYRIGHT
Copyright (C) 2003-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmsr DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmsr DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
/*
*
- * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file with DICOM Code Definitions (Coding Scheme "DCM", Version "01")
*
- * Generated automatically from DICOM PS 3.16-2016e
- * File created on 2016-11-23 13:33:01 by J. Riesmeier
+ * Generated automatically from DICOM PS 3.16-2017a
+ * File created on 2017-03-10 17:34:41 by J. Riesmeier
*
*/
* code definitions *
*--------------------*/
-// total number of codes: 3511
+// total number of codes: 3516
// - retired: 143
// - no name: 27
// - not unique: 15
#define CODE_DCM_ExogenousSubstance DSRBasicCodedEntry("127400", "DCM", "Exogenous substance")
#define CODE_DCM_TissueOfOrigin DSRBasicCodedEntry("127401", "DCM", "Tissue of origin")
#define CODE_DCM_TaxonomicRankOfOrigin DSRBasicCodedEntry("127402", "DCM", "Taxonomic rank of origin")
+#define CODE_DCM_Strain DSRBasicCodedEntry("127411", "DCM", "Strain")
+#define CODE_DCM_StrainDescription DSRBasicCodedEntry("127412", "DCM", "Strain description")
+#define CODE_DCM_Nomenclature DSRBasicCodedEntry("127413", "DCM", "Nomenclature")
+#define CODE_DCM_GeneticModifications DSRBasicCodedEntry("127414", "DCM", "Genetic modifications")
+#define CODE_DCM_GeneticModificationsDescription DSRBasicCodedEntry("127415", "DCM", "Genetic modifications description")
#define CODE_DCM_StereotacticCoordinates DSRBasicCodedEntry("127450", "DCM", "Stereotactic coordinates")
#define CODE_DCM_PositionReferenceIndicator DSRBasicCodedEntry("127451", "DCM", "Position reference indicator")
#define CODE_DCM_TumorGraft DSRBasicCodedEntry("127460", "DCM", "Tumor graft")
/*
*
- * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file with NCIt Code Definitions (Coding Scheme "NCIt")
*
- * Generated automatically from DICOM PS 3.16-2016e
- * File created on 2016-11-23 13:29:26 by J. Riesmeier
+ * Generated automatically from DICOM PS 3.16-2017a
+ * File created on 2017-03-10 17:34:49 by J. Riesmeier
*
*/
* code definitions *
*--------------------*/
-// total number of codes: 16
+// total number of codes: 17
// - retired: 0
// - no name: 0
// - not unique: 0
// description of the code meaning to a compiler-friendly but still human-readable representation.
#define CODE_NCIt_RANO DSRBasicCodedEntry("C114879", "NCIt", "RANO")
+#define CODE_NCIt_MouseMammaryFatPad DSRBasicCodedEntry("C22550", "NCIt", "Mouse mammary fat pad")
#define CODE_NCIt_BronchioloalveolarAdenocarcinoma DSRBasicCodedEntry("C2923", "NCIt", "Bronchioloalveolar adenocarcinoma")
#define CODE_NCIt_ExtraluminalRoute DSRBasicCodedEntry("C38213", "NCIt", "Extraluminal route")
#define CODE_NCIt_IntraepithelialRoute DSRBasicCodedEntry("C38244", "NCIt", "Intraepithelial route")
/*
*
- * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file with SNOMED-RT Code Definitions (Coding Scheme "SRT")
*
* Generated semi-automatically from DICOM PS 3.16-2015c
* File created on 2015-08-24 by J. Riesmeier
- * Last modified on 2016-02-22 by Riesmeier
+ * Last modified on 2017-07-04 by Riesmeier
*
* NB: This file does not yet contain all codes defined in PS 3.16 since the
* mapping of the code meaning to a compiler-friendly representation is
#define CODE_SRT_CodingSchemeDesignator "SRT"
#define CODE_SRT_CodingSchemeName "SNOMED-RT"
-#define CODE_SRT_CodingSchemeDescription "SNOMED-CT, using the 'SNOMED-RT style' code values"
+#define CODE_SRT_CodingSchemeDescription "SNOMED, using the 'SNOMED-RT style' code values"
#define CODE_SRT_CodingSchemeUID "2.16.840.1.113883.6.96"
#define CODE_SRT_RouteOfAdministration DSRBasicCodedEntry("G-C340", "SRT", "Route of Administration")
#define CODE_SRT_Neoplasm_Primary DSRBasicCodedEntry("M-80003", "SRT", "Neoplasm, Primary")
#define CODE_SRT_Neoplasm_Secondary DSRBasicCodedEntry("M-80006", "SRT", "Neoplasm, Secondary")
+#define CODE_SRT_ImagingProcedure DSRBasicCodedEntry("P0-0099A", "SRT", "Imaging procedure")
#define CODE_SRT_HalfLifeOfRadiopharmaceutical DSRBasicCodedEntry("R-42806", "SRT", "Half-life of radiopharmaceutical")
#define CODE_SRT_AorticArch DSRBasicCodedEntry("T-42300", "SRT", "Aortic arch")
-#define CODE_SRT_Liver_T62000 DSRBasicCodedEntry("T-62000", "SRT", "Liver")
-#define CODE_SRT_Liver_T62002 DSRBasicCodedEntry("T-62002", "SRT", "Liver")
+#define CODE_SRT_Liver DSRBasicCodedEntry("T-62000", "SRT", "Liver")
#define CODE_SRT_Cerebellum DSRBasicCodedEntry("T-A6000", "SRT", "Cerebellum")
#define CODE_SRT_LymphNode DSRBasicCodedEntry("T-C4000", "SRT", "Lymph node")
/*
*
- * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file with UCUM Code Definitions (Coding Scheme "UCUM")
*
* Generated semi-automatically from DICOM PS 3.16-2015c
* File created on 2015-08-24 by J. Riesmeier
- * Last modified on 2016-02-22 by Riesmeier
+ * Last modified on 2017-03-08 by Riesmeier
*
* NB: This file does not yet contain all codes defined in PS 3.16 since the
* mapping of the code meaning to a compiler-friendly representation is
#define CODE_UCUM_Bq DSRBasicCodedEntry("Bq", "UCUM", "Bq")
#define CODE_UCUM_BqPerMol DSRBasicCodedEntry("Bq/mol", "UCUM", "Bq/mol")
#define CODE_UCUM_mmolPerL DSRBasicCodedEntry("mmol/l", "UCUM", "mmol/l")
-#define CODE_UCUM_CountsPerSecond DSRBasicCodedEntry("{counts}/s", "UCUM", "Counts per second")
+#define CODE_UCUM_CountsPerSecond DSRBasicCodedEntry("{counts}/s", "UCUM", "counts/s")
#endif
/*
*
- * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file with UMLS Code Definitions (Coding Scheme "UMLS")
*
- * Generated automatically from DICOM PS 3.16-2016e
- * File created on 2016-11-23 13:29:25 by J. Riesmeier
+ * Generated automatically from DICOM PS 3.16-2017a
+ * File created on 2017-03-10 17:34:48 by J. Riesmeier
*
*/
/*
*
- * Copyright (C) 2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2016-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/** update various DICOM attributes.
* (e.g. set the modality and SOP class UID, generate a new Study, Series and SOP instance UID
* if required, set date/time values, etc.)
- ** @param updateAll flag indicating whether all DICOM attributes should be updated or only
- * the IOD-specific ones. (e.g. set DICOM defined terms from enum values)
+ ** @param updateAll flag indicating whether all DICOM attributes should be updated or only
+ * the IOD-specific ones. (e.g. set DICOM defined terms from enum values)
+ * @param verboseMode report (more) processing details to the logger if enabled (default)
*/
- void updateAttributes(const OFBool updateAll = OFTrue);
+ void updateAttributes(const OFBool updateAll = OFTrue,
+ const OFBool verboseMode = OFTrue);
private:
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
const OFBool startFromRoot = OFTrue,
const OFBool searchIntoSub = OFTrue);
- /** set internal cursor to a named node (starting from the first children of the
- * current node).
+ /** set internal cursor to a named node (starting from the first child of the
+ * current node and searching on this level only).
+ * This is just a shortcut for calling gotoChild() followed by gotoNamedNode()
+ * with 'searchIntoSub' being OFFalse, i.e. only the first sub-level is checked.
* If more than one node exists with the given concept name, the first one will
- * be selected. Use gotoNextNamedNode() in order to go to the next matching node.
+ * be selected.
+ ** @param conceptName concept name of the node to be searched for
+ ** @return ID of the new current node if successful, 0 otherwise
+ */
+ virtual size_t gotoNamedChildNode(const DSRCodedEntryValue &conceptName);
+
+ /** set internal cursor to a named node in the subtree below the current node.
+ * If more than one node exists with the given concept name, the first one will
+ * be selected. If the current node has no children, the cursor is not moved.
** @param conceptName concept name of the node to be searched for
* @param searchIntoSub flag indicating whether to search into sub-trees
- * ("deep search") or on the current level only
+ * ("deep search") or on the first sub-level only
** @return ID of the new current node if successful, 0 otherwise
*/
- virtual size_t gotoNamedChildNode(const DSRCodedEntryValue &conceptName,
- const OFBool searchIntoSub = OFTrue);
+ virtual size_t gotoNamedNodeInSubTree(const DSRCodedEntryValue &conceptName,
+ const OFBool searchIntoSub = OFTrue);
/** set internal cursor to the next named node.
- * Starts from "next" node, i.e. either the first children of the current node
+ * Starts from "next" node, i.e. either the first child of the current node
* or the first sibling following the current node.
** @param conceptName concept name of the node to be searched for
* @param searchIntoSub flag indicating whether to search into sub-trees
const OFBool startFromRoot = OFTrue);
/** set internal cursor to the next annotated node.
- * Starts from "next" node, i.e. either the first children of the current node
+ * Starts from "next" node, i.e. either the first child of the current node
* or the first sibling following the current node.
** @param annotationText annotation text of the node to be searched for
** @return ID of the new current node if successful, 0 otherwise
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/ofvector.h"
+/** get the default item which is returned in DSRListOfItems::getItem() if the index is invalid.
+ * This function needs to be specialized and instantiated for each different use of DSRListOfItems.
+ * @tparam T the type of the object that will be returned.
+ * @return a reference to an object of type T.
+ */
+template<typename T>
+const T& DSRgetEmptyItem();
+
+
/*---------------------*
* class declaration *
*---------------------*/
if (gotoItemPos(idx, iterator))
return *iterator;
else
- return EmptyItem;
+ return DSRgetEmptyItem<T>();
}
/** get copy of the specified item
return result;
}
- /// default item which is returned in getItem() if the index is invalid.
- /// This static member variable needs to be defined (not only declared)
- /// in each derived class.
- static const T EmptyItem;
-
protected:
*/
size_t setCursor(T *node);
+ /** get pointer to first child node
+ ** @return pointer to first child node (if any), NULL otherwise
+ */
+ T *getChild() const;
+
/// pointer to current node
T *NodeCursor;
/// stack of node pointers. Used to store the cursor position of upper levels.
}
+template<typename T, OFBool B>
+T *DSRTreeNodeCursor<T, B>::getChild() const
+{
+ T *node = NULL;
+ if (NodeCursor != NULL)
+ node = NodeCursor->getDown();
+ return node;
+}
+
+
template<typename T, OFBool B>
size_t DSRTreeNodeCursor<T, B>::gotoFirst()
{
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
DT_AcquisitionContextSR,
/// DICOM IOD: Simplified Adult Echo SR
DT_SimplifiedAdultEchoSR,
+ /// DICOM IOD: Patient Radiation Dose SR
+ DT_PatientRadiationDoseSR,
/// internal type used to mark the last entry
- DT_last = DT_AcquisitionContextSR
+ DT_last = DT_PatientRadiationDoseSR
};
/** SR relationship types
PT_Blending,
/// XA/XRF Grayscale Softcopy Presentation State (XGSPS)
PT_XAXRFGrayscale,
- /// Grayscale Planar MPR Volumetric Presentation State (GPVPS)
+ /// Grayscale Planar MPR Volumetric Presentation State (GP-VPS)
PT_GrayscalePlanarMPR,
- /// Compositing Planar MPR Volumetric Presentation State (CPVPS)
+ /// Compositing Planar MPR Volumetric Presentation State (CP-VPS)
PT_CompositingPlanarMPR,
+ /// Advanced Blending Presentation State (ABPS)
+ PT_AdvancedBlending,
+ /// Volume Rendering Volumetric Presentation State (VR-VPS)
+ PT_VolumeRendering,
+ /// Segmented Volume Rendering Volumetric Presentation State (SVR-VPS)
+ PT_SegmentedVolumeRendering,
+ /// Multiple Volume Rendering Volumetric Presentation State (MVR-VPS)
+ PT_MultipleVolumeRendering,
/// internal type used to mark the last entry
- PT_last = PT_CompositingPlanarMPR
+ PT_last = PT_MultipleVolumeRendering
};
/** SR graphic types. Used for content item SCOORD.
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid10013.o: cid10013.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid10013.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid10013e.o: cid10013e.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid10013e.h \
../include/dcmtk/dcmsr/cmr/cid10013.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid10033.o: cid10033.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid10033.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid10033e.o: cid10033e.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid10033e.h \
../include/dcmtk/dcmsr/cmr/cid10033.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid11.o: cid11.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid11.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid244.o: cid244.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid244.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid244e.o: cid244e.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid244e.h ../include/dcmtk/dcmsr/cmr/cid244.h \
../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid29.o: cid29.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid29.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid29e.o: cid29e.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid29e.h ../include/dcmtk/dcmsr/cmr/cid29.h \
../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/codes/dcm.h
cid4020.o: cid4020.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid4020.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid4021.o: cid4021.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid4021.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid4031.o: cid4031.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid4031.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid4031e.o: cid4031e.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid4031e.h \
../include/dcmtk/dcmsr/cmr/cid4031.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid42.o: cid42.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid42.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid5000.o: cid5000.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid5000.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid5001.o: cid5001.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid5001.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid6147.o: cid6147.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid6147.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid7021.o: cid7021.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid7021.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid7181.o: cid7181.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid7181.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid7445.o: cid7445.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid7445.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid7452.o: cid7452.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid7452.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid7453.o: cid7453.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid7453.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid7464.o: cid7464.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid7464.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
cid7469.o: cid7469.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/cid7469.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
init.o: init.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/init.h ../include/dcmtk/dcmsr/cmr/define.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/cmr/cid29.h ../include/dcmtk/dcmsr/cmr/cid42.h \
../include/dcmtk/dcmsr/cmr/cid100.h ../include/dcmtk/dcmsr/cmr/cid244.h \
../include/dcmtk/dcmsr/cmr/cid4020.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmsr/cmr/define.h
srnumvl.o: srnumvl.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/srnumvl.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmsr/cmr/cid42.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/cmr/define.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h
tid1001.o: tid1001.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/tid1001.h ../include/dcmtk/dcmsr/dsrstpl.h \
../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrdocst.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \
../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid7445.h \
../include/dcmtk/dcmsr/dsrctxgr.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \
../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid5000.h \
../include/dcmtk/dcmsr/dsrctxgr.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \
../include/dcmtk/dcmsr/cmr/define.h \
../include/dcmtk/dcmsr/cmr/srnumvlu.h \
../include/dcmtk/dcmsr/cmr/srnumvl.h ../include/dcmtk/dcmsr/cmr/cid42.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \
../include/dcmtk/dcmsr/dsrstpl.h ../include/dcmtk/dcmsr/cmr/define.h \
../include/dcmtk/dcmsr/cmr/tid1001.h \
../include/dcmtk/dcmsr/cmr/cid7445.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \
../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid4020.h \
../include/dcmtk/dcmsr/dsrctxgr.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
/*
*
- * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class TID1600_ImageLibrary
if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_ENTRY) > 0)
{
/* get value of TID 1602 (Image Library Entry Descriptors) Row 1 */
- if ((gotoNamedChildNode(CODE_DCM_Modality, OFFalse /*searchIntoSub*/) > 0))
+ if ((gotoNamedChildNode(CODE_DCM_Modality) > 0))
{
modalityCode = getCurrentContentItem().getCodeValue();
result = EC_Normal;
if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_ENTRY) > 0)
{
/* check whether TID 1602 (Image Library Entry Descriptors) Row 1 has correct value */
- if ((gotoNamedChildNode(CODE_DCM_Modality, OFFalse /*searchIntoSub*/) > 0) &&
- (getCurrentContentItem().getCodeValue() == modalityCode))
- {
+ if ((gotoNamedChildNode(CODE_DCM_Modality) > 0) && (getCurrentContentItem().getCodeValue() == modalityCode))
result = EC_Normal;
- } else
+ else
result = CMR_EC_WrongImageLibraryEntryDescriptorModality;
}
return result;
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrnumvl.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcomvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrdocst.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrui.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrtpltn.h ../include/dcmtk/dcmsr/dsrstpl.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h
dsrdoc.o: dsrdoc.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrdoc.h ../include/dcmtk/dcmsr/dsrdoctr.h \
../include/dcmtk/dcmsr/dsrdocst.h ../include/dcmtk/dcmsr/dsrtree.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
- ../include/dcmtk/dcmsr/dsrcontn.h ../include/dcmtk/dcmsr/dsrreftn.h \
- ../include/dcmtk/dcmsr/dsrtpltn.h ../include/dcmtk/dcmsr/dsrstpl.h \
- ../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrctpl.h \
- ../include/dcmtk/dcmsr/dsriodcc.h
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrcontn.h \
+ ../include/dcmtk/dcmsr/dsrreftn.h ../include/dcmtk/dcmsr/dsrtpltn.h \
+ ../include/dcmtk/dcmsr/dsrstpl.h ../include/dcmtk/dcmsr/dsrdoctr.h \
+ ../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsriodcc.h
dsrdoctn.o: dsrdoctn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtypes.h ../include/dcmtk/dcmsr/dsdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrdtitn.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
- ../include/dcmtk/dcmsr/dsrcontn.h ../include/dcmtk/dcmsr/dsrreftn.h \
- ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h \
- ../include/dcmtk/dcmsr/dsriodcc.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrcontn.h \
+ ../include/dcmtk/dcmsr/dsrreftn.h ../include/dcmtk/dcmsr/dsrxmld.h \
+ ../include/dcmtk/dcmsr/dsrxmlc.h ../include/dcmtk/dcmsr/dsriodcc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h
dsrdtitn.o: dsrdtitn.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtlist.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
- ../../ofstd/include/dcmtk/ofstd/ofdiag.h \
- ../../ofstd/include/dcmtk/ofstd/diag/push.def \
- ../../ofstd/include/dcmtk/ofstd/diag/nsdfti.def \
- ../../ofstd/include/dcmtk/ofstd/diag/pop.def
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h
dsrimgse.o: dsrimgse.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrtypes.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmsr/dsrtlist.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
- ../../ofstd/include/dcmtk/ofstd/ofdiag.h \
- ../../ofstd/include/dcmtk/ofstd/diag/push.def \
- ../../ofstd/include/dcmtk/ofstd/diag/nsdfti.def \
- ../../ofstd/include/dcmtk/ofstd/diag/pop.def
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h
dsrimgtn.o: dsrimgtn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtypes.h ../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrnumvl.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \
../include/dcmtk/dcmsr/dsrstpl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h
dsrsaecc.o: dsrsaecc.cc ../../config/include/dcmtk/config/osconfig.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmsr/dsrtlist.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
- ../../ofstd/include/dcmtk/ofstd/ofdiag.h \
- ../../ofstd/include/dcmtk/ofstd/diag/push.def \
- ../../ofstd/include/dcmtk/ofstd/diag/nsdfti.def \
- ../../ofstd/include/dcmtk/ofstd/diag/pop.def
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h
dsrsc3tn.o: dsrsc3tn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtypes.h ../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrsc3vl.h ../include/dcmtk/dcmsr/dsrsc3gr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmsr/dsrtlist.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
- ../../ofstd/include/dcmtk/ofstd/ofdiag.h \
- ../../ofstd/include/dcmtk/ofstd/diag/push.def \
- ../../ofstd/include/dcmtk/ofstd/diag/nsdfti.def \
- ../../ofstd/include/dcmtk/ofstd/diag/pop.def
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h
dsrscotn.o: dsrscotn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtypes.h ../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h
dsrstrvl.o: dsrstrvl.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
../../ofstd/include/dcmtk/ofstd/ofdatime.h \
../../ofstd/include/dcmtk/ofstd/ofdate.h \
- ../../ofstd/include/dcmtk/ofstd/oftime.h \
- ../../ofstd/include/dcmtk/ofstd/ofdiag.h \
- ../../ofstd/include/dcmtk/ofstd/diag/push.def \
- ../../ofstd/include/dcmtk/ofstd/diag/nsdfti.def \
- ../../ofstd/include/dcmtk/ofstd/diag/pop.def
+ ../../ofstd/include/dcmtk/ofstd/oftime.h
dsrtcosp.o: dsrtcosp.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtcosp.h ../include/dcmtk/dcmsr/dsrtypes.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmsr/dsrtlist.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
- ../../ofstd/include/dcmtk/ofstd/ofdiag.h \
- ../../ofstd/include/dcmtk/ofstd/diag/push.def \
- ../../ofstd/include/dcmtk/ofstd/diag/nsdfti.def \
- ../../ofstd/include/dcmtk/ofstd/diag/pop.def
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h
dsrtcotn.o: dsrtcotn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtypes.h ../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrtcovl.h ../include/dcmtk/dcmsr/dsrtcodt.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtlist.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
- ../../ofstd/include/dcmtk/ofstd/ofdiag.h \
- ../../ofstd/include/dcmtk/ofstd/diag/push.def \
- ../../ofstd/include/dcmtk/ofstd/diag/nsdfti.def \
- ../../ofstd/include/dcmtk/ofstd/diag/pop.def
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h
dsrtcovl.o: dsrtcovl.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtcovl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstpl.h ../include/dcmtk/dcmsr/dsrdoctr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \
../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h
dsrtree.o: dsrtree.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
- ../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofstack.h
dsrtypes.o: dsrtypes.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtypes.h ../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrcodtn.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
- ../../ofstd/include/dcmtk/ofstd/ofdiag.h \
- ../../ofstd/include/dcmtk/ofstd/diag/push.def \
- ../../ofstd/include/dcmtk/ofstd/diag/nsdfti.def \
- ../../ofstd/include/dcmtk/ofstd/diag/pop.def
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h
dsrwavtn.o: dsrwavtn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtypes.h ../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrwavvl.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
PertinentOtherEvidence(DCM_PertinentOtherEvidenceSequence),
ReferencedInstances()
{
+ DCMSR_DEBUG("Initializing all DICOM header attributes");
/* set initial values for a new SOP instance */
- updateAttributes();
+ updateAttributes(OFTrue /*updateAll*/, OFFalse /*verboseMode*/);
}
{
OFCondition result = EC_Normal;
E_DocumentType documentType = DT_invalid;
+ DCMSR_DEBUG("Reading SR document from DICOM dataset");
/* re-initialize SR document */
clear();
/* check SOP class UID and modality first */
/* only write valid documents */
if (isValid())
{
+ DCMSR_DEBUG("Writing SR document to DICOM dataset");
/* update all DICOM attributes */
updateAttributes();
const size_t flags)
{
DSRXMLDocument doc;
+ DCMSR_DEBUG("Reading SR document from XML format");
/* read, parse and validate XML document */
OFCondition result = doc.read(filename, flags);
if (result.good())
/* only write valid documents */
if (isValid())
{
+ DCMSR_DEBUG("Writing SR document to XML format");
/* used for multiple purposes */
OFString tmpString;
/* update all DICOM attributes */
}
-void DSRDocument::updateAttributes(const OFBool updateAll)
+void DSRDocument::updateAttributes(const OFBool updateAll,
+ const OFBool verboseMode)
{
- DCMSR_DEBUG("Updating " << (updateAll ? "all " : "") << "DICOM header attributes");
+ if (verboseMode)
+ DCMSR_DEBUG("Updating " << (updateAll ? "all " : "") << "DICOM header attributes");
const E_DocumentType documentType = getDocumentType();
/* retrieve SOP class UID from internal document type */
SOPClassUID.putString(documentTypeToSOPClassUID(documentType));
/* create new SOP instance UID if required */
if (SOPInstanceUID.isEmpty())
{
- DCMSR_DEBUG(" Generating new value for SOP Instance UID");
+ if (verboseMode)
+ DCMSR_DEBUG(" Generating new value for SOP Instance UID");
SOPInstanceUID.putString(dcmGenerateUniqueIdentifier(uid, SITE_INSTANCE_UID_ROOT));
/* set instance creation date to current date (YYYYMMDD) */
InstanceCreationDate.putOFStringArray(currentDate(tmpString));
/* create new study instance UID if required */
if (StudyInstanceUID.isEmpty())
{
- DCMSR_DEBUG(" Generating new value for Study Instance UID");
+ if (verboseMode)
+ DCMSR_DEBUG(" Generating new value for Study Instance UID");
StudyInstanceUID.putString(dcmGenerateUniqueIdentifier(uid, SITE_STUDY_UID_ROOT));
}
/* create new series instance UID if required */
if (SeriesInstanceUID.isEmpty())
{
- DCMSR_DEBUG(" Generating new value for Series Instance UID");
+ if (verboseMode)
+ DCMSR_DEBUG(" Generating new value for Series Instance UID");
SeriesInstanceUID.putString(dcmGenerateUniqueIdentifier(uid, SITE_SERIES_UID_ROOT));
}
/* iterate over all nodes */
do {
node = getNode();
+ /* and check for the desired concept name */
if ((node != NULL) && (node->getConceptName() == conceptName))
nodeID = node->getNodeID();
} while ((nodeID == 0) && iterate(searchIntoSub));
}
-size_t DSRDocumentSubTree::gotoNamedChildNode(const DSRCodedEntryValue &conceptName,
- const OFBool searchIntoSub)
+size_t DSRDocumentSubTree::gotoNamedChildNode(const DSRCodedEntryValue &conceptName)
{
/* first, goto child node */
size_t nodeID = gotoChild();
if (nodeID > 0)
- nodeID = gotoNamedNode(conceptName, OFFalse /*startFromRoot*/, searchIntoSub);
+ nodeID = gotoNamedNode(conceptName, OFFalse /*startFromRoot*/, OFFalse /*searchIntoSub*/);
+ return nodeID;
+}
+
+
+size_t DSRDocumentSubTree::gotoNamedNodeInSubTree(const DSRCodedEntryValue &conceptName,
+ const OFBool searchIntoSub)
+{
+ size_t nodeID = 0;
+ if (hasChildNodes())
+ {
+ /* start from first child node */
+ DSRDocumentTreeNodeCursor cursor(getChild());
+ if (cursor.isValid())
+ {
+ const DSRDocumentTreeNode *node;
+ /* iterate over all nodes in the subtree */
+ do {
+ node = cursor.getNode();
+ /* and check for the desired concept name */
+ if ((node != NULL) && (node->getConceptName() == conceptName))
+ nodeID = node->getNodeID();
+ } while ((nodeID == 0) && cursor.iterate(searchIntoSub));
+ /* if found, set internal cursor to this node */
+ if (nodeID > 0)
+ nodeID = gotoNode(nodeID, OFFalse /*startFromRoot*/);
+ }
+ }
return nodeID;
}
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
-#include "dcmtk/ofstd/ofdiag.h"
-
-// This is not about specialization but static member initialization, the
-// Visual Studio warning is therefore inappropriate and suppressed.
-#include DCMTK_DIAGNOSTIC_PUSH
-#include DCMTK_DIAGNOSTIC_IGNORE_NO_SUITABLE_DEFINITION_FOR_TEMPLATE_INSTANTIATION
-/* declared in class DSRListOfItems<T> */
-DCMTK_EXPLICIT_SPECIALIZATION
-const Sint32 DSRListOfItems<Sint32>::EmptyItem = 0;
-#include DCMTK_DIAGNOSTIC_POP
+
+
+template<>
+const Sint32& DSRgetEmptyItem<Sint32>()
+{
+ // no need to be thread-safe, since it is only an int
+ static const Sint32 t = 0;
+ return t;
+}
DSRImageFrameList::DSRImageFrameList()
/*
*
- * Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
-#include "dcmtk/ofstd/ofdiag.h"
-
-// This is not about specialization but static member initialization, the
-// Visual Studio warning is therefore inappropriate and suppressed.
-#include DCMTK_DIAGNOSTIC_PUSH
-#include DCMTK_DIAGNOSTIC_IGNORE_NO_SUITABLE_DEFINITION_FOR_TEMPLATE_INSTANTIATION
-/* declared in class DSRListOfItems<T> */
-DCMTK_EXPLICIT_SPECIALIZATION
-const Uint16 DSRListOfItems<Uint16>::EmptyItem = 0;
-#include DCMTK_DIAGNOSTIC_POP
+
+
+template<>
+const Uint16& DSRgetEmptyItem<Uint16>()
+{
+ // no need to be thread-safe, since it is only an int
+ static const Uint16 t = 0;
+ return t;
+}
DSRImageSegmentList::DSRImageSegmentList()
/*
*
- * Copyright (C) 2010-2016, OFFIS e.V.
+ * Copyright (C) 2010-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dcvrfl.h"
#include "dcmtk/ofstd/ofstd.h"
-#include "dcmtk/ofstd/ofdiag.h"
-
-// This is not about specialization but static member initialization, the
-// Visual Studio warning is therefore inappropriate and suppressed.
-#include DCMTK_DIAGNOSTIC_PUSH
-#include DCMTK_DIAGNOSTIC_IGNORE_NO_SUITABLE_DEFINITION_FOR_TEMPLATE_INSTANTIATION
-/* declared in class DSRListOfItems<T> */
-DCMTK_EXPLICIT_SPECIALIZATION
-const DSRGraphicData3DItem DSRListOfItems<DSRGraphicData3DItem>::EmptyItem(0, 0, 0);
-#include DCMTK_DIAGNOSTIC_POP
+
+
+// global empty item object so it gets initialized and cleaned up by the linker
+const DSRGraphicData3DItem DSRGraphicData3DEmptyItem(0, 0, 0);
+
+template<>
+const DSRGraphicData3DItem& DSRgetEmptyItem<DSRGraphicData3DItem>()
+{
+ return DSRGraphicData3DEmptyItem;
+}
DSRGraphicData3DList::DSRGraphicData3DList()
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dcvrfl.h"
#include "dcmtk/ofstd/ofstd.h"
-#include "dcmtk/ofstd/ofdiag.h"
-
-// This is not about specialization but static member initialization, the
-// Visual Studio warning is therefore inappropriate and suppressed.
-#include DCMTK_DIAGNOSTIC_PUSH
-#include DCMTK_DIAGNOSTIC_IGNORE_NO_SUITABLE_DEFINITION_FOR_TEMPLATE_INSTANTIATION
-/* declared in class DSRListOfItems<T> */
-DCMTK_EXPLICIT_SPECIALIZATION
-const DSRGraphicDataItem DSRListOfItems<DSRGraphicDataItem>::EmptyItem(0, 0);
-#include DCMTK_DIAGNOSTIC_POP
+
+
+// global empty item object so it gets initialized and cleaned up by the linker
+const DSRGraphicDataItem DSRGraphicDataEmptyItem(0, 0);
+
+template<>
+const DSRGraphicDataItem& DSRgetEmptyItem<DSRGraphicDataItem>()
+{
+ return DSRGraphicDataEmptyItem;
+}
DSRGraphicDataList::DSRGraphicDataList()
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dcdeftag.h"
#include "dcmtk/dcmdata/dcvrdt.h"
-#include "dcmtk/ofstd/ofdiag.h"
-
-// This is not about specialization but static member initialization, the
-// Visual Studio warning is therefore inappropriate and suppressed.
-#include DCMTK_DIAGNOSTIC_PUSH
-#include DCMTK_DIAGNOSTIC_IGNORE_NO_SUITABLE_DEFINITION_FOR_TEMPLATE_INSTANTIATION
-/* declared in class DSRListOfItems<T> */
-DCMTK_EXPLICIT_SPECIALIZATION
-const OFString DSRListOfItems<OFString>::EmptyItem;
-#include DCMTK_DIAGNOSTIC_POP
+
+
+// global empty item object so it gets initialized and cleaned up by the linker
+const OFString OFStringEmptyItem;
+
+template<>
+const OFString& DSRgetEmptyItem<OFString>()
+{
+ return OFStringEmptyItem;
+}
DSRReferencedDateTimeList::DSRReferencedDateTimeList()
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
-#include "dcmtk/ofstd/ofdiag.h"
-
-// This is not about specialization but static member initialization, the
-// Visual Studio warning is therefore inappropriate and suppressed.
-#include DCMTK_DIAGNOSTIC_PUSH
-#include DCMTK_DIAGNOSTIC_IGNORE_NO_SUITABLE_DEFINITION_FOR_TEMPLATE_INSTANTIATION
-/* declared in class DSRListOfItems<T> */
-DCMTK_EXPLICIT_SPECIALIZATION
-const Uint32 DSRListOfItems<Uint32>::EmptyItem = 0;
-#include DCMTK_DIAGNOSTIC_POP
+
+
+template<>
+const Uint32& DSRgetEmptyItem<Uint32>()
+{
+ // no need to be thread-safe, since it is only an int
+ static const Uint32 t = 0;
+ return t;
+}
DSRReferencedSamplePositionList::DSRReferencedSamplePositionList()
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/ofstd.h"
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
-#include "dcmtk/ofstd/ofdiag.h"
-
-// This is not about specialization but static member initialization, the
-// Visual Studio warning is therefore inappropriate and suppressed.
-#include DCMTK_DIAGNOSTIC_PUSH
-#include DCMTK_DIAGNOSTIC_IGNORE_NO_SUITABLE_DEFINITION_FOR_TEMPLATE_INSTANTIATION
-/* declared in class DSRListOfItems<T> */
-DCMTK_EXPLICIT_SPECIALIZATION const Float64 DSRListOfItems<Float64>::EmptyItem = 0;
-#include DCMTK_DIAGNOSTIC_POP
+
+
+template<>
+const Float64& DSRgetEmptyItem<Float64>()
+{
+ // no need to be thread-safe, since it is only a float
+ static const Float64 t = 0;
+ return t;
+}
+
DSRReferencedTimeOffsetList::DSRReferencedTimeOffsetList()
: DSRListOfItems<Float64>()
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{DSRTypes::DT_RadiopharmaceuticalRadiationDoseSR, UID_RadiopharmaceuticalRadiationDoseSRStorage, EM_EnhancedEquipment, "SR", "Radiopharmaceutical Radiation Dose SR"},
{DSRTypes::DT_ExtensibleSR, UID_ExtensibleSRStorage, EM_EnhancedEquipment, "SR", "Extensible SR"},
{DSRTypes::DT_AcquisitionContextSR, UID_AcquisitionContextSRStorage, EM_EnhancedEquipment, "SR", "Acquisition Context SR"},
- {DSRTypes::DT_SimplifiedAdultEchoSR, UID_SimplifiedAdultEchoSRStorage, EM_EnhancedEquipment | EM_Timezone, "SR", "Simplified Adult Echo SR"}
+ {DSRTypes::DT_SimplifiedAdultEchoSR, UID_SimplifiedAdultEchoSRStorage, EM_EnhancedEquipment | EM_Timezone, "SR", "Simplified Adult Echo SR"},
+ {DSRTypes::DT_PatientRadiationDoseSR, UID_PatientRadiationDoseSRStorage, EM_EnhancedEquipment, "SR", "Patient Radiation Dose SR"}
};
static const S_ValueTypeNameMap ValueTypeNameMap[] =
{
- {DSRTypes::VT_invalid, "", "item", "invalid/unknown value type"},
- {DSRTypes::VT_Text, "TEXT", "text", "Text"},
- {DSRTypes::VT_Code, "CODE", "code", "Code"},
- {DSRTypes::VT_Num, "NUM", "num", "Number"},
- {DSRTypes::VT_DateTime, "DATETIME", "datetime", "Date/Time"},
- {DSRTypes::VT_Date, "DATE", "date", "Date"},
- {DSRTypes::VT_Time, "TIME", "time", "Time"},
- {DSRTypes::VT_UIDRef, "UIDREF", "uidref", "UID Reference"},
- {DSRTypes::VT_PName, "PNAME", "pname", "Person Name"},
- {DSRTypes::VT_SCoord, "SCOORD", "scoord", "Spatial Coordinates"},
- {DSRTypes::VT_SCoord3D, "SCOORD3D", "scoord3d", "Spatial Coordinates (3D)"},
- {DSRTypes::VT_TCoord, "TCOORD", "tcoord", "Temporal Coordinates"},
- {DSRTypes::VT_Composite, "COMPOSITE", "composite", "Composite Object"},
- {DSRTypes::VT_Image, "IMAGE", "image", "Image"},
- {DSRTypes::VT_Waveform, "WAVEFORM", "waveform", "Waveform"},
- {DSRTypes::VT_Container, "CONTAINER", "container", "Container"},
- {DSRTypes::VT_byReference, "(by-reference)", "reference", "(by-reference)"},
- {DSRTypes::VT_includedTemplate, "(incl-template)", "template", "(included template)"}
+ {DSRTypes::VT_invalid, "", "item", "invalid/unknown value type"},
+ {DSRTypes::VT_Text, "TEXT", "text", "Text"},
+ {DSRTypes::VT_Code, "CODE", "code", "Code"},
+ {DSRTypes::VT_Num, "NUM", "num", "Number"},
+ {DSRTypes::VT_DateTime, "DATETIME", "datetime", "Date/Time"},
+ {DSRTypes::VT_Date, "DATE", "date", "Date"},
+ {DSRTypes::VT_Time, "TIME", "time", "Time"},
+ {DSRTypes::VT_UIDRef, "UIDREF", "uidref", "UID Reference"},
+ {DSRTypes::VT_PName, "PNAME", "pname", "Person Name"},
+ {DSRTypes::VT_SCoord, "SCOORD", "scoord", "Spatial Coordinates"},
+ {DSRTypes::VT_SCoord3D, "SCOORD3D", "scoord3d", "Spatial Coordinates (3D)"},
+ {DSRTypes::VT_TCoord, "TCOORD", "tcoord", "Temporal Coordinates"},
+ {DSRTypes::VT_Composite, "COMPOSITE", "composite", "Composite Object"},
+ {DSRTypes::VT_Image, "IMAGE", "image", "Image"},
+ {DSRTypes::VT_Waveform, "WAVEFORM", "waveform", "Waveform"},
+ {DSRTypes::VT_Container, "CONTAINER", "container", "Container"},
+ {DSRTypes::VT_byReference, "(by-reference)", "reference", "(by-reference)"},
+ {DSRTypes::VT_includedTemplate, "(incl-template)", "INCL-TEMPL", "(included template)"} // the XML name should never be used!
};
static const S_PresentationStateTypeNameMap PresentationStateTypeNameMap[] =
{
- {DSRTypes::PT_invalid, "", "invalid/unknown presentation state type"},
- {DSRTypes::PT_Grayscale, UID_GrayscaleSoftcopyPresentationStateStorage, "GSPS"},
- {DSRTypes::PT_Color, UID_ColorSoftcopyPresentationStateStorage, "CSPS"},
- {DSRTypes::PT_PseudoColor, UID_PseudoColorSoftcopyPresentationStateStorage, "PCSPS"},
- {DSRTypes::PT_Blending, UID_BlendingSoftcopyPresentationStateStorage, "BSPS"},
- {DSRTypes::PT_XAXRFGrayscale, UID_XAXRFGrayscaleSoftcopyPresentationStateStorage, "XGSPS"},
- {DSRTypes::PT_GrayscalePlanarMPR, UID_GrayscalePlanarMPRVolumetricPresentationStateStorage, "GPVPS"},
- {DSRTypes::PT_CompositingPlanarMPR, UID_CompositingPlanarMPRVolumetricPresentationStateStorage, "CPVPS"}
+ {DSRTypes::PT_invalid, "", "invalid/unknown presentation state type"},
+ {DSRTypes::PT_Grayscale, UID_GrayscaleSoftcopyPresentationStateStorage, "GSPS"},
+ {DSRTypes::PT_Color, UID_ColorSoftcopyPresentationStateStorage, "CSPS"},
+ {DSRTypes::PT_PseudoColor, UID_PseudoColorSoftcopyPresentationStateStorage, "PCSPS"},
+ {DSRTypes::PT_Blending, UID_BlendingSoftcopyPresentationStateStorage, "BSPS"},
+ {DSRTypes::PT_XAXRFGrayscale, UID_XAXRFGrayscaleSoftcopyPresentationStateStorage, "XGSPS"},
+ {DSRTypes::PT_GrayscalePlanarMPR, UID_GrayscalePlanarMPRVolumetricPresentationStateStorage, "GP-VPS"},
+ {DSRTypes::PT_CompositingPlanarMPR, UID_CompositingPlanarMPRVolumetricPresentationStateStorage, "CP-VPS"},
+ {DSRTypes::PT_AdvancedBlending, UID_AdvancedBlendingPresentationStateStorage, "ABPS"},
+ {DSRTypes::PT_VolumeRendering, UID_VolumeRenderingVolumetricPresentationStateStorage, "VR-VPS"},
+ {DSRTypes::PT_SegmentedVolumeRendering, UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage, "SVR-VPS"},
+ {DSRTypes::PT_MultipleVolumeRendering, UID_MultipleVolumeRenderingVolumetricPresentationStateStorage, "MVR-VPS"}
};
OFBool DSRTypes::isDocumentTypeSupported(const E_DocumentType documentType)
{
- return (documentType != DT_invalid) && (documentType != DT_ExtensibleSR);
+ return (documentType != DT_invalid) && (documentType != DT_ExtensibleSR) && (documentType != DT_PatientRadiationDoseSR);
}
case DT_SimplifiedAdultEchoSR:
checker = new DSRSimplifiedAdultEchoSRConstraintChecker();
break;
+ case DT_PatientRadiationDoseSR:
+ /* not yet supported */
+ break;
case DT_invalid:
/* nothing to do */
break;
/*
*
- * Copyright (C) 2000-2016, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
-#include "dcmtk/ofstd/ofdiag.h"
-
-// This is not about specialization but static member initialization, the
-// Visual Studio warning is therefore inappropriate and suppressed.
-#include DCMTK_DIAGNOSTIC_PUSH
-#include DCMTK_DIAGNOSTIC_IGNORE_NO_SUITABLE_DEFINITION_FOR_TEMPLATE_INSTANTIATION
-/* declared in class DSRListOfItems<T> */
-DCMTK_EXPLICIT_SPECIALIZATION
-const DSRWaveformChannelItem DSRListOfItems<DSRWaveformChannelItem>::EmptyItem(0, 0);
-#include DCMTK_DIAGNOSTIC_POP
+
+
+// global empty item object so it gets initialized and cleaned up by the linker
+const DSRWaveformChannelItem DSRWaveformChannelEmptyItem(0, 0);
+
+template<>
+const DSRWaveformChannelItem& DSRgetEmptyItem<DSRWaveformChannelItem>()
+{
+ return DSRWaveformChannelEmptyItem;
+}
DSRWaveformChannelList::DSRWaveformChannelList()
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../oflog/include/dcmtk/oflog/logmacro.h \
../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \
../include/dcmtk/dcmsr/dsrtlist.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcerror.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../ofstd/include/dcmtk/ofstd/diag/push.def \
+ ../../ofstd/include/dcmtk/ofstd/diag/shadow.def \
+ ../../ofstd/include/dcmtk/ofstd/diag/pop.def
tsrnumvl.o: tsrnumvl.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdncsr.h ../include/dcmtk/dcmsr/dsrcitem.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
../include/dcmtk/dcmsr/dsrtncsr.h ../include/dcmtk/dcmsr/dsrposcn.h \
../include/dcmtk/dcmsr/dsrtnant.h \
- ../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ../../ofstd/include/dcmtk/ofstd/ofstack.h
-L$(oflogdir)/libsrc -L$(dcmdatadir)/libsrc -L$(dcmimgledir)/libsrc \
-L$(dcmimagedir)/libsrc
LOCALLIBS = -lcmr -ldcmsr -ldcmimage -ldcmimgle -ldcmdata -loflog -lofstd $(TIFFLIBS) \
- $(PNGLIBS) $(XMLLIBS) $(ZLIBLIBS) $(CHARCONVLIBS)
+ $(PNGLIBS) $(XMLLIBS) $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS)
tstobjs = tests.o tsrtree.o tsrdoctr.o tsrdoc.o tsrcodvl.o tsrnumvl.o tsrtpl.o tsrcmr.o \
tsrlist.o
all: $(progs)
mkreport: mkreport.o
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ mkreport.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ mkreport.o $(LOCALLIBS) $(LIBS)
tests: $(tstobjs)
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(tstobjs) $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(tstobjs) $(LOCALLIBS) $(LIBS)
check: tests
/*
*
- * Copyright (C) 2012-2016, OFFIS e.V.
+ * Copyright (C) 2012-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFTEST_REGISTER(dcmsr_copyContentItem);
OFTEST_REGISTER(dcmsr_getCurrentNode);
OFTEST_REGISTER(dcmsr_gotoNamedNode);
+OFTEST_REGISTER(dcmsr_gotoNamedChildNode);
+OFTEST_REGISTER(dcmsr_gotoNamedNodeInSubTree);
OFTEST_REGISTER(dcmsr_gotoAnnotatedNode);
OFTEST_REGISTER(dcmsr_createDocSubTree);
OFTEST_REGISTER(dcmsr_copyDocSubTree);
/*
*
- * Copyright (C) 2014-2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2014-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
}
+OFTEST(dcmsr_gotoNamedChildNode)
+{
+ /* first, create a new SR document */
+ DSRDocument doc(DSRTypes::DT_ComprehensiveSR);
+ DSRDocumentTree &tree = doc.getTree();
+ /* then add some content items */
+ OFCHECK(tree.addContentItem(DSRTypes::RT_isRoot, DSRTypes::VT_Container));
+ OFCHECK(tree.addContentItem(DSRTypes::RT_contains, DSRTypes::VT_Text, DSRTypes::AM_belowCurrent));
+ OFCHECK(tree.addContentItem(DSRTypes::RT_contains, DSRTypes::VT_Num, DSRTypes::AM_afterCurrent));
+ OFCHECK(tree.getCurrentContentItem().setConceptName(DSRCodedEntryValue("N-1", "99_PRV", "NUM #1")).good());
+ OFCHECK(tree.addContentItem(DSRTypes::RT_hasProperties, DSRTypes::VT_Code, DSRTypes::AM_belowCurrent));
+ OFCHECK(tree.addContentItem(DSRTypes::RT_hasConceptMod, DSRTypes::VT_Code, DSRTypes::AM_afterCurrent));
+ const size_t nodeID1 = tree.getNodeID();
+ OFCHECK(tree.getCurrentContentItem().setConceptName(DSRCodedEntryValue("121206", "DCM", "Distance")).good());
+ OFCHECK(tree.goUp() > 0);
+ OFCHECK(tree.addContentItem(DSRTypes::RT_contains, DSRTypes::VT_Num, DSRTypes::AM_afterCurrent));
+ OFCHECK(tree.getCurrentContentItem().setConceptName(DSRCodedEntryValue("N-2", "99_PRV", "NUM #2")).good());
+ OFCHECK(tree.addContentItem(DSRTypes::RT_hasProperties, DSRTypes::VT_Code, DSRTypes::AM_belowCurrent));
+ OFCHECK(tree.addContentItem(DSRTypes::RT_hasConceptMod, DSRTypes::VT_Code, DSRTypes::AM_afterCurrent));
+ const size_t nodeID2 = tree.getNodeID();
+ OFCHECK(tree.getCurrentContentItem().setConceptName(DSRCodedEntryValue("121207", "DCM", "Height")).good());
+ OFCHECK(tree.addContentItem(DSRTypes::RT_hasConceptMod, DSRTypes::VT_Code, DSRTypes::AM_belowCurrent));
+ OFCHECK(tree.getCurrentContentItem().setConceptName(DSRCodedEntryValue("111221", "DCM", "Unknown failure")).good());
+ /* and check the "search by name" function */
+ OFCHECK(tree.gotoNamedNode(DSRCodedEntryValue("N-1", "99_PRV", "NUM #1")) > 0);
+ OFCHECK_EQUAL(tree.gotoNamedChildNode(DSRCodedEntryValue("121206", "DCM", "Distance")), nodeID1);
+ OFCHECK(tree.gotoNamedNode(DSRCodedEntryValue("N-1", "99_PRV", "NUM #1")) > 0);
+ OFCHECK(tree.gotoNamedChildNode(DSRCodedEntryValue("121207", "DCM", "Height")) == 0);
+ OFCHECK(tree.gotoNamedNode(DSRCodedEntryValue("N-1", "99_PRV", "NUM #1")) > 0);
+ OFCHECK(tree.gotoNamedChildNode(DSRCodedEntryValue("111221", "DCM", "Unknown failure")) == 0);
+ OFCHECK(tree.gotoNamedNode(DSRCodedEntryValue("N-2", "99_PRV", "NUM #2")) > 0);
+ OFCHECK(tree.gotoNamedChildNode(DSRCodedEntryValue("121206", "DCM", "Distance")) == 0);
+ OFCHECK(tree.gotoNamedNode(DSRCodedEntryValue("N-2", "99_PRV", "NUM #2")) > 0);
+ OFCHECK_EQUAL(tree.gotoNamedChildNode(DSRCodedEntryValue("121207", "DCM", "Height")), nodeID2);
+ OFCHECK(tree.gotoNamedNode(DSRCodedEntryValue("N-2", "99_PRV", "NUM #2")) > 0);
+ OFCHECK(tree.gotoNamedChildNode(DSRCodedEntryValue("111221", "DCM", "Unknown failure")) == 0);
+}
+
+
+OFTEST(dcmsr_gotoNamedNodeInSubTree)
+{
+ /* first, create a new SR document */
+ DSRDocument doc(DSRTypes::DT_ComprehensiveSR);
+ DSRDocumentTree &tree = doc.getTree();
+ /* then add some content items */
+ OFCHECK(tree.addContentItem(DSRTypes::RT_isRoot, DSRTypes::VT_Container));
+ OFCHECK(tree.addContentItem(DSRTypes::RT_contains, DSRTypes::VT_Text, DSRTypes::AM_belowCurrent));
+ OFCHECK(tree.addContentItem(DSRTypes::RT_contains, DSRTypes::VT_Num, DSRTypes::AM_afterCurrent));
+ OFCHECK(tree.getCurrentContentItem().setConceptName(DSRCodedEntryValue("N-1", "99_PRV", "NUM #1")).good());
+ OFCHECK(tree.addContentItem(DSRTypes::RT_hasProperties, DSRTypes::VT_Code, DSRTypes::AM_belowCurrent));
+ OFCHECK(tree.addContentItem(DSRTypes::RT_hasConceptMod, DSRTypes::VT_Code, DSRTypes::AM_afterCurrent));
+ const size_t nodeID1 = tree.getNodeID();
+ OFCHECK(tree.getCurrentContentItem().setConceptName(DSRCodedEntryValue("121206", "DCM", "Distance")).good());
+ OFCHECK(tree.goUp() > 0);
+ OFCHECK(tree.addContentItem(DSRTypes::RT_contains, DSRTypes::VT_Num, DSRTypes::AM_afterCurrent));
+ OFCHECK(tree.getCurrentContentItem().setConceptName(DSRCodedEntryValue("N-2", "99_PRV", "NUM #2")).good());
+ OFCHECK(tree.addContentItem(DSRTypes::RT_hasProperties, DSRTypes::VT_Code, DSRTypes::AM_belowCurrent));
+ OFCHECK(tree.addContentItem(DSRTypes::RT_hasConceptMod, DSRTypes::VT_Code, DSRTypes::AM_afterCurrent));
+ const size_t nodeID2 = tree.getNodeID();
+ OFCHECK(tree.getCurrentContentItem().setConceptName(DSRCodedEntryValue("121207", "DCM", "Height")).good());
+ OFCHECK(tree.addContentItem(DSRTypes::RT_hasConceptMod, DSRTypes::VT_Code, DSRTypes::AM_belowCurrent));
+ const size_t nodeID3 = tree.getNodeID();
+ OFCHECK(tree.getCurrentContentItem().setConceptName(DSRCodedEntryValue("111221", "DCM", "Unknown failure")).good());
+ /* and check the "search by name" function */
+ OFCHECK(tree.gotoNamedNode(DSRCodedEntryValue("N-1", "99_PRV", "NUM #1")) > 0);
+ OFCHECK_EQUAL(tree.gotoNamedNodeInSubTree(DSRCodedEntryValue("121206", "DCM", "Distance")), nodeID1);
+ OFCHECK(tree.gotoNamedNode(DSRCodedEntryValue("N-1", "99_PRV", "NUM #1")) > 0);
+ OFCHECK(tree.gotoNamedNodeInSubTree(DSRCodedEntryValue("121207", "DCM", "Height")) == 0);
+ OFCHECK(tree.gotoNamedNode(DSRCodedEntryValue("N-1", "99_PRV", "NUM #1")) > 0);
+ OFCHECK(tree.gotoNamedChildNode(DSRCodedEntryValue("111221", "DCM", "Unknown failure")) == 0);
+ OFCHECK(tree.gotoNamedNode(DSRCodedEntryValue("N-2", "99_PRV", "NUM #2")) > 0);
+ OFCHECK(tree.gotoNamedNodeInSubTree(DSRCodedEntryValue("121206", "DCM", "Distance")) == 0);
+ OFCHECK(tree.gotoNamedNode(DSRCodedEntryValue("N-2", "99_PRV", "NUM #2")) > 0);
+ OFCHECK_EQUAL(tree.gotoNamedNodeInSubTree(DSRCodedEntryValue("121207", "DCM", "Height")), nodeID2);
+ OFCHECK(tree.gotoNamedNode(DSRCodedEntryValue("N-2", "99_PRV", "NUM #2")) > 0);
+ OFCHECK_EQUAL(tree.gotoNamedNodeInSubTree(DSRCodedEntryValue("111221", "DCM", "Unknown failure")), nodeID3);
+}
+
+
OFTEST(dcmsr_gotoAnnotatedNode)
{
/* first, create a new SR document */
/*
*
- * Copyright (C) 2016, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2016-2017, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/ofstd/oftest.h"
+#include "dcmtk/ofstd/ofdiag.h"
#include "dcmtk/dcmsr/dsrtlist.h"
+// small dummy struct to use as list element, ensuring no other instance
+// of DSRListOfItems with this element type exists as a workaround for
+// Visual Studio not understanding C++ templates (again)
+struct Elem
+{
+#include DCMTK_DIAGNOSTIC_PUSH
+#include DCMTK_DIAGNOSTIC_IGNORE_SHADOW
+ Elem(int i = 0) : i(i) {}
+#include DCMTK_DIAGNOSTIC_POP
+ OFBool operator==(const Elem& rhs) const {return i == rhs.i;}
+ int i;
+};
+
+
+// provide EmptyItem for instantiation
+template<>
+const Elem& DSRgetEmptyItem<Elem>()
+{
+ static const Elem e;
+ return e;
+}
+
+
OFTEST(dcmsr_addItems)
{
- // disable test case when building shared libraries because of linker errors
-#ifndef DCMTK_SHARED
/* prepare test data */
- OFVector<Uint16> vec;
- for (Uint16 i = 0; i < 10; ++i)
+ OFVector<Elem> vec;
+ for (int i = 0; i < 10; ++i)
vec.push_back(i);
/* add data to list */
- DSRListOfItems<Uint16> lst;
+ DSRListOfItems<Elem> lst;
lst.addItems(vec);
/* and check result */
OFCHECK_EQUAL(lst.getNumberOfItems(), 10);
- for (Uint16 j = 0; j < 10; ++j)
- OFCHECK_EQUAL(lst.getItem(j + 1), j);
+ for (int j = 0; j < 10; ++j)
+ OFCHECK_EQUAL(lst.getItem(j + 1).i, j);
OFCHECK(lst.isElement(7));
OFCHECK(!lst.isElement(10));
-#endif
}
OFTEST(dcmsr_getItems)
{
- // disable test case when building shared libraries because of linker errors
-#ifndef DCMTK_SHARED
- DSRListOfItems<Uint16> lst;
+ DSRListOfItems<Elem> lst;
/* add data to list */
- for (Uint16 i = 0; i < 10; ++i)
+ for (int i = 0; i < 10; ++i)
lst.addItem(i);
/* and check result */
OFCHECK_EQUAL(lst.getNumberOfItems(), 10);
- OFVector<Uint16> vec;
+ OFVector<Elem> vec;
OFCHECK(lst.getItems(vec).good());
OFCHECK_EQUAL(vec.size(), 10);
- for (Uint16 j = 0; j < 10; ++j)
- OFCHECK_EQUAL(vec.at(j), j);
-#endif
+ for (int j = 0; j < 10; ++j)
+ OFCHECK_EQUAL(vec.at(j).i, j);
}
PROJECT(dcmtls)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmtls_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmnet_SOURCE_DIR}/include ${ZLIB_INCDIR} ${OPENSSL_INCDIR})
+INCLUDE_DIRECTORIES("${dcmtls_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${dcmnet_SOURCE_DIR}/include" ${ZLIB_INCDIR} ${OPENSSL_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc include docs)
# declare installation files
-INSTALL(FILES ciphers.txt randseed.txt DESTINATION ${DCMTK_INSTALL_DOCDIR} COMPONENT doc)
+INSTALL(FILES ciphers.txt randseed.txt DESTINATION "${DCMTK_INSTALL_DOCDIR}" COMPONENT doc)
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmtls DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmtls DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
/*
*
- * Copyright (C) 1998-2015, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* transparent layer is used.
* @return pointer to new connection object if successful, NULL otherwise.
*/
- virtual DcmTransportConnection *createConnection(int openSocket, OFBool useSecureLayer);
+ virtual DcmTransportConnection *createConnection(DcmNativeSocketType openSocket, OFBool useSecureLayer);
/** loads the private key used for authentication of this application from a file.
* @param fileName path to the private key file
/*
*
- * Copyright (C) 1998-2011, OFFIS e.V.
+ * Copyright (C) 1998-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* @param newTLSConnection pointer to intialized OpenSSL connection object
* to be used for this connection.
*/
- DcmTLSConnection(int openSocket, SSL *newTLSConnection);
+ DcmTLSConnection(DcmNativeSocketType openSocket, SSL *newTLSConnection);
/** destructor
*/
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../dcmnet/include/dcmtk/dcmnet/dndefine.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/config.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/dcmtls/tlstrans.h \
../../dcmnet/include/dcmtk/dcmnet/dcmtrans.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmnet/include/dcmtk/dcmnet/dcasccff.h \
../../dcmnet/include/dcmtk/dcmnet/dcasccfg.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../dcmnet/include/dcmtk/dcmnet/dcmlayer.h \
../../dcmnet/include/dcmtk/dcmnet/dndefine.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../include/dcmtk/dcmtls/tlsdefin.h ../include/dcmtk/dcmtls/tlslayer.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmnet/include/dcmtk/dcmnet/dcompat.h \
../../dcmnet/include/dcmtk/dcmnet/diutil.h \
../../dcmnet/include/dcmtk/dcmnet/dicom.h \
BEGIN_EXTERN_C
#ifdef HAVE_WINDOWS_H
+#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winbase.h>
#endif
return TCS_ok;
}
-DcmTransportConnection *DcmTLSTransportLayer::createConnection(int openSocket, OFBool useSecureLayer)
+DcmTransportConnection *DcmTLSTransportLayer::createConnection(DcmNativeSocketType openSocket, OFBool useSecureLayer)
{
if (useSecureLayer)
{
#ifdef WITH_OPENSSL
+#ifdef HAVE_WINDOWS_H
+// on Windows, we need Winsock2 for network functions
+#include <winsock2.h>
+#endif
+
#define INCLUDE_CSTDLIB
#define INCLUDE_CSTDIO
#define INCLUDE_CSTRING
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
-#ifdef HAVE_WINDOWS_H
-#include <windows.h>
-#include <winbase.h>
-#endif
#include <openssl/err.h>
END_EXTERN_C
-#ifdef HAVE_GUSI_H
-#include <GUSI.h> /* Use the Grand Unified Sockets Interface (GUSI) on Macintosh */
-#endif
-
#include "dcmtk/ofstd/ofbmanip.h"
#include "dcmtk/dcmtls/tlstrans.h"
#include "dcmtk/dcmtls/tlslayer.h"
#include "dcmtk/dcmnet/diutil.h"
-DcmTLSConnection::DcmTLSConnection(int openSocket, SSL *newTLSConnection)
+DcmTLSConnection::DcmTLSConnection(DcmNativeSocketType openSocket, SSL *newTLSConnection)
: DcmTransportConnection(openSocket)
, tlsConnection(newTLSConnection)
, lastError(0)
t.tv_usec = 0;
#ifdef HAVE_INTP_SELECT
- nfound = select(getSocket() + 1, (int *)(&fdset), NULL, NULL, &t);
+ nfound = select(OFstatic_cast(int, getSocket() + 1), (int *)(&fdset), NULL, NULL, &t);
#else
- nfound = select(getSocket() + 1, &fdset, NULL, NULL, &t);
+ // This is safe because on Windows the first select() parameter is ignored anyway
+ nfound = select(OFstatic_cast(int, getSocket() + 1), &fdset, NULL, NULL, &t);
#endif
if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
{
PROJECT(dcmtract)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmtract_SOURCE_DIR}/include ${dcmiod_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmtract_SOURCE_DIR}/include" "${dcmiod_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" ${ZLIB_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc include)
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmtract DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h" PATTERN "CVS" EXCLUDE)
+INSTALL(DIRECTORY dcmtk/dcmtract DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h" PATTERN "CVS" EXCLUDE)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmtract/trcmeasurement.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmtract/trcmodtractresults.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmtract/trcstatistic.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmtract/trctrack.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/dcmtract/trctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../include/dcmtk/dcmtract/trcdef.h
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../include/dcmtk/dcmtract/trctrackset.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../dcmiod/include/dcmtk/dcmiod/cielabutil.h \
../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmtract/trcdef.h
OFCondition result = statistic->TrcStatistic::setCommon(typeCode, typeModifierCode, unitsCode);
if (result.good())
{
- result = statistic->getData().putAndInsertFloat32Array(DCM_FloatingPointValues, statisticValues, numValues);
+ result = statistic->getData().putAndInsertFloat32Array(DCM_FloatingPointValues, statisticValues, OFstatic_cast(unsigned long, numValues));
if (result.bad())
{
result = TRC_EC_InvalidStatisticData;
OFCondition result = TrcStatistic::setCommon(typeCode, typeModifierCode, unitsCode);
if (result.good())
{
- result = m_Item->putAndInsertFloat32Array(DCM_FloatingPointValues, statisticValues, numValues);
+ result = m_Item->putAndInsertFloat32Array(DCM_FloatingPointValues, statisticValues, OFstatic_cast(unsigned long, numValues));
}
return result;
}
/*
*
- * Copyright (C) 2016, Open Connections GmbH
+ * Copyright (C) 2016-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
OFCondition TrcTrack::setTrackData(const Float32* trackDataPoints,
const size_t numPoints)
{
- return m_Item->putAndInsertFloat32Array(DCM_PointCoordinatesData, trackDataPoints, numPoints*3);
+ return m_Item->putAndInsertFloat32Array(DCM_PointCoordinatesData, trackDataPoints, OFstatic_cast(unsigned long, numPoints*3));
}
}
if (numColors == 1)
{
- return m_Item->putAndInsertUint16Array(DCM_RecommendedDisplayCIELabValue, colors, numColors * 3);
+ return m_Item->putAndInsertUint16Array(DCM_RecommendedDisplayCIELabValue, colors, OFstatic_cast(unsigned long, numColors * 3));
}
else
{
- return m_Item->putAndInsertUint16Array(DCM_RecommendedDisplayCIELabValueList, colors, numColors * 3);
+ return m_Item->putAndInsertUint16Array(DCM_RecommendedDisplayCIELabValueList, colors, OFstatic_cast(unsigned long, numColors * 3));
}
// should never get here
return TRC_EC_InvalidColorInformation;
/*
*
- * Copyright (C) 2016, Open Connections GmbH
+ * Copyright (C) 2016-2017, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
OFCondition result = TrcTrackSet::create(trackSetLabel, trackSetDescription, anatomyCode, diffusionModelCode, algoIdentCode, trackSet);
if (result.good())
{
- result = trackSet->getData().putAndInsertUint32(DCM_TrackSetNumber, m_TractographyResultsModule.getTrackSets().size() + 1);
+ result = trackSet->getData().putAndInsertUint32(DCM_TrackSetNumber, OFstatic_cast(Uint32, m_TractographyResultsModule.getTrackSets().size() + 1));
if (result.good())
{
m_TractographyResultsModule.getTrackSets().push_back(trackSet);
PROJECT(dcmwlm)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmwlm_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmnet_SOURCE_DIR}/include ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES("${dcmwlm_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${oflog_SOURCE_DIR}/include" "${dcmdata_SOURCE_DIR}/include" "${dcmnet_SOURCE_DIR}/include" ${ZLIB_INCDIR})
# recurse into subdirectories
-FOREACH(SUBDIR libsrc apps include data)
+FOREACH(SUBDIR libsrc apps include data tests)
ADD_SUBDIRECTORY(${SUBDIR})
ENDFOREACH(SUBDIR)
# declare additional include directories
-INCLUDE_DIRECTORIES(${dcmtls_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES("${dcmtls_SOURCE_DIR}/include")
# declare executables
DCMTK_ADD_EXECUTABLE(wlmscpfs wlmscpfs wlcefs)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmwlm/wltypdef.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmnet/include/dcmtk/dcmnet/dimse.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmwlm/wltypdef.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
LIBDIRS = -L$(top_srcdir)/libsrc $(dcmnetlibdir) $(dcmdatalibdir) \
$(ofloglibdir) $(ofstdlibdir)
LOCALLIBS = -ldcmwlm $(dcmnetlib) $(dcmdatalib) $(ofloglib) $(ofstdlib) \
- $(ZLIBLIBS) $(TCPWRAPPERLIBS) $(CHARCONVLIBS)
+ $(ZLIBLIBS) $(TCPWRAPPERLIBS) $(CHARCONVLIBS) $(MATHLIBS)
objs = wlcefs.o wlmscpfs.o
progs = wlmscpfs
all: $(progs)
wlmscpfs: $(objs)
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(objs) $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(objs) $(LOCALLIBS) $(LIBS)
install: all
/*
*
- * Copyright (C) 1996-2014, OFFIS e.V.
+ * Copyright (C) 1996-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
sprintf( rcsid, "$dcmtk: %s v%s %s $", applicationName, OFFIS_DCMTK_VERSION, OFFIS_DCMTK_RELEASEDATE );
// Initialize starting values for variables pertaining to program options.
- opt_dfPath = "/home/www/wlist";
+ opt_dfPath = ".";
// default: spawn new process for each incoming connection (fork()-OS or WIN32)
#if defined(HAVE_FORK) || defined(_WIN32)
# declare directories to be installed
-INSTALL(DIRECTORY wlistdb wlistqry DESTINATION ${DCMTK_INSTALL_DATDIR} COMPONENT data)
+INSTALL(DIRECTORY wlistdb wlistqry DESTINATION "${DCMTK_INSTALL_DATDIR}" COMPONENT data)
\page wlmscpfs wlmscpfs: DICOM Basic Worklist Management SCP (based on data files)
\endif
-\section synopsis SYNOPSIS
+\section wlmscpfs_synopsis SYNOPSIS
\verbatim
wlmscpfs [options] port
\endverbatim
-\section description DESCRIPTION
+\section wlmscpfs_description DESCRIPTION
The \b wlmscpfs application implements a Service Class Provider (SCP) for the
Basic Worklist Management Service. The application will listen on a specified
with Worklist Management queries, the \b wlmscpfs application also supports
the Verification Service Class as an SCP.
-\section parameters PARAMETERS
+\section wlmscpfs_parameters PARAMETERS
\verbatim
port tcp/ip port number to listen on
\endverbatim
-\section options OPTIONS
+\section wlmscpfs_options OPTIONS
-\subsection general_options general options
+\subsection wlmscpfs_general_options general options
\verbatim
-h --help
print this help text and exit
use config file f for the logger
\endverbatim
-\subsection multiprocess_options multi-process options
+\subsection wlmscpfs_multiprocess_options multi-process options
\verbatim
-s --single-process
single process mode
fork child process for each association (default)
\endverbatim
-\subsection input_options input options
+\subsection wlmscpfs_input_options input options
\verbatim
general:
- -dfp --data-files-path [p]ath: string (default: /home/www/wlist)
+ -dfp --data-files-path [p]ath: string (default: .)
path to worklist data files
handling of worklist files:
disable rejection of incomplete worklist files
\endverbatim
-\subsection processing_options processing options
+\subsection wlmscpfs_processing_options processing options
\verbatim
returned character set:
request messages
\endverbatim
-\subsection network_options network options
+\subsection wlmscpfs_network_options network options
\verbatim
preferred network transfer syntaxes:
disable hostname lookup
\endverbatim
-\section notes NOTES
+\section wlmscpfs_notes NOTES
The semantic impacts of the above mentioned options is clear for the majority
of options. Some particular options, however, are so specific that they need
Table K.6-1 in part 4 annex K of the DICOM standard lists all corresponding
type 1 attributes (see column "Return Key Type").
-\subsection dicom_conformance DICOM Conformance
+\subsection wlmscpfs_dicom_conformance DICOM Conformance
The \b wlmscpfs application supports the following SOP Classes as an SCP:
(0010,0021) IssuerOfPatientID
(0010,0030) PatientBirthDate
(0010,0040) PatientSex
-(0010,1000) OtherPatientIDs
+(0010,1000) OtherPatientIDs (retired)
(0010,1001) OtherPatientNames
(0010,1020) PatientSize
(0010,1030) PatientWeight
(0010,21b0) AdditionalPatientHistory
(0010,21c0) PregnancyStatus
(0010,21d0) LastMenstrualDate
-(0010,2297) Responsible Person
-(0010,2298) Responsible Person Role
+(0010,2297) ResponsiblePerson
+(0010,2298) ResponsiblePersonRole
(0010,4000) PatientComments
(0020,000d) StudyInstanceUID
(0032,1032) RequestingPhysician
The attribute (0008,0005) SpecificCharacterSet is a special case and its
support by \b wlmscpfs is discussed in the NOTES section above.
-\subsection access_control Access Control
+\subsection wlmscpfs_access_control Access Control
When compiled on Unix platforms with TCP wrapper support, host-based access
control can be enabled with the \e --access-control command line option. In
control tables are <em>/etc/hosts.allow</em> and <em>/etc/hosts.deny</em>.
Further details are described in <b>hosts_access</b>(5).
-\section logging LOGGING
+\section wlmscpfs_logging LOGGING
The level of logging output of the various command line tools and underlying
libraries can be specified by the user. By default, only errors and warnings
based on the module or application where they are generated. An example
configuration file is provided in <em>\<etcdir\>/logger.cfg</em>.
-\section command_line COMMAND LINE
+\section wlmscpfs_command_line COMMAND LINE
All command line tools use the following notation for parameters: square
brackets enclose optional values (0-1), three trailing dots indicate that
longish and confusing command lines (an example is provided in file
<em>\<datadir\>/dumppat.txt</em>).
-\section environment ENVIRONMENT
+\section wlmscpfs_environment ENVIRONMENT
The \b wlmscpfs utility will attempt to load DICOM data dictionaries specified
in the \e DCMDICTPATH environment variable. By default, i.e. if the
attempt to load each file specified in the \e DCMDICTPATH environment variable.
It is an error if no data dictionary can be loaded.
-\section copyright COPYRIGHT
+\section wlmscpfs_copyright COPYRIGHT
-Copyright (C) 1996-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
+Copyright (C) 1996-2017 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
*/
# declare installation files
-INSTALL(DIRECTORY dcmtk/dcmwlm DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/dcmwlm DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
/*
*
- * Copyright (C) 1996-2012, OFFIS e.V.
+ * Copyright (C) 1996-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* DCM_NamesOfIntendedRecipientsOfResults (0040,1010) PN O 3 (from the Requested Procedure Module)
* DCM_InstitutionName (0008,0080) LO O 3 (from the Visit Identification Module)
* DCM_AdmittingDiagnosesDescription (0008,1080) LO O 3 (from the Visit Admission Module)
- * DCM_OtherPatientIDs (0010,1000) LO O 3 (from the Patient Identification Module)
+ * DCM_RETIRED_OtherPatientIDs (0010,1000) LO O 3 (from the Patient Identification Module)
* DCM_PatientSize (0010,1020) DS O 3 (from the Patient Demographic Module)
* DCM_EthnicGroup (0010,2160) SH O 3 (from the Patient Demographic Module)
* DCM_PatientComments (0010,4000) LT O 3 (from the Patient Demographic Module)
virtual ~WlmDataSource();
/** Connects to the data source.
- * @return Indicates if the connection was established succesfully.
+ * @return Indicates if the connection was established successfully.
*/
virtual OFCondition ConnectToDataSource() = 0;
/** Disconnects from the data source.
- * @return Indicates if the disconnection was completed succesfully.
+ * @return Indicates if the disconnection was completed successfully.
*/
virtual OFCondition DisconnectFromDataSource() = 0;
~WlmDataSourceFileSystem();
/** Connects to the data source.
- * @return Indicates if the connection was established succesfully.
+ * @return Indicates if the connection was established successfully.
*/
OFCondition ConnectToDataSource();
/** Disconnects from the data source.
- * @return Indicates if the disconnection was completed succesfully.
+ * @return Indicates if the disconnection was completed successfully.
*/
OFCondition DisconnectFromDataSource();
class DCMTK_DCMWLM_EXPORT WlmFileSystemInteractionManager
{
private:
+
+ /** Matching keys configuration. */
+ class MatchingKeys;
+
/** Privately defined copy constructor.
* @param old Object which shall be copied.
*/
*/
OFBool ReferencedStudyOrPatientSequenceIsAbsentOrExistentButNonEmptyAndIncomplete( DcmTagKey sequenceTagKey, DcmItem *dset );
- /** This function checks if the specified description and code sequence attribute are both incomplete in the given dataset.
+ /** This method ensures that either code or description is set to a non-empty value,
+ * and at the same time none of the attributes is present with a zero-length value.
+ * If one of these requirements are not met, then OFTrue is returned, otherwise OFFalse.
* @param descriptionTagKey The description attribute which shall be checked.
* @param codeSequenceTagKey The codeSequence attribute which shall be checked.
* @param dset The dataset in which the attributes are contained.
- * @return OFTrue in case both attributes are incomplete, OFFalse otherwise.
+ * @return OFFalse (i.e. no error regarding the standard) in case at least
+ * one of both attributes has a non-empty, valid value, and none
+ * is set to an empty value. OFTrue otherwise.
*/
OFBool DescriptionAndCodeSequenceAttributesAreIncomplete( DcmTagKey descriptionTagKey, DcmTagKey codeSequenceTagKey, DcmItem *dset );
*/
OFBool AttributeIsAbsentOrEmpty( DcmTagKey elemTagKey, DcmItem *dset );
+ /** This function returns OFTrue, if the matching key attribute values in the one of the items of the candidate sequence
+ * match the matching key attribute values in at least one of the items of the query sequence.
+ * @param candidate The candidate sequence.
+ * @param query The query sequence.
+ * @param matchingKeys The matching keys to regard.
+ * @return OFTrue in case at least one item matches, OFFalse otherwise.
+ */
+ OFBool MatchSequences( DcmSequenceOfItems& candidate, DcmSequenceOfItems& query, const MatchingKeys& matchingKeys );
+
/** This function returns OFTrue, if the matching key attribute values in the
* dataset match the matching key attribute values in the search mask.
* @param dataset The dataset which shall be checked.
* @param searchMask The search mask.
+ * @param matchingKeys The matching keys to regard.
* @return OFTrue in case the dataset matches the search mask in the matching key attribute values, OFFalse otherwise.
*/
- OFBool DatasetMatchesSearchMask( DcmDataset *dataset, DcmDataset *searchMask );
-
- /** This function determines the values of the matching key attributes in the given dataset.
- * @param dataset Dataset from which the values shall be extracted.
- * @param matchingKeyAttrValues Contains in the end the values of the matching key
- * attributes in the search mask. Is an array of pointers.
- */
- void DetermineMatchingKeyAttributeValues( DcmDataset *dataset, const char **&matchingKeyAttrValues );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute issuer of patient id match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool IssuerOfPatientIDsMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute study date and study time match; otherwise OFFalse will be returned.
- * @param datasetDateValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param datasetTimeValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskDateValue Value for the corresponding attribute in the search mask; might be NULL.
- * @param searchMaskTimeValue Value for the corresponding attribute in the search mask; might be NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool StudyDateTimesMatch( const char *datasetDateValue, const char *datasetTimeValue, const char *searchMaskDateValue, const char *searchMaskTimeValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute scheduled station AE title match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool ScheduledStationAETitlesMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attributes scheduled procedure step start date and scheduled procedure step
- * start time match; otherwise OFFalse will be returned.
- * @param datasetDateValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param datasetTimeValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskDateValue Value for the corresponding attribute in the search mask; might be NULL.
- * @param searchMaskTimeValue Value for the corresponding attribute in the search mask; might be NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool ScheduledProcedureStepStartDateTimesMatch( const char *datasetDateValue, const char *datasetTimeValue, const char *searchMaskDateValue, const char *searchMaskTimeValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute modality match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool ModalitiesMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute scheduled performing physician's names match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool ScheduledPerformingPhysicianNamesMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute patient's names match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool PatientsNamesMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute patient id match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool PatientsIDsMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute accession number match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool AccessionNumbersMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute requested procedure id match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool RequestedProcedureIdsMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute referring physician's name match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool ReferringPhysicianNamesMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute patient sex match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool PatientsSexesMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute requesting physician match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool RequestingPhysiciansMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute admission id match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool AdmissionIdsMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute requested procedure priorities match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool RequestedProcedurePrioritiesMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values in
- * attribute patient's birth date match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool PatientsBirthDatesMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function performs a date time range match and returns OFTrue if the dataset's
- * and the search mask's values in the corresponding attributes match; otherwise OFFalse
- * will be returned.
- * @param datasetDateValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param datasetTimeValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskDateValue Value for the corresponding attribute in the search mask; never NULL.
- * @param searchMaskTimeValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool DateTimeRangeMatch( const char *datasetDateValue, const char *datasetTimeValue, const char *searchMaskDateValue, const char *searchMaskTimeValue );
-
- /** This function performs a date range match and returns OFTrue if the dataset's and
- * the search mask's values in the corresponding attributes match; otherwise OFFalse
- * will be returned.
- * @param datasetDateValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskDateValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool DateRangeMatch( const char *datasetDateValue, const char *searchMaskDateValue );
-
- /** This function performs a time range match and returns OFTrue if the dataset's and
- * the search mask's values in the corresponding attributes match; otherwise OFFalse
- * will be returned.
- * @param datasetTimeValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskTimeValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool TimeRangeMatch( const char *datasetTimeValue, const char *searchMaskTimeValue );
-
- /** This function performs a date time single value match and returns OFTrue if the dataset's
- * and the search mask's values in the corresponding attributes match; otherwise OFFalse
- * will be returned.
- * @param datasetDateValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param datasetTimeValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskDateValue Value for the corresponding attribute in the search mask; never NULL.
- * @param searchMaskTimeValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool DateTimeSingleValueMatch( const char *datasetDateValue, const char *datasetTimeValue, const char *searchMaskDateValue, const char *searchMaskTimeValue );
-
- /** This function performs a date single value match and returns OFTrue if the dataset's
- * and the search mask's values in the corresponding attributes match; otherwise OFFalse
- * will be returned.
- * @param datasetDateValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskDateValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool DateSingleValueMatch( const char *datasetDateValue, const char *searchMaskDateValue );
-
- /** This function performs a time single value match and returns OFTrue if the dataset's
- * and the search mask's values in the corresponding attributes match; otherwise OFFalse
- * will be returned.
- * @param datasetTimeValue Value for the corresponding attribute in the dataset; might be NULL.
- * @param searchMaskTimeValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool TimeSingleValueMatch( const char *datasetTimeValue, const char *searchMaskTimeValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values
- * match while performing a case sensitive single value match; otherwise OFFalse
- * will be returned. If the dataset's value is NULL, only a "*" matches.
- * @param datasetValue Value for the corresponding attribute in the dataset; may be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool CaseSensitiveSingleValueOrWildcardMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values
- * match while performing a case sensitive single value match; otherwise OFFalse
- * will be returned. If the dataset's value is NULL, only a "*" matches.
- * @param datasetValue Value for the corresponding attribute in the dataset; may be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the
- * search mask; trailing spaces are ignored; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool CaseSensitiveSingleValueOrWildcardStripSpacesMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values
- * match while performing a case sensitive single value match; otherwise OFFalse
- * will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; never NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool CaseSensitiveSingleValueMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values
- * match while performing a wildcard match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; never NULL.
- * @param searchMaskValue Value for the corresponding attribute in the search mask; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool WildcardMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function returns OFTrue if the dataset's and the search mask's values
- * match while performing a wildcard match; otherwise OFFalse will be returned.
- * @param datasetValue Value for the corresponding attribute in the dataset; may be NULL.
- * @param searchMaskValue Value for the corresponding attribute in the
- * search mask; trailing spaces are ignored; never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool WildcardStripSpacesMatch( const char *datasetValue, const char *searchMaskValue );
-
- /** This function is called, if the search pattern contains a star symbol. It determines
- * if dv (the dataset's value) still matches sv (the search mask's value). This function
- * takes the star symbol in sv into account. (Note that the pattern value might contain
- * more wild card symbols.) The function will return OFTrue if there is a match; if there
- * is not a match it will return OFFalse.
- * @param dv Dataset's value; never NULL.
- * @param sv Search mask's value (may contain wild card symbols); never NULL.
- * @return OFTrue if the values match, OFFalse otherwise.
- */
- OFBool MatchStarSymbol( const char *dv, const char *sv );
-
- /** This function extracts the actual lower and upper date or time values from a given
- * date or time range.
- * @param range Date or time range from which lower and upper values shall be extracted.
- * @param lower Newly created string specifying the lower value from the date/time range;
- * NULL if value is not specified in range.
- * @param upper Newly created string specifying the upper value from the date/time range;
- * NULL if value is not specified in range.
- */
- void ExtractValuesFromRange( const char *range, char *&lower, char *&upper );
+ OFBool DatasetMatchesSearchMask( DcmItem *dataset, DcmItem *searchMask, const MatchingKeys& matchingKeys );
public:
/** default constructor.
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmwlm/wltypdef.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmwlm/wltypdef.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../ofstd/include/dcmtk/ofstd/ofdate.h \
../../ofstd/include/dcmtk/ofstd/oftime.h \
../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmwlm/wltypdef.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../../dcmnet/include/dcmtk/dcmnet/dimse.h \
../../dcmnet/include/dcmtk/dcmnet/diutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
}
// return OFTrue if all the characters of s can be found in the string charset.
- int s_len = strlen( s );
- int charset_len = strlen( charset );
- for( int i=0 ; i<s_len && result ; i++ )
+ size_t s_len = strlen( s );
+ size_t charset_len = strlen( charset );
+ for( size_t i=0 ; i<s_len && result ; i++ )
{
OFBool isSetMember = OFFalse;
- for( int j=0 ; !isSetMember && j<charset_len ; j++ )
+ for( size_t j=0 ; !isSetMember && j<charset_len ; j++ )
{
if( s[i] == charset[j] )
isSetMember = OFTrue;
// DCM_NamesOfIntendedRecipientsOfResults (0040,1010) PN O 3 (from the Requested Procedure Module)
// DCM_InstitutionName (0008,0080) LO O 3 (from the Visit Identification Module)
// DCM_AdmittingDiagnosesDescription (0008,1080) LO O 3 (from the Visit Admission Module)
-// DCM_OtherPatientIDs (0010,1000) LO O 3 (from the Patient Identification Module)
+// DCM_RETIRED_OtherPatientIDs (0010,1000) LO O 3 (from the Patient Identification Module)
// DCM_PatientSize (0010,1020) DS O 3 (from the Patient Demographic Module)
// DCM_EthnicGroup (0010,2160) SH O 3 (from the Patient Demographic Module)
// DCM_PatientComments (0010,4000) LT O 3 (from the Patient Demographic Module)
elementKey == DCM_NamesOfIntendedRecipientsOfResults ||
elementKey == DCM_InstitutionName ||
elementKey == DCM_AdmittingDiagnosesDescription ||
- elementKey == DCM_OtherPatientIDs ||
+ elementKey == DCM_RETIRED_OtherPatientIDs ||
elementKey == DCM_PatientSize ||
elementKey == DCM_EthnicGroup ||
elementKey == DCM_PatientComments ||
// Author : Thomas Wilkens
// Task : Connects to the data source.
// Parameters : none.
-// Return Value : Indicates if the connection was established succesfully.
+// Return Value : Indicates if the connection was established successfully.
{
// set variables in fileSystemInteractionManager object
fileSystemInteractionManager.SetEnableRejectionOfIncompleteWlFiles( enableRejectionOfIncompleteWlFiles );
// Author : Thomas Wilkens
// Task : Disconnects from the data source.
// Parameters : none.
-// Return Value : Indicates if the disconnection was completed succesfully.
+// Return Value : Indicates if the disconnection was completed successfully.
{
// disconnect from file system
OFCondition cond = fileSystemInteractionManager.DisconnectFromFileSystem();
handleToReadLockFile = open( lockname.c_str(), O_RDWR );
if( handleToReadLockFile == -1 )
{
- char buf[256];
handleToReadLockFile = 0;
DCMWLM_ERROR("WlmDataSourceFileSystem::SetReadlock: Cannot open file " << lockname
- << " (return code: " << OFStandard::strerror(errno, buf, sizeof(buf)) << ")");
+ << " (return code: " << OFStandard::getLastSystemErrorCode().message() << ")");
return OFFalse;
}
// ----------------------------------------------------------------------------
+class WlmFileSystemInteractionManager::MatchingKeys
+{
+ MatchingKeys(int)
+ {
+ keys.push_back(OFMake_pair(DCM_PatientName,OFTrue));
+ keys.push_back(OFMake_pair(DCM_ResponsiblePerson,OFTrue));
+ keys.push_back(OFMake_pair(DCM_ResponsiblePersonRole,OFTrue));
+ keys.push_back(OFMake_pair(DCM_PatientID,OFFalse));
+ keys.push_back(OFMake_pair(DCM_AccessionNumber,OFTrue));
+ keys.push_back(OFMake_pair(DCM_RequestedProcedureID,OFTrue));
+ keys.push_back(OFMake_pair(DCM_ReferringPhysicianName,OFTrue));
+ keys.push_back(OFMake_pair(DCM_PatientSex,OFTrue));
+ keys.push_back(OFMake_pair(DCM_RequestingPhysician,OFTrue));
+ keys.push_back(OFMake_pair(DCM_AdmissionID,OFTrue));
+ keys.push_back(OFMake_pair(DCM_RequestedProcedurePriority,OFTrue));
+ keys.push_back(OFMake_pair(DCM_PatientBirthDate,OFTrue));
+ keys.push_back(OFMake_pair(DCM_IssuerOfPatientID,OFTrue));
+ combinedKeys.push_back(OFMake_pair(DCM_StudyDate,DCM_StudyTime));
+ sequenceKeys.push_back(OFMake_pair(DCM_ScheduledProcedureStepSequence,MatchingKeys()));
+ sequenceKeys.back().second.keys.push_back(OFMake_pair(DCM_ScheduledStationAETitle,OFFalse));
+ sequenceKeys.back().second.keys.push_back(OFMake_pair(DCM_Modality,OFFalse));
+ sequenceKeys.back().second.keys.push_back(OFMake_pair(DCM_ScheduledPerformingPhysicianName,OFTrue));
+ sequenceKeys.back().second.combinedKeys.push_back(OFMake_pair(DCM_ScheduledProcedureStepStartDate,DCM_ScheduledProcedureStepStartTime));
+ }
+
+public:
+ static const MatchingKeys root;
+ MatchingKeys() {}
+ OFVector<OFPair<DcmTagKey,OFBool> > keys;
+ OFVector<OFPair<DcmTagKey,DcmTagKey> > combinedKeys;
+ OFVector<OFPair<DcmTagKey,MatchingKeys> > sequenceKeys;
+};
+
+const WlmFileSystemInteractionManager::MatchingKeys WlmFileSystemInteractionManager::MatchingKeys::root(0);
+
+// ----------------------------------------------------------------------------
+
WlmFileSystemInteractionManager::WlmFileSystemInteractionManager()
// Date : July 11, 2002
// Author : Thomas Wilkens
else
{
// check if the current dataset matches the matching key attribute values
- if( !DatasetMatchesSearchMask( dataset, searchMask ) )
+ if( !DatasetMatchesSearchMask( dataset, searchMask, MatchingKeys::root ) )
{
DCMWLM_INFO("Information from worklist file " << worklistFiles[i] << " does not match query");
}
int ret = 0;
// start a loop; in each iteration another directory entry is determined
- long hFile = _findfirst( (char*)searchname.c_str(), &fileData );
+ long hFile = OFstatic_cast(long, _findfirst( (char*)searchname.c_str(), &fileData ));
while( hFile != -1L && ret == 0 )
{
// if the current entry refers to a worklist file, do something
if( dirp != NULL )
{
// start a loop; in each iteration another directory entry is determined.
-#if defined(_REENTRANT) && !defined(_WIN32) && !defined(__CYGWIN__)
+#ifdef HAVE_READDIR_R
unsigned char entryBuffer[sizeof(struct dirent) + _POSIX_PATH_MAX + 1];
#ifdef HAVE_OLD_READDIR_R
for( dp = readdir_r( dirp, (struct dirent *)entryBuffer ) ; dp != NULL ; dp = readdir_r( dirp, (struct dirent *)entryBuffer ) )
#else
for( int readResult = readdir_r( dirp, (struct dirent *)entryBuffer, &dp ) ; readResult == 0 && dp ; readResult = readdir_r( dirp, (struct dirent *)entryBuffer, &dp ) )
#endif
-#else
+#else // HAVE_READDIR_R
for( dp = readdir( dirp ) ; dp != NULL ; dp = readdir( dirp ) )
#endif
{
// ----------------------------------------------------------------------------
OFBool WlmFileSystemInteractionManager::DescriptionAndCodeSequenceAttributesAreIncomplete( DcmTagKey descriptionTagKey, DcmTagKey codeSequenceTagKey, DcmItem *dset )
-// Date : May 4, 2005
-// Author : Thomas Wilkens
-// Task : This function checks if the specified description and code sequence attribute are both incomplete in the given dataset.
+// Date : April 18, 2017
+// Author : Michael Onken
+// Task : This method ensures that either code or description is set to a non-empty value,
+// and at the same time none of the attributes is present with a zero-length value.
+// If one of these requirements are not met, then OFTrue is returned, otherwise OFFalse.
// Parameters : descriptionTagKey - [in] The description attribute which shall be checked.
// codeSequenceTagKey - [in] The codeSequence attribute which shall be checked.
// dset - [in] The dataset in which the attributes are contained.
-// Return Value : OFTrue in case both attributes are incomplete, OFFalse otherwise.
+// Return Value : OFFalse (i.e. no error regarding the standard) in case at least
+// one of both attributes has a non-empty, valid value, and none
+// is set to an empty value. OFTrue otherwise.
{
- DcmElement *codeSequence = NULL;
-
// check if the code sequence attribute is complete,
// i.e. if complete information can be retrieved from this attribute
// if the attribute is not existent or has no items, we consider it incomplete
- OFBool codeSequenceComplete = OFTrue;
- if( dset->findAndGetElement( codeSequenceTagKey, codeSequence ).bad() || ((DcmSequenceOfItems*)codeSequence)->card() == 0 )
+ DcmSequenceOfItems* seq = NULL;
+ if (dset->findAndGetSequence( codeSequenceTagKey, seq ).good())
{
- DCMWLM_DEBUG("- " << DcmTag(codeSequenceTagKey).getTagName() << " " << codeSequenceTagKey << " is missing or empty");
- codeSequenceComplete = OFFalse;
+ if (seq->card() == 0)
+ {
+ DCMWLM_DEBUG("- " << DcmTag(codeSequenceTagKey).getTagName() << " " << codeSequenceTagKey << " is empty");
+ return OFTrue;
+ }
+ else if (seq->card() > 0)
+ {
+ // if it is existent and has items, check every item for completeness
+ for( unsigned long i=0; i< seq->card(); i++ )
+ {
+ if( AttributeIsAbsentOrEmpty( DCM_CodeValue, seq->getItem(i) ) ||
+ AttributeIsAbsentOrEmpty( DCM_CodingSchemeDesignator, seq->getItem(i) ) )
+ {
+ DCMWLM_DEBUG("- " << DcmTag(codeSequenceTagKey).getTagName() << " " << codeSequenceTagKey << " has incomplete or empty code entries");
+ return OFTrue;
+ }
+ }
+ }
}
- else
+ // check whether description is valid. If sequence does exists, the attribute
+ // must exist with a valid value.
+ OFString description;
+ if (dset->findAndGetOFStringArray(descriptionTagKey, description).bad())
{
- // if it is existent and has items, check every item for completeness
- for( unsigned long i=0 ; i<((DcmSequenceOfItems*)codeSequence)->card() && codeSequenceComplete;i++ )
+ if (!seq)
{
- if( AttributeIsAbsentOrEmpty( DCM_CodeValue, ((DcmSequenceOfItems*)codeSequence)->getItem(i) ) ||
- AttributeIsAbsentOrEmpty( DCM_CodingSchemeDesignator, ((DcmSequenceOfItems*)codeSequence)->getItem(i) ) )
- codeSequenceComplete = OFFalse;
+ DCMWLM_DEBUG("- " << DcmTag(codeSequenceTagKey).getTagName() << " " << codeSequenceTagKey
+ << " and " << DcmTag(descriptionTagKey) << " " << descriptionTagKey << " are both not set");
+ return OFTrue;
}
- if( !codeSequenceComplete )
- DCMWLM_DEBUG("- " << DcmTag(codeSequenceTagKey).getTagName() << " " << codeSequenceTagKey << " is incomplete");
+ }
+ // in any case, description must not exist with empty value in the dataset
+ else if (description.empty())
+ {
+ DCMWLM_DEBUG("- " << DcmTag(descriptionTagKey).getTagName() << " " << descriptionTagKey << " is empty");
+ return OFTrue;
}
- // now check the above condition
- if( !codeSequenceComplete && AttributeIsAbsentOrEmpty( descriptionTagKey, dset ) )
- return( OFTrue );
- else
- return( OFFalse );
+ return OFFalse;
}
// ----------------------------------------------------------------------------
return( OFFalse );
}
+OFBool WlmFileSystemInteractionManager::MatchSequences( DcmSequenceOfItems& candidate,
+ DcmSequenceOfItems& query,
+ const MatchingKeys& matchingKeys )
+{
+ for( DcmObject* pQueryItem = query.nextInContainer( OFnullptr); pQueryItem; pQueryItem = query.nextInContainer( pQueryItem ) )
+ for( DcmObject* pCandidateItem = candidate.nextInContainer( OFnullptr); pCandidateItem; pCandidateItem = candidate.nextInContainer( pCandidateItem ) )
+ if( DatasetMatchesSearchMask( OFstatic_cast( DcmItem*, pCandidateItem ), OFstatic_cast( DcmItem*, pQueryItem ), matchingKeys ) )
+ return OFTrue;
+ return OFFalse;
+}
+
// ----------------------------------------------------------------------------
-OFBool WlmFileSystemInteractionManager::DatasetMatchesSearchMask( DcmDataset *dataset, DcmDataset *searchMask )
+OFBool WlmFileSystemInteractionManager::DatasetMatchesSearchMask( DcmItem *dataset, DcmItem *searchMask,
+ const MatchingKeys& matchingKeys )
// Date : July 11, 2002
// Author : Thomas Wilkens
// Task : This function returns OFTrue, if the matching key attribute values in the
// Return Value : OFTrue - The dataset matches the search mask in the matching key attribute values.
// OFFalse - The dataset does not match the search mask in the matching key attribute values.
{
- OFBool dateTimeMatchHasBeenPerformed = OFFalse;
- OFBool studyDateTimeMatchHasBeenPerformed = OFFalse;
-
- // initialize result variable
- OFBool matchFound = OFTrue;
-
- // determine matching key attribute values in the dataset
- const char **mkaValuesDataset = NULL;
- DetermineMatchingKeyAttributeValues( dataset, mkaValuesDataset );
-
- // determine matching key attribute values in the search mask
- const char **mkaValuesSearchMask = NULL;
- DetermineMatchingKeyAttributeValues( searchMask, mkaValuesSearchMask );
-
- // go through the arrays of matching key attribute values
- for( unsigned long i=0 ; i<NUMBER_OF_SUPPORTED_MATCHING_KEY_ATTRIBUTES && matchFound ; i++ )
- {
- // check if the current matching key attribute actually had a value in the search mask
- if( mkaValuesSearchMask[i] != NULL )
- {
- // if it did, check if the values from search mask and dataset match
- switch( i )
- {
- case 0:
- // matching key attribute is DCM_ScheduledStationAETitle (AE, 1-n)
- matchFound = ScheduledStationAETitlesMatch( mkaValuesDataset[0], mkaValuesSearchMask[0] );
- break;
-
- case 1:
- case 2:
- // matching key attributes are DCM_ScheduledProcedureStepStartDate (DA, 1)
- // and DCM_ScheduledProcedureStepStartTime (TM, 1)
- // only do something if a date time match has not yet been performed
- if( !dateTimeMatchHasBeenPerformed )
- {
- matchFound = ScheduledProcedureStepStartDateTimesMatch( mkaValuesDataset[1], mkaValuesDataset[2], mkaValuesSearchMask[1], mkaValuesSearchMask[2] );
- dateTimeMatchHasBeenPerformed = OFTrue;
- }
- break;
-
- case 3:
- // matching key attribute is DCM_Modality (CS, 1)
- matchFound = ModalitiesMatch( mkaValuesDataset[3], mkaValuesSearchMask[3] );
- break;
-
- case 4:
- // matching key attribute is DCM_ScheduledPerformingPhysicianName (PN, 1)
- matchFound = ScheduledPerformingPhysicianNamesMatch( mkaValuesDataset[4], mkaValuesSearchMask[4] );
- break;
-
- case 5:
- // matching key attribute is DCM_PatientName (PN, 1)
- matchFound = PatientsNamesMatch( mkaValuesDataset[5], mkaValuesSearchMask[5] );
- break;
-
- case 6:
- // matching key attribute is DCM_ResponsiblePerson (PN, 3)
- matchFound = CaseSensitiveSingleValueOrWildcardStripSpacesMatch( mkaValuesDataset[6], mkaValuesSearchMask[6] );
- break;
-
- case 7:
- // matching key attribute is DCM_ResponsiblePersonRole (CS, 3)
- matchFound = CaseSensitiveSingleValueOrWildcardMatch( mkaValuesDataset[7], mkaValuesSearchMask[7] );
- break;
-
- case 8:
- // matching key attribute is DCM_PatientID (LO, 1)
- matchFound = PatientsIDsMatch( mkaValuesDataset[8], mkaValuesSearchMask[8] );
- break;
-
- case 9:
- // matching key attribute is DCM_AccessionNumber (SH, 2)
- matchFound = AccessionNumbersMatch( mkaValuesDataset[9], mkaValuesSearchMask[9] );
- break;
-
- case 10:
- // matching key attribute is DCM_RequestedProcedureID (SH, 1)
- matchFound = RequestedProcedureIdsMatch( mkaValuesDataset[10], mkaValuesSearchMask[10] );
- break;
-
- case 11:
- // matching key attribute is DCM_ReferringPhysicianName (PN, 2)
- matchFound = ReferringPhysicianNamesMatch( mkaValuesDataset[11], mkaValuesSearchMask[11] );
- break;
-
- case 12:
- // matching key attribute is DCM_PatientSex (CS, 2)
- matchFound = PatientsSexesMatch( mkaValuesDataset[12], mkaValuesSearchMask[12] );
- break;
-
- case 13:
- // matching key attribute is DCM_RequestingPhysician (PN, 2)
- matchFound = RequestingPhysiciansMatch( mkaValuesDataset[13], mkaValuesSearchMask[13] );
- break;
-
- case 14:
- // matching key attribute is DCM_AdmissionID (LO, 2)
- matchFound = AdmissionIdsMatch( mkaValuesDataset[14], mkaValuesSearchMask[14] );
- break;
-
- case 15:
- // matching key attribute is DCM_RequestedProcedurePriority (SH, 2)
- matchFound = RequestedProcedurePrioritiesMatch( mkaValuesDataset[15], mkaValuesSearchMask[15] );
- break;
-
- case 16:
- // matching key attribute is DCM_PatientBirthDate (DA, 2)
- matchFound = PatientsBirthDatesMatch( mkaValuesDataset[16], mkaValuesSearchMask[16] );
- break;
-
- case 17:
- // matching key attribute is DCM_IssuerOfPatientID (LO, 1)
- matchFound = IssuerOfPatientIDsMatch( mkaValuesDataset[17], mkaValuesSearchMask[17] );
- break;
-
- case 18:
- case 19:
- // matching key attributes are DCM_StudyDate (DA, 1) and DCM_StudyTime (TM, 1)
- // only do something if a date time match has not yet been performed
- if( !studyDateTimeMatchHasBeenPerformed )
- {
- matchFound = StudyDateTimesMatch( mkaValuesDataset[18], mkaValuesDataset[19], mkaValuesSearchMask[18], mkaValuesSearchMask[19] );
- studyDateTimeMatchHasBeenPerformed = OFTrue;
- }
- break;
-
- default:
- break;
- }
- }
- }
-
- // free locally allocated memory
- delete[] mkaValuesDataset;
- delete[] mkaValuesSearchMask;
-
- // return result
- return( matchFound );
-}
-
-// ----------------------------------------------------------------------------
-
-void WlmFileSystemInteractionManager::DetermineMatchingKeyAttributeValues( DcmDataset *dataset, const char **&matchingKeyAttrValues )
-// Date : July 12, 2002
-// Author : Thomas Wilkens
-// Task : This function determines the values of the matching key attributes in the given dataset.
-// Parameters : dataset - [in] Dataset from which the values shall be extracted.
-// matchingKeyAttrValues - [out] Contains in the end the values of the matching key
-// attributes in the search mask. Is an array of pointers.
-// Return Value : none.
-{
- // Initialize array of strings because all currently
- // supported matching key attributes are strings
- matchingKeyAttrValues = new const char*[ NUMBER_OF_SUPPORTED_MATCHING_KEY_ATTRIBUTES ];
-
- // find matching key attributes in the dataset and remember their values.
- for( unsigned long i=0 ; i<NUMBER_OF_SUPPORTED_MATCHING_KEY_ATTRIBUTES ; i++ )
- {
- // initialize array field
- matchingKeyAttrValues[i] = NULL;
-
- // determine which matching key attribute we want to find
- DcmTagKey tag;
- switch( i )
- {
- case 0 : tag = DCM_ScheduledStationAETitle ; break;
- case 1 : tag = DCM_ScheduledProcedureStepStartDate ; break;
- case 2 : tag = DCM_ScheduledProcedureStepStartTime ; break;
- case 3 : tag = DCM_Modality ; break;
- case 4 : tag = DCM_ScheduledPerformingPhysicianName ; break;
- case 5 : tag = DCM_PatientName ; break;
- case 6 : tag = DCM_ResponsiblePerson ; break;
- case 7 : tag = DCM_ResponsiblePersonRole ; break;
- case 8 : tag = DCM_PatientID ; break;
- case 9 : tag = DCM_AccessionNumber ; break;
- case 10 : tag = DCM_RequestedProcedureID ; break;
- case 11 : tag = DCM_ReferringPhysicianName ; break;
- case 12 : tag = DCM_PatientSex ; break;
- case 13 : tag = DCM_RequestingPhysician ; break;
- case 14 : tag = DCM_AdmissionID ; break;
- case 15 : tag = DCM_RequestedProcedurePriority ; break;
- case 16 : tag = DCM_PatientBirthDate ; break;
- case 17 : tag = DCM_IssuerOfPatientID ; break;
- case 18 : tag = DCM_StudyDate ; break;
- case 19 : tag = DCM_StudyTime ; break;
- default: break;
- }
-
- // try to find matching key attribute in the dataset
- dataset->findAndGetString( tag, matchingKeyAttrValues[i], OFTrue );
- }
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::CaseSensitiveSingleValueOrWildcardMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : December 04, 2012
-// Author : Uli Schlachter
-// Task : Make this file shorter
-// Docs : Can be found in wilfsim.h
-{
- // if there is a value in the dataset, perform case sensitive single value matching
- if( datasetValue != NULL )
- return( CaseSensitiveSingleValueMatch( datasetValue, searchMaskValue ) );
- else
- {
- // if datasetValue is not existent, the search mask's value has to be empty to have
- // a match (universal matching); in all other cases, we do not have a match
- if( strcmp( searchMaskValue, "" ) == 0 )
- return( OFTrue );
- else
- return( OFFalse );
- }
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::CaseSensitiveSingleValueOrWildcardStripSpacesMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : December 04, 2012
-// Author : Uli Schlachter
-// Task : Make this file shorter
-// Docs : Can be found in wilfsim.h
-{
- // copy search mask value
- char *sv = new char[ strlen( searchMaskValue ) + 1 ];
- strcpy( sv, searchMaskValue );
-
- // strip trailing spaces
- DU_stripTrailingSpaces( sv );
-
- // if we are dealing with universal matching, there is always a match
- if( strcmp( sv, "" ) == 0 || strcmp( sv, "*" ) == 0 )
- {
- delete[] sv;
- return( OFTrue );
- }
- else
- {
- delete[] sv;
- // if we are not dealing with universal matching...
- // ...and the dataset value is not existent, there is no match
- if( datasetValue == NULL )
- {
- return( OFFalse );
- }
- // ...and the dataset value is existent, we have to perform case sensitive single value matching or wildcard matching
- OFBool result = CaseSensitiveSingleValueMatch( datasetValue, searchMaskValue ) || WildcardMatch( datasetValue, searchMaskValue );
- return result;
- }
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::WildcardStripSpacesMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : December 04, 2012
-// Author : Uli Schlachter
-// Task : Make this file shorter
-// Docs : Can be found in wilfsim.h
-{
- // copy search mask value
- char *sv = new char[ strlen( searchMaskValue ) + 1 ];
- strcpy( sv, searchMaskValue );
-
- // strip trailing spaces
- DU_stripTrailingSpaces( sv );
-
- // if we are dealing with universal matching, there is always a match
- if( strcmp( sv, "" ) == 0 || strcmp( sv, "*" ) == 0 )
- {
- delete[] sv;
- return( OFTrue );
- }
- else
- {
- delete[] sv;
- // if we are not dealing with universal matching...
- // ...and the dataset value is not existent, there is no match
- if( datasetValue == NULL )
- return( OFFalse );
- // ...and the dataset value is existent, we want to perform wildcard matching
- else
- return( WildcardMatch( datasetValue, searchMaskValue ) );
- }
-}
-
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::IssuerOfPatientIDsMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : January 23, 2017
-// Author : Thorben Hasenpusch
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute issuer of patient id match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return WildcardStripSpacesMatch( datasetValue, searchMaskValue );
-}
-
-OFBool WlmFileSystemInteractionManager::StudyDateTimesMatch( const char *datasetDateValue, const char *datasetTimeValue, const char *searchMaskDateValue, const char *searchMaskTimeValue )
-// Date : Februar 27, 2017
-// Author : Jan Schlamelcher
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute study date and study time match; otherwise OFFalse will be returned.
-// Parameters : datasetDateValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// datasetTimeValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskDateValue - [in] Value for the corresponding attribute in the search mask; might be NULL.
-// searchMaskTimeValue - [in] Value for the corresponding attribute in the search mask; might be NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- if( !datasetDateValue )
- datasetDateValue = "";
- if( !datasetTimeValue )
- datasetTimeValue = "";
- if( !searchMaskDateValue )
- searchMaskDateValue = "";
- if( !searchMaskTimeValue )
- searchMaskTimeValue = "";
- const char* datasetDateValueEnd = datasetDateValue + strlen( datasetDateValue );
- const char* datasetTimeValueEnd = datasetTimeValue + strlen( datasetTimeValue );
- const char* searchMaskDateValueEnd = searchMaskDateValue + strlen( searchMaskDateValue );
- const char* searchMaskTimeValueEnd = searchMaskTimeValue + strlen( searchMaskTimeValue );
- OFStandard::trimString( datasetDateValue, datasetDateValueEnd );
- OFStandard::trimString( datasetTimeValue, datasetTimeValueEnd );
- OFStandard::trimString( searchMaskDateValue, searchMaskDateValueEnd );
- OFStandard::trimString( searchMaskTimeValue, searchMaskTimeValueEnd );
- return DcmAttributeMatching::rangeMatchingDateTime( datasetDateValue, datasetDateValueEnd - datasetDateValue,
- datasetTimeValue, datasetTimeValueEnd - datasetTimeValue,
- searchMaskDateValue, searchMaskDateValueEnd - searchMaskDateValue,
- searchMaskTimeValue, searchMaskTimeValueEnd - searchMaskTimeValue );
-}
-
-OFBool WlmFileSystemInteractionManager::ScheduledStationAETitlesMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : July 12, 2002
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute scheduled station AE title match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return CaseSensitiveSingleValueOrWildcardMatch( datasetValue, searchMaskValue );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::ScheduledProcedureStepStartDateTimesMatch( const char *datasetDateValue, const char *datasetTimeValue, const char *searchMaskDateValue, const char *searchMaskTimeValue )
-// Date : July 15, 2002
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attributes scheduled procedure step start date and scheduled procedure step
-// start time match; otherwise OFFalse will be returned.
-// Parameters : datasetDateValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// datasetTimeValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskDateValue - [in] Value for the corresponding attribute in the search mask; might be NULL.
-// searchMaskTimeValue - [in] Value for the corresponding attribute in the search mask; might be NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- OFBool isMatch = OFFalse;
-
- // four things are of interest before matching
- OFBool dateGiven = ( searchMaskDateValue != NULL ) ? OFTrue : OFFalse;
- OFBool timeGiven = ( searchMaskTimeValue != NULL ) ? OFTrue : OFFalse;
- OFBool dateIsDateRange = ( dateGiven && strchr( searchMaskDateValue, '-' ) != NULL ) ? OFTrue : OFFalse;
- OFBool timeIsTimeRange = ( timeGiven && strchr( searchMaskTimeValue, '-' ) != NULL ) ? OFTrue : OFFalse;
-
- // depending on these four things perform different kinds of matching
- if( dateIsDateRange && timeIsTimeRange )
- {
- // perform range matching taking into account date and time
- isMatch = DateTimeRangeMatch( datasetDateValue, datasetTimeValue, searchMaskDateValue, searchMaskTimeValue );
- }
- else if( dateIsDateRange && !timeIsTimeRange )
- {
- // perform range matching taking into account date only
- isMatch = DateRangeMatch( datasetDateValue, searchMaskDateValue );
- }
- else if( dateGiven && !dateIsDateRange && timeIsTimeRange )
- {
- // perform a date single value match and a time range match
- isMatch = DateSingleValueMatch( datasetDateValue, searchMaskDateValue ) && TimeRangeMatch( datasetTimeValue, searchMaskTimeValue );
- }
- else if( !dateGiven && !dateIsDateRange && timeIsTimeRange )
- {
- // perform range matching taking into account time only
- isMatch = TimeRangeMatch( datasetTimeValue, searchMaskTimeValue );
- }
- else if( dateGiven && !dateIsDateRange && timeGiven && !timeIsTimeRange )
- {
- // perform single value matching taking into account date and time
- isMatch = DateTimeSingleValueMatch( datasetDateValue, datasetTimeValue, searchMaskDateValue, searchMaskTimeValue );
- }
- else if( dateGiven && !dateIsDateRange && !timeGiven && !timeIsTimeRange )
- {
- // perform single value matching taking into account date only
- isMatch = DateSingleValueMatch( datasetDateValue, searchMaskDateValue );
- }
- else if( !dateGiven && timeGiven && !timeIsTimeRange && !dateIsDateRange )
- {
- // perform single value matching taking into account time only
- isMatch = TimeSingleValueMatch( datasetTimeValue, searchMaskTimeValue );
- }
- else // if( !dateGiven && !timeGiven && !dateIsDateRange && !timeIsTimeRange ) // this case can actually never happen, because either time or date will always be given in this function
- {
- // return OFTrue
- isMatch = OFTrue;
- }
-
- // return result
- return( isMatch );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::ModalitiesMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : July 12, 2002
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute modality match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return CaseSensitiveSingleValueOrWildcardMatch( datasetValue, searchMaskValue );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::ScheduledPerformingPhysicianNamesMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : July 12, 2002
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute scheduled performing physician's names match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return CaseSensitiveSingleValueOrWildcardStripSpacesMatch( datasetValue, searchMaskValue );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::PatientsNamesMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : July 12, 2002
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute patient's names match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return CaseSensitiveSingleValueOrWildcardStripSpacesMatch( datasetValue, searchMaskValue );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::PatientsIDsMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : July 12, 2002
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute patient id match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return CaseSensitiveSingleValueOrWildcardMatch( datasetValue, searchMaskValue);
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::AccessionNumbersMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : December 22, 2003
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute accession number match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return WildcardStripSpacesMatch( datasetValue, searchMaskValue );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::RequestedProcedureIdsMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : December 22, 2003
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute requested procedure id match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return WildcardStripSpacesMatch( datasetValue, searchMaskValue );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::ReferringPhysicianNamesMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : December 22, 2003
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute referring physician's name match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return WildcardStripSpacesMatch( datasetValue, searchMaskValue );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::PatientsSexesMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : December 22, 2003
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute patient sex match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return WildcardStripSpacesMatch( datasetValue, searchMaskValue );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::RequestingPhysiciansMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : December 22, 2003
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute requesting physician match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return WildcardStripSpacesMatch( datasetValue, searchMaskValue );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::AdmissionIdsMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : December 22, 2003
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute admission id match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return WildcardStripSpacesMatch( datasetValue, searchMaskValue );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::RequestedProcedurePrioritiesMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : December 22, 2003
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute requested procedure priorities match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- return WildcardStripSpacesMatch( datasetValue, searchMaskValue );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::PatientsBirthDatesMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : September 23, 2005
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values in
-// attribute patient's birth date match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- OFBool isMatch = OFFalse;
-
- // before matching, determine if the date value is a date range value
- OFBool dateIsDateRange = ( strchr( searchMaskValue, '-' ) != NULL ) ? OFTrue : OFFalse;
-
- // depending upon this information, perform different kinds of matching
- if( dateIsDateRange )
- {
- // perform range matching
- isMatch = DateRangeMatch( datasetValue, searchMaskValue );
- }
- else
- {
- // perform single value matching
- isMatch = DateSingleValueMatch( datasetValue, searchMaskValue );
- }
-
- // return result
- return( isMatch );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::DateTimeRangeMatch( const char *datasetDateValue, const char *datasetTimeValue, const char *searchMaskDateValue, const char *searchMaskTimeValue )
-// Date : July 15, 2002
-// Author : Thomas Wilkens
-// Task : This function performs a date time range match and returns OFTrue if the dataset's
-// and the search mask's values in the corresponding attributes match; otherwise OFFalse
-// will be returned
-// Parameters : datasetDateValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// datasetTimeValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskDateValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// searchMaskTimeValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- char *sdvv1 = NULL, *sdvv2 = NULL, *stvv1 = NULL, *stvv2 = NULL;
- OFDate datasetDateVal, searchMaskDateVal1, searchMaskDateVal2;
- OFTime datasetTimeVal, searchMaskTimeVal1, searchMaskTimeVal2;
- OFCondition cond;
-
- // if values in dataset are both given, perform date time range match
- if( datasetDateValue != NULL && datasetTimeValue != NULL )
- {
- // initialize result
- OFBool isMatch = OFFalse;
-
- // copy values
- char *ddv = new char[ strlen( datasetDateValue ) + 1 ]; strcpy( ddv, datasetDateValue );
- char *dtv = new char[ strlen( datasetTimeValue ) + 1 ]; strcpy( dtv, datasetTimeValue );
- char *sdv = new char[ strlen( searchMaskDateValue ) + 1 ]; strcpy( sdv, searchMaskDateValue );
- char *stv = new char[ strlen( searchMaskTimeValue ) + 1 ]; strcpy( stv, searchMaskTimeValue );
-
- // strip trailing spaces
- DU_stripTrailingSpaces( ddv );
- DU_stripTrailingSpaces( dtv );
- DU_stripTrailingSpaces( sdv );
- DU_stripTrailingSpaces( stv );
-
- // get actual date/time boundary values
- ExtractValuesFromRange( sdv, sdvv1, sdvv2 );
- ExtractValuesFromRange( stv, stvv1, stvv2 );
-
- // generate OFDate and OFTime objects from strings
- cond = DcmDate::getOFDateFromString( OFString( ddv ), datasetDateVal );
- if( cond.good() )
- {
- cond = DcmTime::getOFTimeFromString( OFString( dtv ), datasetTimeVal );
- if( cond.good() )
- {
- cond = DcmDate::getOFDateFromString( (( sdvv1 != NULL ) ? OFString( sdvv1 ) : OFString("19000101")), searchMaskDateVal1 );
- if( cond.good() )
- {
- cond = DcmDate::getOFDateFromString( (( sdvv2 != NULL ) ? OFString( sdvv2 ) : OFString("39991231")), searchMaskDateVal2 );
- if( cond.good() )
- {
- cond = DcmTime::getOFTimeFromString( (( stvv1 != NULL ) ? OFString( stvv1 ) : OFString("000000")), searchMaskTimeVal1 );
- if( cond.good() )
- {
- cond = DcmTime::getOFTimeFromString( (( stvv2 != NULL ) ? OFString( stvv2 ) : OFString("235959")), searchMaskTimeVal2 );
- if( cond.good() )
- {
- // now that we have the date and time objects we can actually
- // compare the date and time values and determine if it's a match
-
- // check if the lower value in the search mask is earlier
- // than or equal to the lower value in the dataset
- if( searchMaskDateVal1 < datasetDateVal ||
- ( searchMaskDateVal1 == datasetDateVal && searchMaskTimeVal1 <= datasetTimeVal ) )
- {
- // now check if the upper value in the search mask is later
- // than or equal to the upper value in the dataset
- if( searchMaskDateVal2 > datasetDateVal ||
- ( searchMaskDateVal2 == datasetDateVal && searchMaskTimeVal2 >= datasetTimeVal ) )
- {
- // if all these conditions are met, then this is considered to be a match
- isMatch = OFTrue;
- }
- }
- }
- }
- }
- }
- }
- }
-
- // free memory
- delete[] ddv;
- delete[] dtv;
- delete[] sdv;
- delete[] stv;
- if( sdvv1 != NULL ) delete[] sdvv1;
- if( sdvv2 != NULL ) delete[] sdvv2;
- if( stvv1 != NULL ) delete[] stvv1;
- if( stvv2 != NULL ) delete[] stvv2;
-
- // return result
- return( isMatch );
- }
- else
- {
- // so at least one of the two values (date or time) or not given in
- // the dataset; in this case, since the date and time values in the
- // search mask are both non-universal, we do not have a match
- return( OFFalse );
- }
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::DateRangeMatch( const char *datasetDateValue, const char *searchMaskDateValue )
-// Date : July 15, 2002
-// Author : Thomas Wilkens
-// Task : This function performs a date range match and returns OFTrue if the dataset's and
-// the search mask's values in the corresponding attributes match; otherwise OFFalse
-// will be returned
-// Parameters : datasetDateValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskDateValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- char *sdvv1 = NULL, *sdvv2 = NULL;
- OFDate datasetDateVal, searchMaskDateVal1, searchMaskDateVal2;
- OFCondition cond;
+ assert( dataset );
+ assert( searchMask );
- // if date value in dataset is given, perform date range match
- if( datasetDateValue != NULL )
+#ifdef HAVE_CXX11
+ for( auto& key : matchingKeys.keys )
{
- // initialize result
- OFBool isMatch = OFFalse;
-
- // copy values
- char *ddv = new char[ strlen( datasetDateValue ) + 1 ]; strcpy( ddv, datasetDateValue );
- char *sdv = new char[ strlen( searchMaskDateValue ) + 1 ]; strcpy( sdv, searchMaskDateValue );
-
- // strip trailing spaces
- DU_stripTrailingSpaces( ddv );
- DU_stripTrailingSpaces( sdv );
-
- // get actual date boundary values
- ExtractValuesFromRange( sdv, sdvv1, sdvv2 );
-
- // generate OFDate objects from strings
- cond = DcmDate::getOFDateFromString( OFString( ddv ), datasetDateVal );
- if( cond.good() )
- {
- cond = DcmDate::getOFDateFromString( (( sdvv1 != NULL ) ? OFString( sdvv1 ) : OFString("19000101")), searchMaskDateVal1 );
- if( cond.good() )
- {
- cond = DcmDate::getOFDateFromString( (( sdvv2 != NULL ) ? OFString( sdvv2 ) : OFString("39991231")), searchMaskDateVal2 );
- if( cond.good() )
- {
- // now that we have the date objects we can actually
- // compare the date values and determine if it's a match
-
- // check if the lower value in the search mask is earlier
- // than or equal to the lower value in the dataset
- if( searchMaskDateVal1 <= datasetDateVal )
- {
- // now check if the upper value in the search mask is later
- // than or equal to the upper value in the dataset
- if( searchMaskDateVal2 >= datasetDateVal )
- {
- // if these conditions are met, then this is considered to be a match
- isMatch = OFTrue;
- }
- }
- }
- }
- }
-
- // free memory
- delete[] ddv;
- delete[] sdv;
- if( sdvv1 != NULL ) delete[] sdvv1;
- if( sdvv2 != NULL ) delete[] sdvv2;
-
- // return result
- return( isMatch );
- }
- else
- {
- // so dataset date value is not given; in this case, since the date
- // value in the search mask is non-universal, we do not have a match
- return( OFFalse );
- }
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::TimeRangeMatch( const char *datasetTimeValue, const char *searchMaskTimeValue )
-// Date : July 15, 2002
-// Author : Thomas Wilkens
-// Task : This function performs a time range match and returns OFTrue if the dataset's and
-// the search mask's values in the corresponding attributes match; otherwise OFFalse
-// will be returned
-// Parameters : datasetTimeValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskTimeValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- char *stvv1 = NULL, *stvv2 = NULL;
- OFTime datasetTimeVal, searchMaskTimeVal1, searchMaskTimeVal2;
- OFCondition cond;
-
- // if time value in dataset is given, perform date range match
- if( datasetTimeValue != NULL )
+#else
+ // remove this bloated version of the code if C++11 ever becomes a requirement of DCMTK
+ for( OFVector<OFPair<DcmTagKey,OFBool> >::const_iterator it = matchingKeys.keys.begin(); it != matchingKeys.keys.end(); ++it )
{
- // initialize result
- OFBool isMatch = OFFalse;
-
- // copy values
- char *dtv = new char[ strlen( datasetTimeValue ) + 1 ]; strcpy( dtv, datasetTimeValue );
- char *stv = new char[ strlen( searchMaskTimeValue ) + 1 ]; strcpy( stv, searchMaskTimeValue );
-
- // strip trailing spaces
- DU_stripTrailingSpaces( dtv );
- DU_stripTrailingSpaces( stv );
-
- // get actual time boundary values
- ExtractValuesFromRange( stv, stvv1, stvv2 );
-
- // generate OFTime objects from strings
- cond = DcmTime::getOFTimeFromString( OFString( dtv ), datasetTimeVal );
- if( cond.good() )
+ const OFPair<DcmTagKey,OFBool>& key = *it;
+#endif
+ DcmElement* query = OFnullptr;
+ if( searchMask->findAndGetElement( key.first, query, OFFalse ).good() && query )
{
- cond = DcmTime::getOFTimeFromString( (( stvv1 != NULL ) ? OFString( stvv1 ) : OFString("000000")), searchMaskTimeVal1 );
- if( cond.good() )
- {
- cond = DcmTime::getOFTimeFromString( (( stvv2 != NULL ) ? OFString( stvv2 ) : OFString("235959")), searchMaskTimeVal2 );
- if( cond.good() )
- {
- // now that we have the time objects we can actually
- // compare the time values and determine if it's a match
-
- // check if the lower value in the search mask is earlier
- // than or equal to the lower value in the dataset
- if( searchMaskTimeVal1 <= datasetTimeVal )
- {
- // now check if the upper value in the search mask is later
- // than or equal to the upper value in the dataset
- if( searchMaskTimeVal2 >= datasetTimeVal )
- {
- // if these conditions are met, then this is considered to be a match
- isMatch = OFTrue;
- }
- }
- }
- }
+ DcmElement* candidate = OFnullptr;
+ if( dataset->findAndGetElement( key.first, candidate, OFFalse ).bad() || !candidate || !query->matches( *candidate, key.second ) )
+ return OFFalse;
}
-
- // free memory
- delete[] dtv;
- delete[] stv;
- if( stvv1 != NULL ) delete[] stvv1;
- if( stvv2 != NULL ) delete[] stvv2;
-
- // return result
- return( isMatch );
}
- else
- {
- // so dataset time value is not given; in this case, since the time
- // value in the search mask is non-universal, we do not have a match
- return( OFFalse );
- }
-}
-
-// ----------------------------------------------------------------------------
-OFBool WlmFileSystemInteractionManager::DateTimeSingleValueMatch( const char *datasetDateValue, const char *datasetTimeValue, const char *searchMaskDateValue, const char *searchMaskTimeValue )
-// Date : July 15, 2002
-// Author : Thomas Wilkens
-// Task : This function performs a date time single value match and returns OFTrue if the dataset's
-// and the search mask's values in the corresponding attributes match; otherwise OFFalse
-// will be returned
-// Parameters : datasetDateValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// datasetTimeValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskDateValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// searchMaskTimeValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- OFDate datasetDateVal, searchMaskDateVal;
- OFTime datasetTimeVal, searchMaskTimeVal;
- OFCondition cond;
-
- // if we are dealing with universal matching in date and time, there is a match
- if( strcmp( searchMaskDateValue, "" ) == 0 && strcmp( searchMaskTimeValue, "" ) == 0 )
+#ifdef HAVE_CXX11
+ for( auto& combinedKey : matchingKeys.combinedKeys )
{
- return( OFTrue );
- }
- else
+#else
+ // remove this bloated version of the code if C++11 ever becomes a requirement of DCMTK
+ for( OFVector<OFPair<DcmTagKey,DcmTagKey> >::const_iterator it = matchingKeys.combinedKeys.begin(); it != matchingKeys.combinedKeys.end(); ++it )
{
- // so we are not dealing with universal matching in date and time, we have to check both values individually
- OFBool dateValuesMatch = OFFalse;
- OFBool timeValuesMatch = OFFalse;
-
- // check date values
- if( strcmp( searchMaskDateValue, "" ) == 0 )
- {
- // a universal date always matches
- dateValuesMatch = OFTrue;
- }
- else
+ const OFPair<DcmTagKey,DcmTagKey>& combinedKey = *it;
+#endif
+ DcmElement* query = OFnullptr;
+ if( searchMask->findAndGetElement( combinedKey.first, query, OFFalse ).good() && query )
{
- // so we do not have a universal date
- if( datasetDateValue == NULL )
+ DcmElement* candidate = OFnullptr;
+ if( dataset->findAndGetElement( combinedKey.first, candidate, OFFalse ).bad() || !candidate )
+ return OFFalse;
+ DcmElement* secondQuery = OFnullptr;
+ if( searchMask->findAndGetElement( combinedKey.second, secondQuery, OFFalse ).good() && secondQuery )
{
- // if there is no date value in the dataset, the non-universal date is not matched
- dateValuesMatch = OFFalse;
+ DcmElement* secondCandidate = OFnullptr;
+ if( dataset->findAndGetElement( combinedKey.second, secondCandidate, OFFalse ).bad() || !secondCandidate || !query->combinationMatches( *secondQuery, *candidate, *secondCandidate ) )
+ return OFFalse;
}
- else
+ else if( !query->matches( *candidate ) )
{
- // in this case that we are dealing with a non-universal date and a
- // date value in the dataset, perform the date match
-
- // copy values
- char *ddv = new char[ strlen( datasetDateValue ) + 1 ]; strcpy( ddv, datasetDateValue );
- char *sdv = new char[ strlen( searchMaskDateValue ) + 1 ]; strcpy( sdv, searchMaskDateValue );
-
- // strip trailing spaces
- DU_stripTrailingSpaces( ddv );
- DU_stripTrailingSpaces( sdv );
-
- // generate OFDate objects from strings
- cond = DcmDate::getOFDateFromString( OFString( ddv ), datasetDateVal );
- if( cond.good() )
- {
- cond = DcmDate::getOFDateFromString( OFString( sdv ), searchMaskDateVal );
- if( cond.good() )
- {
- // now that we have the date objects we can actually
- // compare the date values and determine if it's a match
-
- // check if the date value in the search mask equals the date value in the dataset
- if( searchMaskDateVal == datasetDateVal )
- {
- // if these conditions are met, then this is considered to be a match
- dateValuesMatch = OFTrue;
- }
- }
- }
-
- // free memory
- delete[] ddv;
- delete[] sdv;
+ return OFFalse;
}
}
-
- // check time values
- if( strcmp( searchMaskTimeValue, "" ) == 0 )
- {
- // a universal time always matches
- timeValuesMatch = OFTrue;
- }
- else
+ else if( searchMask->findAndGetElement( combinedKey.second, query, OFFalse ).good() && query )
{
- // so we do not have a universal time
- if( datasetTimeValue == NULL )
- {
- // if there is no time value in the dataset, the non-universal time is not matched
- timeValuesMatch = OFFalse;
- }
- else
- {
- // in this case that we are dealing with a non-universal time and a
- // time value in the dataset, perform the time match
-
- // copy values
- char *dtv = new char[ strlen( datasetTimeValue ) + 1 ]; strcpy( dtv, datasetTimeValue );
- char *stv = new char[ strlen( searchMaskTimeValue ) + 1 ]; strcpy( stv, searchMaskTimeValue );
-
- // strip trailing spaces
- DU_stripTrailingSpaces( dtv );
- DU_stripTrailingSpaces( stv );
-
- // generate OFTime objects from strings
- cond = DcmTime::getOFTimeFromString( OFString( dtv ), datasetTimeVal );
- if( cond.good() )
- {
- cond = DcmTime::getOFTimeFromString( OFString( stv ), searchMaskTimeVal );
- if( cond.good() )
- {
- // now that we have the time objects we can actually
- // compare the time values and determine if it's a match
-
- // check if the time value in the search mask equals the time value in the dataset
- if( searchMaskTimeVal == datasetTimeVal )
- {
- // if these conditions are met, then this is considered to be a match
- timeValuesMatch = OFTrue;
- }
- }
- }
-
- // free memory
- delete[] dtv;
- delete[] stv;
- }
+ DcmElement* candidate = OFnullptr;
+ if( dataset->findAndGetElement( combinedKey.second, candidate, OFFalse ).bad() || !candidate || !query->matches( *candidate ) )
+ return OFFalse;
}
-
- // in case date and time values match, we have a match
- if( dateValuesMatch && timeValuesMatch )
- return( OFTrue );
- else
- return( OFFalse );
}
-}
-// ----------------------------------------------------------------------------
+ // sequence matching
-OFBool WlmFileSystemInteractionManager::DateSingleValueMatch( const char *datasetDateValue, const char *searchMaskDateValue )
-// Date : July 15, 2002
-// Author : Thomas Wilkens
-// Task : This function performs a date single value match and returns OFTrue if the dataset's
-// and the search mask's values in the corresponding attributes match; otherwise OFFalse
-// will be returned
-// Parameters : datasetDateValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskDateValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- OFDate datasetDateVal, searchMaskDateVal;
- OFCondition cond;
-
- // if we are dealing with universal matching, there is a match
- if( strcmp( searchMaskDateValue, "" ) == 0 )
- return( OFTrue );
- else
+#ifdef HAVE_CXX11
+ for( auto& sequenceKey : matchingKeys.sequenceKeys )
{
- // if we are not dealing with universal matching and there is a
- // date value in the dataset, compare the two date values
- if( datasetDateValue != NULL )
- {
- // initialize result
- OFBool isMatch = OFFalse;
-
- // copy values
- char *ddv = new char[ strlen( datasetDateValue ) + 1 ]; strcpy( ddv, datasetDateValue );
- char *sdv = new char[ strlen( searchMaskDateValue ) + 1 ]; strcpy( sdv, searchMaskDateValue );
-
- // strip trailing spaces
- DU_stripTrailingSpaces( ddv );
- DU_stripTrailingSpaces( sdv );
-
- // generate OFDate objects from strings
- cond = DcmDate::getOFDateFromString( OFString( ddv ), datasetDateVal );
- if( cond.good() )
- {
- cond = DcmDate::getOFDateFromString( OFString( sdv ), searchMaskDateVal );
- if( cond.good() )
- {
- // now that we have the date objects we can actually
- // compare the date values and determine if it's a match
-
- // check if the date value in the search mask equals the date value in the dataset
- if( searchMaskDateVal == datasetDateVal )
- {
- // if this condition is met, then this is considered to be a match
- isMatch = OFTrue;
- }
- }
- }
-
- // free memory
- delete[] ddv;
- delete[] sdv;
-
- // return result
- return( isMatch );
- }
- else
- {
- // if we are not dealing with universal matching and there
- // is no date value in the dataset, there is no match
- return( OFFalse );
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::TimeSingleValueMatch( const char *datasetTimeValue, const char *searchMaskTimeValue )
-// Date : July 15, 2002
-// Author : Thomas Wilkens
-// Task : This function performs a time single value match and returns OFTrue if the dataset's
-// and the search mask's values in the corresponding attributes match; otherwise OFFalse
-// will be returned
-// Parameters : datasetTimeValue - [in] Value for the corresponding attribute in the dataset; might be NULL.
-// searchMaskTimeValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- OFTime datasetTimeVal, searchMaskTimeVal;
- OFCondition cond;
-
- // if we are dealing with universal matching, there is a match
- if( strcmp( searchMaskTimeValue, "" ) == 0 )
- return( OFTrue );
- else
+#else
+ // remove this bloated version of the code if C++11 ever becomes a requirement of DCMTK
+ for( OFVector<OFPair<DcmTagKey,MatchingKeys> >::const_iterator it = matchingKeys.sequenceKeys.begin(); it != matchingKeys.sequenceKeys.end(); ++it )
{
- // if we are not dealing with universal matching and there is a
- // time value in the dataset, compare the two date values
- if( datasetTimeValue != NULL )
- {
- // initialize result
- OFBool isMatch = OFFalse;
-
- // copy values
- char *dtv = new char[ strlen( datasetTimeValue ) + 1 ]; strcpy( dtv, datasetTimeValue );
- char *stv = new char[ strlen( searchMaskTimeValue ) + 1 ]; strcpy( stv, searchMaskTimeValue );
-
- // strip trailing spaces
- DU_stripTrailingSpaces( dtv );
- DU_stripTrailingSpaces( stv );
-
- // generate OFTime objects from strings
- cond = DcmTime::getOFTimeFromString( OFString( dtv ), datasetTimeVal );
- if( cond.good() )
- {
- cond = DcmTime::getOFTimeFromString( OFString( stv ), searchMaskTimeVal );
- if( cond.good() )
- {
- // now that we have the time objects we can actually
- // compare the time values and determine if it's a match
-
- // check if the time value in the search mask equals the time value in the dataset
- if( searchMaskTimeVal == datasetTimeVal )
- {
- // if this condition is met, then this is considered to be a match
- isMatch = OFTrue;
- }
- }
- }
-
- // free memory
- delete[] dtv;
- delete[] stv;
-
- // return result
- return( isMatch );
- }
- else
+ const OFPair<DcmTagKey,MatchingKeys>& sequenceKey = *it;
+#endif
+ DcmElement* query = OFnullptr;
+ if( searchMask->findAndGetElement( sequenceKey.first, query, OFFalse ).good() && query && query->ident() == EVR_SQ && !OFstatic_cast( DcmSequenceOfItems*, query )->isEmpty() )
{
- // if we are not dealing with universal matching and there
- // is no time value in the dataset, there is no match
- return( OFFalse );
+ DcmElement* candidate = OFnullptr;
+ if( dataset->findAndGetElement( sequenceKey.first, candidate, OFFalse ).bad() || !candidate || candidate->ident() != EVR_SQ || !MatchSequences( OFstatic_cast( DcmSequenceOfItems&, *candidate ), OFstatic_cast( DcmSequenceOfItems&, *query ), sequenceKey.second ) )
+ return OFFalse;
}
}
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::CaseSensitiveSingleValueMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : July 12, 2002
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values
-// match while performing a case sensitive single value match; otherwise OFFalse
-// will be returned
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; never NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- // initialize result variable
- OFBool matchFound = OFTrue;
-
- // copy values
- char *dv = new char[ strlen( datasetValue ) + 1 ];
- strcpy( dv, datasetValue );
- char *sv = new char[ strlen( searchMaskValue ) + 1 ];
- strcpy( sv, searchMaskValue );
-
- // strip trailing spaces
- DU_stripTrailingSpaces( dv );
- DU_stripTrailingSpaces( sv );
-
- // perform match
- if( strcmp( dv, sv ) != 0 )
- matchFound = OFFalse;
-
- // free memory
- delete[] dv;
- delete[] sv;
-
- // return result
- return( matchFound );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::WildcardMatch( const char *datasetValue, const char *searchMaskValue )
-// Date : July 12, 2002
-// Author : Thomas Wilkens
-// Task : This function returns OFTrue if the dataset's and the search mask's values
-// match while performing a wildcard match; otherwise OFFalse will be returned.
-// Parameters : datasetValue - [in] Value for the corresponding attribute in the dataset; never NULL.
-// searchMaskValue - [in] Value for the corresponding attribute in the search mask; never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- // initialize return value
- OFBool ok = OFFalse;
-
- // copy values
- char *dv = new char[ strlen( datasetValue ) + 1 ];
- strcpy( dv, datasetValue );
- char *sv = new char[ strlen( searchMaskValue ) + 1 ];
- strcpy( sv, searchMaskValue );
-
- // remember the pointers for delete
- char *dvanchor = dv;
- char *svanchor = sv;
-
- // strip trailing spaces
- DU_stripTrailingSpaces( dv );
- DU_stripTrailingSpaces( sv );
-
- // go through both strings character by character as long as
- // a) we do not see an EOS in sv AND
- // b) we do not see a '*' in sv AND
- // c) the current character in dv is equal to the
- // current character in the sv, or sv contains
- // a '?' and sv does not yet show an EOS.
- while( *sv != '\0' &&
- *sv != '*' &&
- ( *sv == *dv || ( *sv == '?' && *dv != '\0' ) ) )
- {
- sv++;
- dv++;
- }
-
- // if the current pattern character equals the star symbol (wild card symbol) we need
- // to call another function. If this is not the case, ok will be set to OFTrue or
- // OFFalse, depending on if we got to the end of both strings in the above loop.
- if( *sv == '*' )
- ok = MatchStarSymbol( dv, sv+1 );
- else
- {
- if( *sv == '\0' && *dv == '\0' )
- ok = OFTrue;
- else
- ok = OFFalse;
- }
-
- // free memory
- delete[] dvanchor;
- delete[] svanchor;
-
- // return result
- return( ok );
-}
-
-// ----------------------------------------------------------------------------
-
-OFBool WlmFileSystemInteractionManager::MatchStarSymbol( const char *dv, const char *sv )
-// Date : July 12, 2002
-// Author : Thomas Wilkens
-// Task : This function is called, if the search pattern contains a star symbol. It determines
-// if dv (the dataset's value) still matches sv (the search mask's value). This function
-// takes the star symbol in sv into account. (Note that the pattern value might contain
-// more wild card symbols.) The function will return OFTrue if there is a match; if there
-// is not a match it will return OFFalse.
-// Parameters : dv - [in] Dataset's value; never NULL.
-// sv - [in] Search mask's value (may contain wild card symbols); never NULL.
-// Return Value : OFTrue if the values match, OFFalse otherwise.
-{
- // initialize result value
- OFBool ok = OFFalse;
-
- // move pointer one char to the right as long as it points to a star symbol
- while( *sv == '*' )
- sv++;
-
- // if we got to the end of sv, return OFTrue
- if( *sv == '\0' )
- return OFTrue;
-
- // if there is something else at the end of sv,
- // we need to go ahead and compare the rest of the two strings
-
- // as long as ok equals OFFalse and we did not get to the end of the string
- while( !ok && *dv != '\0' )
- {
- // if sv reveals a '?' or if both pointers refer to the same
- // character, we need to call WildcardMatch again, to determine a result
- if( *sv == '?' || *dv == *sv )
- ok = WildcardMatch( dv+1, sv+1 );
-
- // if ok still equals OFFalse, set pointer one character to the right
- if( !ok )
- dv++;
- }
-
- // return result
- return( ok );
-}
-
-// ----------------------------------------------------------------------------
-
-void WlmFileSystemInteractionManager::ExtractValuesFromRange( const char *range, char *&lower, char *&upper )
-// Date : July 15, 2002
-// Author : Thomas Wilkens
-// Task : This function extracts the actual lower and upper date or time values from a given
-// date or time range.
-// Parameters : range - [in] Date or time range from which lower and upper values shall be extracted.
-// lower - [out] Newly created string specifying the lower value from the date/time range;
-// NULL if value is not specified in range.
-// upper - [out] Newly created string specifying the upper value from the date/time range;
-// NULL if value is not specified in range.
-// Return Value : none.
-{
- // get lower value
- const char *tmp = strchr( range, '-' );
- int res = tmp - range;
- if( res == 0 )
- lower = NULL;
- else
- {
- lower = new char[ res + 1 ];
- strncpy( lower, range, res );
- lower[res] = '\0';
- }
-
- // get upper value
- int len = strlen( range );
- if( res == len - 1 )
- upper = NULL;
- else
- {
- upper = new char[ len - 1 - res + 1 ];
- strncpy( upper, tmp + 1, len - 1 - res );
- upper[len-1-res] = '\0';
- }
+ return OFTrue;
}
if (!opt_forkedChild)
DCMWLM_WARN("(notice: dcmdata auto correction disabled.)");
-#ifdef HAVE_GUSI_H
- // needed for Macintosh.
- GUSISetup( GUSIwithSIOUXSockets );
- GUSISetup( GUSIwithInternetSockets );
-#endif
-
-#ifdef HAVE_WINSOCK_H
- WSAData winSockData;
- // we need at least version 1.1.
- WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
- WSAStartup(winSockVersionNeeded, &winSockData);
-#endif
-
+ OFStandard::initializeNetwork();
}
// ----------------------------------------------------------------------------
delete[] supportedAbstractSyntaxes[1];
delete[] supportedAbstractSyntaxes;
-#ifdef HAVE_WINSOCK_H
- WSACleanup();
-#endif
+ OFStandard::shutdownNetwork();
}
// ----------------------------------------------------------------------------
/* if this process was started by CreateProcess, opt_forkedChild is set */
if (opt_forkedChild)
{
- /* tell dcmnet DUL about child process status, too */
- DUL_markProcessAsForkedChild();
-
- char buf[256];
- DWORD bytesRead = 0;
- HANDLE hStdIn = GetStdHandle(STD_INPUT_HANDLE);
-
- // read socket handle number from stdin, i.e. the anonymous pipe
- // to which our parent process has written the handle number.
- if (ReadFile(hStdIn, buf, sizeof(buf) - 1, &bytesRead, NULL))
- {
- // make sure buffer is zero terminated
- buf[bytesRead] = '\0';
- dcmExternalSocketHandle.set(atoi(buf));
- }
- else
- {
- DCMWLM_ERROR("cannot read socket handle: " << GetLastError());
- exit(0);
- }
+ // we are a child process in multi-process mode
+ if (DUL_readSocketHandleAsForkedChild().bad()) exit(10);
}
else
{
--- /dev/null
+# declare executables
+DCMTK_ADD_EXECUTABLE(wltest wltest)
+
+# make sure executables are linked to the corresponding libraries
+DCMTK_TARGET_LINK_MODULES(wltest dcmwlm dcmnet dcmtls dcmdata oflog ofstd)
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../oflog/include/dcmtk/oflog/layout.h \
../../oflog/include/dcmtk/oflog/streams.h \
../../oflog/include/dcmtk/oflog/helpers/pointer.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \
../include/dcmtk/dcmwlm/wltypdef.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmwlm/wldefine.h \
LIBDIRS = -L$(top_srcdir)/libsrc -L$(dcmnetdir)/libsrc -L$(dcmdatadir)/libsrc \
-L$(oflogdir)/libsrc -L$(ofstddir)/libsrc
LOCALLIBS = -ldcmwlm -ldcmnet -ldcmdata -loflog -lofstd $(ZLIBLIBS) \
- $(TCPWRAPPERLIBS) $(CHARCONVLIBS)
+ $(TCPWRAPPERLIBS) $(CHARCONVLIBS) $(MATHLIBS)
objs = wltest.o
progs = wltest
all: $(progs)
wltest: $(objs)
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(objs) $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(objs) $(LOCALLIBS) $(LIBS)
check:
#define INCLUDE_CSTDLIB
#define INCLUDE_CSTRING
#define INCLUDE_CSTDARG
-#define INCLUDE_CERRNO
#define INCLUDE_UNISTD
#include "dcmtk/ofstd/ofstdinc.h"
int i = 0;
int j = 0;
-#ifdef HAVE_GUSI_H
- /* needed for Macintosh */
- GUSISetup(GUSIwithSIOUXSockets);
- GUSISetup(GUSIwithInternetSockets);
-#endif
-
#ifdef WITH_TCPWRAPPER
// this code makes sure that the linker cannot optimize away
// the DUL part of the network module where the external flags
for (j=i; j<argc; j++) {
if (!OFStandard::pathExists(argv[j])) {
- char buf[256];
- errmsg("cannot access %s: %s", argv[j], OFStandard::strerror(errno, buf, sizeof(buf)));
+ OFString buffer = OFStandard::getLastSystemErrorCode().message();
+ errmsg("cannot access %s: %s", argv[j], buffer.c_str());
usage();
}
}
+++ /dev/null
-
-Changes between releases are documented here.
-
-**** Changes from 2017.02.28 (schlamelcher)
-
-- Updated CHANGES.361 for new development snapshot.
- Affects: docs/CHANGES.361
-
-- Updated DCMTK_ABI_VERSION for new development snapshot.
- Affects: CMake/dcmtkPrepare.cmake
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/dcm2json.1
- doxygen/manpages/man1/dcm2pdf.1
- doxygen/manpages/man1/dcm2pnm.1
- doxygen/manpages/man1/dcm2xml.1
- doxygen/manpages/man1/dcmcjpeg.1
- doxygen/manpages/man1/dcmcjpls.1
- doxygen/manpages/man1/dcmconv.1
- doxygen/manpages/man1/dcmcrle.1
- doxygen/manpages/man1/dcmdjpeg.1
- doxygen/manpages/man1/dcmdjpls.1
- doxygen/manpages/man1/dcmdrle.1
- doxygen/manpages/man1/dcmdspfn.1
- doxygen/manpages/man1/dcmdump.1
- doxygen/manpages/man1/dcmftest.1
- doxygen/manpages/man1/dcmgpdir.1
- doxygen/manpages/man1/dcmj2pnm.1
- doxygen/manpages/man1/dcml2pnm.1
- doxygen/manpages/man1/dcmmkcrv.1
- doxygen/manpages/man1/dcmmkdir.1
- doxygen/manpages/man1/dcmmklut.1
- doxygen/manpages/man1/dcmodify.1
- doxygen/manpages/man1/dcmp2pgm.1
- doxygen/manpages/man1/dcmprscp.1
- doxygen/manpages/man1/dcmprscu.1
- doxygen/manpages/man1/dcmpschk.1
- doxygen/manpages/man1/dcmpsmk.1
- doxygen/manpages/man1/dcmpsprt.1
- doxygen/manpages/man1/dcmpsrcv.1
- doxygen/manpages/man1/dcmpssnd.1
- doxygen/manpages/man1/dcmqridx.1
- doxygen/manpages/man1/dcmqrscp.1
- doxygen/manpages/man1/dcmqrti.1
- doxygen/manpages/man1/dcmquant.1
- doxygen/manpages/man1/dcmrecv.1
- doxygen/manpages/man1/dcmscale.1
- doxygen/manpages/man1/dcmsend.1
- doxygen/manpages/man1/dcmsign.1
- doxygen/manpages/man1/dcod2lum.1
- doxygen/manpages/man1/dconvlum.1
- doxygen/manpages/man1/drtdump.1
- doxygen/manpages/man1/dsr2html.1
- doxygen/manpages/man1/dsr2xml.1
- doxygen/manpages/man1/dsrdump.1
- doxygen/manpages/man1/dump2dcm.1
- doxygen/manpages/man1/echoscu.1
- doxygen/manpages/man1/findscu.1
- doxygen/manpages/man1/getscu.1
- doxygen/manpages/man1/img2dcm.1
- doxygen/manpages/man1/movescu.1
- doxygen/manpages/man1/pdf2dcm.1
- doxygen/manpages/man1/storescp.1
- doxygen/manpages/man1/storescu.1
- doxygen/manpages/man1/termscu.1
- doxygen/manpages/man1/wlmscpfs.1
- doxygen/manpages/man1/xml2dcm.1
- doxygen/manpages/man1/xml2dsr.1
-
-- Updated Makefile dependencies.
- Affects: dcmdata/libi2d/Makefile.dep
- dcmdata/libsrc/Makefile.dep
- dcmdata/tests/Makefile.dep
- dcmpstat/apps/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmqrdb/apps/Makefile.dep
- dcmqrdb/libsrc/Makefile.dep
- dcmwlm/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.dep
-
-- Fixed formatting errors in dcmqrscp's man page.
- Affects: dcmqrdb/docs/dcmqrscp.man
-
-- Documented dcmqrdb's new character set features.
- Affects: dcmqrdb/docs/dcmqrcnf.txt
- dcmqrdb/docs/dcmqrscp.man
- dcmqrdb/etc/dcmqrscp.cfg
-
-- Fixed digits10 not being a compile time constant:
- Fixed OFnumeric_limits::digits10 and OFnumeric_limits::max_digits10 not being
- compile time constants due to a previous lazy fix for building with GCC
- '-pedantic'.
- Removed: ofstd/libsrc/oflimits.cc
- Affects: config/arith.cc
- ofstd/include/dcmtk/ofstd/oflimits.h
- ofstd/libsrc/CMakeLists.txt
- ofstd/libsrc/Makefile.in
-
-- Fixed Visual Studio linker problem with DLLs:
- Visual Studio got confused by DcmQueryRetrieveCharacterSetOptions being
- forward declared as a class while defined as a struct, which prevented it from
- linking the functions using it from DLLs correctly.
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h
-
-**** Changes from 2017.02.28 (riesmeier)
-
-- Further fixes to API documentation:
- Further fixes to API documentation, mainly for reasons of consistency.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrda.h
- dcmdata/include/dcmtk/dcmdata/dcvrdt.h
- dcmdata/include/dcmtk/dcmdata/dcvrtm.h
-
-- Updated documentation of getOFTimeFromString():
- Made sure that the documentation of getOFTimeFromString() is again
- consistent with the implementation (after the latter changed recently
- with commit 255ecc7).
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrtm.h
-
-- Updated documentation of getOFDateTimeFromString():
- Made sure that the documentation of getOFDateTimeFromString() is again
- consistent with the implementation (after the latter changed recently
- with commit 255ecc7).
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrdt.h
-
-- Removed documentation of macro STRICT_COMPARE:
- Removed documentation of macro STRICT_COMPARE since it is no longer used
- in the "dcmqrdb" module (as a result of the recent commit 4560c0a).
- Affects: config/docs/macros.txt
-
-**** Changes from 2017.02.28 (schlamelcher)
-
-- Fixed wrong value range check in extractDigits():
- OFStandard::extractDigits() used the wrong member of OFnumeric_limits to check
- whether the given type could hold the requested number of digits (base two
- digits instead of base 10).
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
-
-- Workaround for clang non-type template argument issue:
- Workaround for clang not wanting to interpret a size_t non-type template
- argument as a boolean expression (!= 0) when C++11 support was enabled.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
-
-**** Changes from 2017.02.27 (schlamelcher)
-
-- Fixed Q/R matching on failed character set conversion:
- Added error handling for the on the fly character set conversion during
- attribute matching in dcmqrdb. The dcmqrdb library will now use the original
- value if character set conversion fails, instead of the empty value that
- caused Universal Matching behavior inappropriately.
- Affects: dcmqrdb/libsrc/dcmqrdbi.cc
-
-- Added support for Issuer of Patient ID to dcmqrdb.
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-- Added support for additional Matching Keys:
- Added support for the following attributes:
- Issuer of Patient ID (0010,0021)
- Study Date (0008,0020)
- Study Time (0008,0030)
- Affects: dcmwlm/docs/wlmscpfs.man
- dcmwlm/include/dcmtk/dcmwlm/wlfsim.h
- dcmwlm/include/dcmtk/dcmwlm/wltypdef.h
- dcmwlm/libsrc/wlds.cc
- dcmwlm/libsrc/wlfsim.cc
-
-- Moved dcmqrdb's trimString() function to OFStandard:
- Moved dcmqrdb's trimString() function to OFStandard since other code might
- also need it (e.g. dcmwlm).
- Affects: dcmqrdb/libsrc/dcmqrdbi.cc
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-- Fixed date time parsing regarding time zones:
- Fixed a bug in DcmDateTime::getOFDateTimeFromString() that did not allow
- parsing time zone information from date time values that did not contain a
- time value (e.g. 2017+0100).
- Affects: dcmdata/libsrc/dcvrdt.cc
-
-- Added character set conversion support to dcmqrdb:
- The dcmqrdb library now supports on the fly character set conversion for
- attribute matching and converting the find response to the requested character
- set.
- The matching has been refactored to use DcmAttributeMatching internally.
- Increased the size of attributes that are affected by Specific Character Set
- in the index file so that values using multi byte encodings may still fit.
- Affects: dcmqrdb/apps/dcmqrscp.cc
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbf.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrtis.h
- dcmqrdb/libsrc/dcmqrcbf.cc
- dcmqrdb/libsrc/dcmqrcnf.cc
- dcmqrdb/libsrc/dcmqrdbi.cc
- dcmqrdb/libsrc/dcmqrsrv.cc
- dcmqrdb/libsrc/dcmqrtis.cc
-
-**** Changes from 2017.02.26 (riesmeier)
-
-- Fixed typo, tab character and trailing space.
- Affects: ofstd/include/dcmtk/ofstd/oflist.h
-
-**** Changes from 2017.02.26 (eichelberg)
-
-- Fixed minor integer over/undeflows reported by clang:
- Fixed a few harmless integer overflows and underflows reported
- by clang when compiled with -fsanitize=integer.
- Affects: dcmdata/libi2d/i2dbmps.cc
- dcmdata/libsrc/dcswap.cc
- ofstd/include/dcmtk/ofstd/oflist.h
- ofstd/libsrc/offname.cc
-
-**** Changes from 2017.02.24 (schlamelcher)
-
-- Introduced DcmAttributeMatching:
- DcmAttributeMatching implements the different attribute matching functions
- defined in the DICOM standard for Query/Retrieve and Worklist queries.
- DcmAttributeMatching may either be used by explicitly calling one of its
- static member matching functions or by creating an DcmAttributeMatching
- object for a specific VR.
- Added: dcmdata/include/dcmtk/dcmdata/dcmatch.h
- dcmdata/libsrc/dcmatch.cc
- dcmdata/tests/tmatch.cc
- Affects: dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.in
- dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
- ofstd/include/dcmtk/ofstd/ofdatime.h
-
-**** Changes from 2017.02.24 (riesmeier)
-
-- Added parentheses around boolean operations:
- Added parentheses around boolean operations (i.e. comparisons) in order
- to be consistent with the rest of the source file.
- Affects: ofstd/libsrc/ofdatime.cc
-
-- Added trailing "." after first sentence (Doxygen):
- This trailing "." is required since the "first sentence" is used as a brief
- description by Doxygen (e.g. when generating HTML output).
- Affects: ofstd/include/dcmtk/ofstd/ofdatime.h
-
-- Updated copyright date after previous commit.
- Affects: ofstd/include/dcmtk/ofstd/ofdate.h
- ofstd/include/dcmtk/ofstd/ofdatime.h
- ofstd/libsrc/ofdatime.cc
-
-**** Changes from 2017.02.24 (schlamelcher)
-
-- Refactored string to date and time conversion:
- Refactored DcmDate, DcmTime and DcmDateTime string parser functions to work
- on character string + size input in addition to the existing functions that
- work on OFStrings. The new functions do not require the strings to be zero
- terminated and are therefore composable.
- DcmDateTime::getOFDateTimeFromString is now implemented based on
- DcmTime::getOFTimeFromString, which is now possible since the functions
- can now be used on substrings without unnecessary copies.
- Default parameters have been replaced by respective overloads to provide
- a consistent API in all three classes (all now have a function that takes
- no additional parameters to the string and the result).
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrda.h
- dcmdata/include/dcmtk/dcmdata/dcvrdt.h
- dcmdata/include/dcmtk/dcmdata/dcvrtm.h
- dcmdata/libsrc/dcvrda.cc
- dcmdata/libsrc/dcvrdt.cc
- dcmdata/libsrc/dcvrtm.cc
- ofstd/include/dcmtk/ofstd/ofdatime.h
-
-- Added string to number helper functions:
- Added helper functions for extracting fixed length unsigned integer numbers
- from character strings that do not require the strings to be zero terminated.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
-
-- Added comparison operators for OFDateTime:
- Added less, greater, less or equal and greater or equal comparison operators
- to OFDateTime.
- Affects: ofstd/include/dcmtk/ofstd/ofdate.h
- ofstd/include/dcmtk/ofstd/ofdatime.h
- ofstd/libsrc/ofdatime.cc
- ofstd/tests/tofdatim.cc
-
-**** Changes from 2017.02.22 (onken)
-
-- Added error message when writing sequences.
- Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h
-
-**** Changes from 2017.02.21 (riesmeier)
-
-- Various documentation fixes to newDicomElement():
- Fixed typos, wrong descriptions, parameters and line breaks in the API
- documentation of the newDicomElement() functions.
- Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
-
-**** Changes from 2017.02.17 (eichelberg)
-
-- Fixed DJDecoderRegistration::registerCodecs():
- Fixed parameter list of DJDecoderRegistration::registerCodecs(),
- which contained one superfluous parameter.
- Affects: dcmjpeg/include/dcmtk/dcmjpeg/djdecode.h
- dcmjpeg/libsrc/djdecode.cc
-
-**** Changes from 2017.02.15 (riesmeier)
-
-- Enhanced logging in case of error:
- Enhanced output to the logger in case of fatal errors, e.g. if the DICOMDIR
- file to be updated is invalid/corrupted.
- Affects: dcmdata/apps/dcmgpdir.cc
-
-- Fixed crash while processing an invalid DICOMDIR:
- Fixed a crash that could occur while processing an invalid DICOMDIR file,
- e.g. when a single Directory Record was referenced more than once and,
- therefore, deleted more than once (from the DcmDicomDir destructor). Now,
- an error is both reported to the logger and returned to the caller.
- The main changes were done to DcmDicomDir::moveRecordToTree(). Additionally,
- slightly enhanced comments on other functions and improved the logger output.
- Thanks to forum user "psih128" for the report and for the sample file.
- Closes DCMTK Bug #388.
- Affects: dcmdata/libsrc/dcdicdir.cc
-
-**** Changes from 2017.02.14 (grallert)
-
-- Fixed and enhanced documentation of JSON functions:
- Removed leading '*' characters between @code{.cpp} and @endcode sections
- within doxygen markup.
- Further enhanced the documentation of DcmJsonFormat.
- Affects: dcmdata/include/dcmtk/dcmdata/dcjson.h
-
-**** Changes from 2017.02.10 (onken)
-
-- Fixed missing assignment from last commit:
- Enhanced intendation.
- Affects: dcmdata/libsrc/dcitem.cc
-
-- Hide public element constructors setting length:
- DCMTK's VR classes allowed to construct new DICOM elements by tag and a
- given length value. Internally the length is set, however, no related memory
- is allocated. This is the desired behaviour when reading new DICOM datasets
- since after creation of the element with a specific length after reading tag
- and length from the stream, the value is read and set on the element right
- afterwards.
- However, if such an element is created manually by a user who tries afterwards
- to access (read or write) a value to that element, a crash can occur since
- the element itself expects to have memory allocated up to the given length.
- In order to fix this, the related VR classes' constructors have been removed
- from the public interface and have been made protected. So far, only DcmItem
- and partly DcmDirectoryRecord (as "parsing" classes constructing elements in
- the valid way described above) need direct access to those constructors and
- thus have been amended by related friend declarations.
- The global functions newDicomElement(...) that use those constructors directly
- or indirectly have been moved into DcmItem as static methods. The ones that
- can be used publicly (those only taking tag and not length), are made public
- while the only one taking length (and other parsing parameters) is protected
- and is only used by DcmItem or safely from within other public methods.
- An alternative approach would have been to change the parsing behaviour
- that constructs element with explicit length first, in order to fill them
- with a value in the second step. Instead, onld could construct with 0
- length and only set the length when actually setting the value. This
- would make the explicit length constructors superfluous.
- However, since the parser's internals are quite complicated regarding
- length handling, it was not touched for now. However, the work done may make
- it easier to change the parser accordingly later.
- Another approach would be to always allocate memory in the constructors.
- However this will lead often to double initializations since most methods
- that set a value in a subsequent call will delete that memory to allocate
- the value newly a second time. Also, the possibility to create elements with
- an explicit empty value of a specific length is of limited use: For number-
- based VRs this can easily be imitated by calling the related set() method
- afterwards, while for strings it is not even clear what an empty value
- of a specifc length might be.
- Thanks to forum user spasmous <spasmous@gmail.com> for the report.
- This fixes DCMTK bug #374.
- Affects: dcmdata/apps/dump2dcm.cc
- dcmdata/apps/xml2dcm.cc
- dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcpixseq.h
- dcmdata/include/dcmtk/dcmdata/dcsequen.h
- dcmdata/include/dcmtk/dcmdata/dcvrat.h
- dcmdata/include/dcmtk/dcmdata/dcvrfd.h
- dcmdata/include/dcmtk/dcmdata/dcvrfl.h
- dcmdata/include/dcmtk/dcmdata/dcvrobow.h
- dcmdata/include/dcmtk/dcmdata/dcvrol.h
- dcmdata/include/dcmtk/dcmdata/dcvrsl.h
- dcmdata/include/dcmtk/dcmdata/dcvrss.h
- dcmdata/include/dcmtk/dcmdata/dcvrul.h
- dcmdata/include/dcmtk/dcmdata/dcvrulup.h
- dcmdata/include/dcmtk/dcmdata/dcvrus.h
- dcmdata/include/dcmtk/dcmdata/libi2d/i2doutpl.h
- dcmdata/libi2d/i2d.cc
- dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcpath.cc
- dcmdata/libsrc/dcpixseq.cc
- dcmdata/libsrc/dcsequen.cc
- dcmdata/libsrc/dcvrat.cc
- dcmdata/libsrc/dcvrfd.cc
- dcmdata/libsrc/dcvrfl.cc
- dcmdata/libsrc/dcvrobow.cc
- dcmdata/libsrc/dcvrol.cc
- dcmdata/libsrc/dcvrsl.cc
- dcmdata/libsrc/dcvrss.cc
- dcmdata/libsrc/dcvrul.cc
- dcmdata/libsrc/dcvrulup.cc
- dcmdata/libsrc/dcvrus.cc
- dcmiod/libsrc/iodutil.cc
- dcmiod/libsrc/modbase.cc
- dcmiod/libsrc/modenhusimage.cc
- dcmiod/libsrc/modmultiframedimension.cc
- dcmiod/libsrc/modusfor.cc
- dcmnet/apps/movescu.cc
- dcmnet/libsrc/dimcmd.cc
- dcmnet/libsrc/diutil.cc
- dcmqrdb/libsrc/dcmqrdbi.cc
- dcmtract/libsrc/trctrackset.cc
- dcmwlm/libsrc/wlds.cc
- dcmwlm/libsrc/wldsfs.cc
- dcmwlm/tests/wltest.cc
-
-**** Changes from 2017.02.08 (riesmeier)
-
-- Added two missing SOP Classes to modality table:
- Added two missing non-patient Storage SOP Classes to the modality table,
- which e.g. maps a known UID to a short character code ("modality") that
- can be used to generate a meaningful filename prefix. That way, a storage
- receiver of a Color Palette Storage object will generate a filename
- starting with "CP." instead of "UNKNOWN." (which is the default in case
- of an unknown UID).
- Affects: dcmdata/libsrc/dcuid.cc
-
-- Fixed name numberOfAllDcmStorageSOPClassUIDs:
- Fixed inconsistent name numberOfAllDcmStorageSOPClassUIDs by renaming
- it to numberOfDcmAllStorageSOPClassUIDs since the related global array
- is called dcmAllStorageSOPClassUIDs and not allDcmStorageSOPClassUIDs.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmpstat/apps/dcmpsrcv.cc
- dcmqrdb/libsrc/dcmqrptb.cc
- dcmqrdb/libsrc/dcmqrsrv.cc
-
-- Allow for sending non-patient DICOM objects:
- The storescu and dcmsend tool (based on the class DcmStorageSCU) are now
- able to send non-patient DICOM objects. The latter was already able to do
- so but reported a warning to the DEBUG logger that an "unknown storage SOP
- class (with standard UID prefix)" is to be transferred. This warning has
- now disappeared.
- This partly closes DCMTK Conformance #695.
- Affects: dcmnet/apps/storescu.cc
- dcmnet/libsrc/dstorscu.cc
-
-- Further enhanced support for non-patient objects:
- Added optional parameter to dcmIsaStorageSOPClassUID() that allows for
- checking a given SOP Class UID for being a known Storage SOP Class UID
- of a non-patient DICOM object. Also added support to check for image
- objects only. The default behavior of this function has not changed,
- i.e. only those Storage SOP Classes are covered that fit into into the
- conventional PATIENT-STUDY-SERIES-INSTANCE information model.
- The function dcmIsImageStorageSOPClassUID() is now only a shortcut for
- calling dcmIsaStorageSOPClassUID() with the new type parameter being
- ESSC_Image. This is useful in order to be backward compatible.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
-
-**** Changes from 2017.02.07 (onken)
-
-- Rebuilt dependencies.
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/libsrc/Makefile.dep
- dcmdata/tests/Makefile.dep
- dcmiod/tests/Makefile.dep
- dcmnet/apps/Makefile.dep
- dcmnet/libsrc/Makefile.dep
- dcmnet/tests/Makefile.dep
- dcmpmap/libsrc/Makefile.dep
- dcmpstat/tests/Makefile.dep
- dcmseg/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.dep
- dcmtls/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.dep
- ofstd/tests/Makefile.dep
-
-- Remove unused files from build system.
- Removed: dcmpmap/tests/Makefile.dep
- dcmseg/apps/CMakeLists.txt
- Affects: dcmpmap/Makefile.in
-
-**** Changes from 2017.02.06 (riesmeier)
-
-- Cleanup of comments (retired DICOM SOP Classes).
- Affects: dcmnet/etc/storescp.cfg
-
-- Further fixes regarding non-patient objects:
- Replaced some non-patient DICOM objects in dcmLongSCUStorageSOPClassUIDs by
- the three Legacy Converted Enhanced Image objects. This is another step
- towards a clearer distinction between patient and non-patient objects.
- Also see DCMTK Conformance #695.
- Affects: dcmdata/libsrc/dcuid.cc
- dcmnet/docs/getscu.man
- dcmqrdb/docs/dcmqrscp.man
-
-- Fixes for non-patient DICOM Storage Objects:
- Various fixes for non-patient DICOM Storage Objects such as Color Palette
- or Generic Implant Template Storage. The array dcmAllStorageSOPClassUIDs
- only contains the UIDs of those Storage SOP Classes that fit into the
- conventional PATIENT-STUDY-SERIES-INSTANCE information model. Of course,
- all other DICOM objects for which the Storage Service is defined should
- also be transferred using a C-STORE message.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added new sample association negotiation profile:
- Added new sample association negotiation profile "AllDICOM" for SCPs, e.g.
- for storescp or dcmrecv. This new profile allows for accepting all 126
- Storage SOP Classes that are currently defined in the DICOM standard (i.e.
- without retired, draft, DICOS and DICONDE Storage SOP Classes).
- Affects: dcmnet/etc/storescp.cfg
-
-- Fixed wrong name of Storage SOP Class:
- Fixed wrong name of Wide Field Ophthalmic Photography 3D Coordinates Image
- Storage SOP Class; the name prefix "Wide Field" was missing for some reason.
- Affects: dcmdata/libsrc/dcuid.cc
-
-**** Changes from 2017.02.06 (onken)
-
-- Fixed crash in debug mode (const pointer misuse):
- Fixed crash in debug mode apparently caused by writing to const pointer.
- Minor changes (parameter type, whitespace).
- Closes DCMTK Bug #646.
- Affects: dcmnet/include/dcmtk/dcmnet/dccfpcmp.h
- dcmnet/libsrc/dccfpcmp.cc
-
-**** Changes from 2017.02.03 (onken)
-
-- Moved latest post-read checks to DcmDataset:
- Moved the recently introduced post-read checks into DcmDataset since they only
- apply to datasets and not general purpose items. This eliminates the need of
- explicitly checking in the code whether it is working on top level or not.
- Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcitem.cc
-
-- Fixed dcumentation one more time.
- Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
-
-- Fixed parameter type, and docs.
- Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
-
-**** Changes from 2017.02.03 (riesmeier)
-
-- Fixed wrong indentation of new options.
- Affects: dcmdata/docs/dcmconv.man
- dcmdata/docs/dcmdump.man
-
-**** Changes from 2017.02.03 (onken)
-
-- Report error in case of wrong Pixel Data encoding:
- It has been reported that some DICOM datasets do write encapsulated pixel data
- without following the related rules, i.e. to use undefined length for the Pixel
- Data element and to use Pixel Sequence and Pixel Items inside.
- So far such files (using defined length on encapsulated Pixel Data) have been
- read without any warnings or errors giving the impression that the data is
- valid.
- Now, DCMTK will per default report an error if reading such files. There is a
- global switch which permits to enforce the old behaviour, i.e. to read such
- files as if the encoding would be correct. However, in that case a warning
- is printed.
- Options demonstrating the flag have been added to dcmdump and dcmconv.
- The new functionality is aware of the fact that Pixel Data not being part of
- the top level dataset, i.e. nested within sequences, must not use the
- encapsulated format but remain uncompressed (as for icon images).
- The validity of internal structures of the Pixel Data element (Pixel Sequence
- and Items) is not checked by this new compatibility flag.
- This closes DCMTK Bug #427.
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmdump.cc
- dcmdata/docs/dcmconv.man
- dcmdata/docs/dcmdump.man
- dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcobject.h
- dcmdata/libsrc/dcerror.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcobject.cc
-
-**** Changes from 2017.02.02 (riesmeier)
-
-- Added support for unkown VR "??" in dump file:
- Added support for unknown VR "??" that is e.g. used by dcmdump when parsing
- "Unknown Tag & Data" in a transfer syntax with implicit VR.
- Thanks to forum user "ionut.vaida" for the triggering posting.
- Affects: dcmdata/apps/dump2dcm.cc
-
-- Fixed typo in command line option check:
- Fixed a typo when checking the command line option "--prefer-mpeg4-2-st".
- Affects: dcmnet/apps/getscu.cc
-
-- Check returned status of chooseRepresentation():
- Check returned status of chooseRepresentation() and report an error if
- changing the pixel representation fails. This information is useful in
- cases where a DICOM file cannot be converted because of the Pixel Data.
- Affects: dcmdata/apps/dcmconv.cc
-
-**** Changes from 2017.02.01 (riesmeier)
-
-- Added further support for Supplement 195 (HEVC):
- Added further support for Supplement 195 (HEVC/H.265 Transfer Syntax). Now,
- also movescu's --accept-all option supports the two new transfer syntaxes.
- Partly closes DCMTK Conformance #702.
- Affects: dcmnet/apps/movescu.cc
- dcmnet/docs/movescu.man
-
-- Shortened description of MPEG xfer options:
- Shortened description of the various MPEG (mainly -4 but also -2) transfer
- syntax options in order to fit into the max. line length of 80 characters.
- The full description is, of course, still available in the man page.
- Affects: dcmnet/apps/getscu.cc
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
- dcmqrdb/apps/dcmqrscp.cc
-
-- Fixed description of option --prefer-mpeg4-bd.
- Affects: dcmnet/docs/getscu.man
-
-**** Changes from 2017.02.01 (schlamelcher)
-
-- Added missing comment header to several unit tests.
- Affects: ofstd/tests/tlimits.cc
- ofstd/tests/toption.cc
- ofstd/tests/ttuple.cc
- ofstd/tests/tvariant.cc
-
-**** Changes from 2017.02.01 (onken)
-
-- Fixed minor documentation issue.
- Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h
-
-**** Changes from 2017.02.01 (schlamelcher)
-
-- Minor fixes in code comments of yesterdays commits.
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-**** Changes from 2017.02.01 (onken)
-
-- Fixed minor documnetation issue.
- Affects: dcmtls/include/dcmtk/dcmtls/tlsscu.h
-
-- Fixed User Identification Negotiation ack message:
- Fixed User Identification Negotiation Acknowledgement message which used the
- same user item identifier (0x58) as the request but has to use a different one
- (0x59) instead. Enhanced documentation.
- Fixes DCMTK bug #437.
- Thanks for the report to Yves Neumann<neumann@image-systems.biz>.
- Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h
- dcmnet/libsrc/dcuserid.cc
- dcmnet/libsrc/dulparse.cc
-
-- Added missing documentation:
- Closes DCMTK Bug #541.
- Affects: dcmtls/include/dcmtk/dcmtls/tlsscu.h
-
-**** Changes from 2017.02.01 (riesmeier)
-
-- Fixed bug introduced with last commit (crash):
- Fixed a severe bug introduced with the last commit that caused the tool to
- crash if option --accept-all (+xa) was used. The reason was that the size
- of the array "transferSyntaxes" was not increased even though new entries
- were added to it (namely, three new MPEG4 transfer syntaxes).
- Affects: dcmnet/apps/movescu.cc
-
-**** Changes from 2017.01.31 (riesmeier)
-
-- Removed obsolete command line options:
- Removed options that were removed from the command line tool.
- Also removed outdated/useless section on "JSON Encoding".
- Affects: dcmdata/docs/dcm2json.man
-
-- Updated credits with regard to the Debian package.
- Affects: CREDITS
-
-- Removed useless "option block" for single option.
- Affects: dcmdata/apps/dcm2json.cc
-
-- Use DCM_MaxReadLength as the default value:
- Use DCM_MaxReadLength as the default value for the "maxReadLength" parameter
- and not "4096", i.e. a numerical value. Also fixed source code formatting.
- Affects: dcmdata/apps/dcm2json.cc
-
-- Minor fixes for reasons of consistency:
- Minor fixes such as source code formatting or naming conventions for
- reasons of consistency with existing code.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/libsrc/dcvr.cc
-
-- Made sure that a value is loaded before modified:
- Made sure that an element value is actually loaded before it is modified
- with DcmElement::changeValue(). This fixes a possible crash (segmentation
- fault) in case the "maxReadLength" parameter of the various loadFile/read
- methods was set to a very low value (i.e., less than 4).
- Thanks to Michael Schinner <Michael.Schinner@ith-icoserve.com> for the bug
- report and for the test program that demonstrates this crash.
- Affects: dcmdata/libsrc/dcelem.cc
-
-**** Changes from 2017.01.31 (grallert)
-
-- Removed unused command line parameters from dcm2json:
- Removed --load-all, --load-short and --max-read-length, since they have no
- meaning for dcm2json (all elements will be read as needed for the JSON output
- anyway).
- Affects: dcmdata/apps/dcm2json.cc
-
-- Added MPEG-4 transfer syntax options to several apps:
- Several MPEG-4 transfer syntaxes may now be proposed/preferred via the
- respective command line arguments of storescu etc.
- Affects: dcmnet/apps/getscu.cc
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
- dcmnet/docs/getscu.man
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/docs/storescu.man
- dcmqrdb/apps/dcmqrscp.cc
- dcmqrdb/docs/dcmqrscp.man
- dcmqrdb/libsrc/dcmqrcbm.cc
- dcmqrdb/libsrc/dcmqrsrv.cc
-
-**** Changes from 2017.01.31 (schlamelcher)
-
-- Added Specific Character Set to the dcmqrdb index:
- The value of Specific Character set (if any) is now also stored into the index
- file of dcmqrdb and provided within find responses.
- Don't forget to re-create your database indices using dcmqridx.
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-- Refactored dcmqrdb element list to use new/delete:
- Dcmqrdb's list implementation is now created and destroyed using new/delete
- instead of malloc/free. This ensures all list element members are correctly
- initialized via the constructor and enables the use of non-POD types inside
- the list.
- Affects: dcmqrdb/libsrc/dcmqrdbi.cc
-
-- Fixed: ST is also affected by specific character set.
- Affects: dcmdata/libsrc/dcvr.cc
-
-**** Changes from 2017.01.31 (riesmeier)
-
-- Added support for recently approved CP-1619:
- Added support for CP-1619 to the data dictionary.
- This CP was approved during this week's DICOM WG-06 meeting.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-**** Changes from 2017.01.30 (schlamelcher)
-
-- Added DcmSpecificCharacterSet state checking methods:
- The initialization state (i.e. whether selectCharacterSet was called before)
- of an DcmSpecificCharacterSet object can now be queried via the corresponding
- operator OFBool and operator! methods. This eases using a persistent object
- for multiple character set conversions.
- Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
- dcmdata/libsrc/dcspchrs.cc
-
-- Refactored DcmCharString based classes using DcmVR:
- DcmCharString and the VR classes based on it now use the information from
- DcmVR for character set conversions; this reduces information redundancy.
- Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h
- dcmdata/include/dcmtk/dcmdata/dcvrlo.h
- dcmdata/include/dcmtk/dcmdata/dcvrpn.h
- dcmdata/include/dcmtk/dcmdata/dcvrsh.h
- dcmdata/libsrc/dcchrstr.cc
- dcmdata/libsrc/dcvrlo.cc
- dcmdata/libsrc/dcvrpn.cc
- dcmdata/libsrc/dcvrsh.cc
-
-- Added additional information to DcmVR:
- DcmVR now also provides Specific Character Set related information, if a given
- VR is affected by the value of Specific Character Set and what delimiter
- characters are to be regarded for character set conversion.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/libsrc/dcvr.cc
-
-**** Changes from 2017.01.27 (riesmeier)
-
-- Removed gethostbyname from compatibility header:
- Removed gethostbyname() function from dcmnet's old compatibility header file
- since this function has been wrapped and moved to ofstd with commit a144346.
- Affects: dcmnet/include/dcmtk/dcmnet/dcompat.h
-
-- Removed obsolete macro (Windows 95 workaround):
- Removed the obsolete macro NO_WINDOWS95_ADDRESS_TRANSLATION_WORKAROUND,
- which probably nobody every used. Since the gethostbyname() function,
- at least officially, does not accept an IP address on many operating
- systems, the "workaround" is now the only way of doing it. And, since
- it was already the default behavior for almost 20 years now, nothing
- changes at all.
- Also see DCMTK Bug #391.
- Affects: config/docs/macros.txt
- dcmnet/libsrc/dulfsm.cc
-
-**** Changes from 2017.01.25 (riesmeier)
-
-- Added explicit typecast to function parameter:
- Added explicit typecast to "int" parameter of Windows function
- WideCharToMultiByte() in order to avoid a compiler warning.
- Affects: ofstd/libsrc/ofstd.cc
-
-- Changed type for index/number of sequence items:
- Changed data type used for the index and number of sequence items. The type
- "size_t" seems to be more appropriate than "unsigned long" since internally
- an OFList (subset of std:list) instance is used for the data management.
- As a consequence, VisualStudio and other compilers will not warn anymore on
- a "possible loss of data" (warning C4267).
- Affects: dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtads.h
- dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtags.h
- dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtass.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbads.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h
- dcmrt/include/dcmtk/dcmrt/seq/drtccs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtces.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtchs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcims.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtddps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdias.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drteas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtes.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
- dcmrt/include/dcmtk/dcmrt/seq/drtians.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtibls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtibs.h
- dcmrt/include/dcmtk/dcmrt/seq/drticpds.h
- dcmrt/include/dcmtk/dcmrt/seq/drticps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtircs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtitts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtoas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtois.h
- dcmrt/include/dcmtk/dcmrt/seq/drtopis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtporis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtqds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtras.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrims.h
- dcmrt/include/dcmtk/dcmrt/seq/drtris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrses.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtshds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsins.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsns.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drttms0.h
- dcmrt/include/dcmtk/dcmrt/seq/drttms9.h
- dcmrt/include/dcmtk/dcmrt/seq/drttscds.h
- dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h
- dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h
- dcmrt/include/dcmtk/dcmrt/seq/drttts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtudis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtvls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
- dcmrt/libsrc/drtaadcs.cc
- dcmrt/libsrc/drtadcs.cc
- dcmrt/libsrc/drtads.cc
- dcmrt/libsrc/drtafs.cc
- dcmrt/libsrc/drtags.cc
- dcmrt/libsrc/drtajcs.cc
- dcmrt/libsrc/drtas1.cc
- dcmrt/libsrc/drtas5.cc
- dcmrt/libsrc/drtas6.cc
- dcmrt/libsrc/drtas7.cc
- dcmrt/libsrc/drtass.cc
- dcmrt/libsrc/drtbads.cc
- dcmrt/libsrc/drtbas.cc
- dcmrt/libsrc/drtbcps.cc
- dcmrt/libsrc/drtbl2.cc
- dcmrt/libsrc/drtbl5.cc
- dcmrt/libsrc/drtbldls.cc
- dcmrt/libsrc/drtbldps.cc
- dcmrt/libsrc/drtblds1.cc
- dcmrt/libsrc/drtblds5.cc
- dcmrt/libsrc/drtblds6.cc
- dcmrt/libsrc/drtbldts.cc
- dcmrt/libsrc/drtbrcss.cc
- dcmrt/libsrc/drtbrdrs.cc
- dcmrt/libsrc/drtbrs.cc
- dcmrt/libsrc/drtbs.cc
- dcmrt/libsrc/drtbss.cc
- dcmrt/libsrc/drtbvcps.cc
- dcmrt/libsrc/drtcbars.cc
- dcmrt/libsrc/drtccs.cc
- dcmrt/libsrc/drtcctus.cc
- dcmrt/libsrc/drtcdrs.cc
- dcmrt/libsrc/drtces.cc
- dcmrt/libsrc/drtcgis.cc
- dcmrt/libsrc/drtchs.cc
- dcmrt/libsrc/drtcims.cc
- dcmrt/libsrc/drtcis.cc
- dcmrt/libsrc/drtcncs.cc
- dcmrt/libsrc/drtcos.cc
- dcmrt/libsrc/drtcpas.cc
- dcmrt/libsrc/drtcpis.cc
- dcmrt/libsrc/drtcps.cc
- dcmrt/libsrc/drtcs.cc
- dcmrt/libsrc/drtcsas.cc
- dcmrt/libsrc/drtcshs.cc
- dcmrt/libsrc/drtcsis.cc
- dcmrt/libsrc/drtcss.cc
- dcmrt/libsrc/drtdcs.cc
- dcmrt/libsrc/drtdddps.cc
- dcmrt/libsrc/drtddps.cc
- dcmrt/libsrc/drtdias.cc
- dcmrt/libsrc/drtdimcs.cc
- dcmrt/libsrc/drtdimrs.cc
- dcmrt/libsrc/drtdirs.cc
- dcmrt/libsrc/drtdose.cc
- dcmrt/libsrc/drtdrs.cc
- dcmrt/libsrc/drtds.cc
- dcmrt/libsrc/drtdspcs.cc
- dcmrt/libsrc/drtdss.cc
- dcmrt/libsrc/drtdvhs.cc
- dcmrt/libsrc/drtdvrrs.cc
- dcmrt/libsrc/drteas.cc
- dcmrt/libsrc/drtecs.cc
- dcmrt/libsrc/drtes.cc
- dcmrt/libsrc/drtfds.cc
- dcmrt/libsrc/drtfes.cc
- dcmrt/libsrc/drtfgs.cc
- dcmrt/libsrc/drtfgss.cc
- dcmrt/libsrc/drtfms.cc
- dcmrt/libsrc/drtfsss.cc
- dcmrt/libsrc/drtgas.cc
- dcmrt/libsrc/drtgpis.cc
- dcmrt/libsrc/drthsdrs.cc
- dcmrt/libsrc/drtiais.cc
- dcmrt/libsrc/drtians.cc
- dcmrt/libsrc/drtiblds.cc
- dcmrt/libsrc/drtibls.cc
- dcmrt/libsrc/drtibs.cc
- dcmrt/libsrc/drticpds.cc
- dcmrt/libsrc/drticps.cc
- dcmrt/libsrc/drtics.cc
- dcmrt/libsrc/drtiis.cc
- dcmrt/libsrc/drtimage.cc
- dcmrt/libsrc/drtionpl.cc
- dcmrt/libsrc/drtiontr.cc
- dcmrt/libsrc/drtipiqs.cc
- dcmrt/libsrc/drtircs.cc
- dcmrt/libsrc/drtiseis.cc
- dcmrt/libsrc/drtitts.cc
- dcmrt/libsrc/drtiwps.cc
- dcmrt/libsrc/drtiws.cc
- dcmrt/libsrc/drtlsds.cc
- dcmrt/libsrc/drtlsds6.cc
- dcmrt/libsrc/drtlsds7.cc
- dcmrt/libsrc/drtmacds.cc
- dcmrt/libsrc/drtmas.cc
- dcmrt/libsrc/drtmdrs.cc
- dcmrt/libsrc/drtmls.cc
- dcmrt/libsrc/drtmps.cc
- dcmrt/libsrc/drtmris.cc
- dcmrt/libsrc/drtmss.cc
- dcmrt/libsrc/drtmucs.cc
- dcmrt/libsrc/drtoas.cc
- dcmrt/libsrc/drtois.cc
- dcmrt/libsrc/drtopis.cc
- dcmrt/libsrc/drtos.cc
- dcmrt/libsrc/drtpbcs.cc
- dcmrt/libsrc/drtpcs.cc
- dcmrt/libsrc/drtpcxs.cc
- dcmrt/libsrc/drtpdecs.cc
- dcmrt/libsrc/drtpdeds.cc
- dcmrt/libsrc/drtpfms.cc
- dcmrt/libsrc/drtpics.cc
- dcmrt/libsrc/drtplan.cc
- dcmrt/libsrc/drtporcs.cc
- dcmrt/libsrc/drtporis.cc
- dcmrt/libsrc/drtppcs.cc
- dcmrt/libsrc/drtprsis.cc
- dcmrt/libsrc/drtpscs.cc
- dcmrt/libsrc/drtpsics.cc
- dcmrt/libsrc/drtpss.cc
- dcmrt/libsrc/drtpsss.cc
- dcmrt/libsrc/drtpvis.cc
- dcmrt/libsrc/drtqds.cc
- dcmrt/libsrc/drtras.cc
- dcmrt/libsrc/drtrbas2.cc
- dcmrt/libsrc/drtrbas8.cc
- dcmrt/libsrc/drtrbls.cc
- dcmrt/libsrc/drtrbos1.cc
- dcmrt/libsrc/drtrbos6.cc
- dcmrt/libsrc/drtrbos7.cc
- dcmrt/libsrc/drtrbs2.cc
- dcmrt/libsrc/drtrbs4.cc
- dcmrt/libsrc/drtrbs8.cc
- dcmrt/libsrc/drtrcdrs.cc
- dcmrt/libsrc/drtrcos.cc
- dcmrt/libsrc/drtrcps.cc
- dcmrt/libsrc/drtrcs.cc
- dcmrt/libsrc/drtrdros.cc
- dcmrt/libsrc/drtrdrs1.cc
- dcmrt/libsrc/drtrdrs6.cc
- dcmrt/libsrc/drtrdrs8.cc
- dcmrt/libsrc/drtrds.cc
- dcmrt/libsrc/drtrecs.cc
- dcmrt/libsrc/drtrfgs.cc
- dcmrt/libsrc/drtrfors.cc
- dcmrt/libsrc/drtrics.cc
- dcmrt/libsrc/drtrims.cc
- dcmrt/libsrc/drtris.cc
- dcmrt/libsrc/drtrlsds.cc
- dcmrt/libsrc/drtrmdrs.cc
- dcmrt/libsrc/drtrms.cc
- dcmrt/libsrc/drtrmss6.cc
- dcmrt/libsrc/drtrmss7.cc
- dcmrt/libsrc/drtrpcs.cc
- dcmrt/libsrc/drtrpis.cc
- dcmrt/libsrc/drtrppcs.cc
- dcmrt/libsrc/drtrpphs.cc
- dcmrt/libsrc/drtrpps.cc
- dcmrt/libsrc/drtrppss.cc
- dcmrt/libsrc/drtrps.cc
- dcmrt/libsrc/drtrris1.cc
- dcmrt/libsrc/drtrris6.cc
- dcmrt/libsrc/drtrris9.cc
- dcmrt/libsrc/drtrrms.cc
- dcmrt/libsrc/drtrros.cc
- dcmrt/libsrc/drtrrpcs.cc
- dcmrt/libsrc/drtrrros.cc
- dcmrt/libsrc/drtrrs.cc
- dcmrt/libsrc/drtrrshs.cc
- dcmrt/libsrc/drtrrtps.cc
- dcmrt/libsrc/drtrrtps3.cc
- dcmrt/libsrc/drtrrtps4.cc
- dcmrt/libsrc/drtrrtps5.cc
- dcmrt/libsrc/drtrscs.cc
- dcmrt/libsrc/drtrsers.cc
- dcmrt/libsrc/drtrses.cc
- dcmrt/libsrc/drtrshs.cc
- dcmrt/libsrc/drtrshs6.cc
- dcmrt/libsrc/drtrshs7.cc
- dcmrt/libsrc/drtrsis.cc
- dcmrt/libsrc/drtrsns.cc
- dcmrt/libsrc/drtrsos.cc
- dcmrt/libsrc/drtrsrs.cc
- dcmrt/libsrc/drtrss.cc
- dcmrt/libsrc/drtrsss.cc
- dcmrt/libsrc/drtrsts.cc
- dcmrt/libsrc/drtrtrs2.cc
- dcmrt/libsrc/drtrtrs4.cc
- dcmrt/libsrc/drtrvis.cc
- dcmrt/libsrc/drtrws.cc
- dcmrt/libsrc/drtrwvms.cc
- dcmrt/libsrc/drtscris.cc
- dcmrt/libsrc/drtscs.cc
- dcmrt/libsrc/drtsdcs.cc
- dcmrt/libsrc/drtsds.cc
- dcmrt/libsrc/drtshds.cc
- dcmrt/libsrc/drtsins.cc
- dcmrt/libsrc/drtsis.cc
- dcmrt/libsrc/drtsns.cc
- dcmrt/libsrc/drtspccs.cc
- dcmrt/libsrc/drtspcs.cc
- dcmrt/libsrc/drtspgis.cc
- dcmrt/libsrc/drtsptcs.cc
- dcmrt/libsrc/drtss.cc
- dcmrt/libsrc/drtssrcs.cc
- dcmrt/libsrc/drtssrs.cc
- dcmrt/libsrc/drtsss.cc
- dcmrt/libsrc/drtstrct.cc
- dcmrt/libsrc/drttms0.cc
- dcmrt/libsrc/drttms9.cc
- dcmrt/libsrc/drttreat.cc
- dcmrt/libsrc/drttscds.cc
- dcmrt/libsrc/drttsibs.cc
- dcmrt/libsrc/drttsmds.cc
- dcmrt/libsrc/drttts.cc
- dcmrt/libsrc/drtudis.cc
- dcmrt/libsrc/drtvls.cc
- dcmrt/libsrc/drtwps.cc
- dcmrt/libsrc/drtwrs.cc
- dcmrt/libsrc/drtwrsrs.cc
- dcmrt/libsrc/drtws.cc
- dcmrt/libsrc/drtxrs.cc
-
-- Pass value of correct type to "size" parameter:
- Pass value of correct type to "size" parameter of the getOutputData()
- method of class DicomImage, i.e. "unsigned long" instead of "size_t".
- This avoids a warning message being reported by certain compilers, e.g.
- VisualStudio 2015 (x64).
- Affects: dcmrt/libsrc/drmimage.cc
-
-- Added missing brackets to "if( || )" statement.
- Affects: ofstd/tests/toffile.cc
-
-- Minor cleanup in dump output of TLS connections:
- Fixed indentation and newlines in dump output of TLS connections.
- Affects: dcmtls/libsrc/tlslayer.cc
- dcmtls/libsrc/tlstrans.cc
-
-- Replaced remaining tabs by spaces.
- Affects: dcmnet/libsrc/dcmtrans.cc
-
-**** Changes from 2017.01.23 (riesmeier)
-
-- Disable exception throwing in destructor:
- Don't throw an exception from the destructor in order to avoid that the
- application terminates abruptly. The original code line comes from the
- underlying Log4cplus library.
- Affects: oflog/libsrc/hierlock.cc
-
-**** Changes from 2017.01.20 (onken)
-
-- Added hints that memory has to be freed by caller:
- Added hints that Segmentation and Tractography Results objects that are created
- by the existing static methods have to be freed by the caller.
- Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmtract/include/dcmtk/dcmtract/trctractographyresults.h
-
-**** Changes from 2017.01.20 (riesmeier)
-
-- Enhanced comments on charset to library mapping:
- Enhanced comments on the mapping between DICOM character sets and the
- underlying conversion libraries. Also fixed various vaguenesses.
- Bottom line is: only the GNU libiconv (as of version 1.14) supports ALL
- character sets that are currently defined in the DICOM standard. Both ICU
- and the stdlibc iconv() function lack support of some Japanese character
- sets, e.g. "ISO-IR-87" (JIS X 0201) and "ISO-IR-159" (JIS X 0212).
- Affects: dcmdata/libsrc/dcspchrs.cc
-
-- Included missing standard header "assert":
- Added missing standard header "assert.h" or "cassert" in order to compile
- when HAVE_STL and HAVE_STD_STRING are defined. This header file is needed
- for Linux systems with gcc (and probably others).
- Affects: dcmdata/libsrc/dcjson.cc
-
-- Removed unused variable from writeJsonOpener().
- Affects: dcmdata/libsrc/dcelem.cc
-
-- Added missing header include (without OpenSSL):
- When compiled without OpenSSL support, the header file "dcmtrans.h" also
- needs to be included for the new settings dcmSocketSend/ReceiveTimeout.
- Affects: dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
-
-- Fixed typos in API documentation.
- Affects: dcmnet/include/dcmtk/dcmnet/dcmtrans.h
-
-**** Changes from 2017.01.19 (riesmeier)
-
-- Added new option --socket-timeout to storescu/scp:
- Added new option --socket-timeout, which allows for specifying the timeout
- for sending and receiving data on a network socket. A default of 60 seconds
- is useful in cases where the sender (e.g. storescu) looses the connection
- to the receiver (e.g. storescp) because the network cable is pulled or the
- like. A value 0 means that the send() or recv() function never timeouts.
- Affects: dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
- dcmnet/docs/storescp.man
- dcmnet/docs/storescu.man
-
-- Made send() and recv() timeout configurable:
- Made the timeout for the send() and recv() function configurable, i.e. the
- default value of 60 seconds can now be changed at runtime. The previously
- used macros DISABLE_RECV_TIMEOUT and DISABLE_SEND_TIMEOUT have, therefore,
- become obsolete.
- This partly closes DCMTK Bug #618.
- Affects: config/docs/macros.txt
- dcmnet/include/dcmtk/dcmnet/dcmtrans.h
- dcmnet/libsrc/dcmtrans.cc
-
-- Added #warning on DONT_DISABLE_NAGLE_ALGORITHM:
- Added warning during compilation if outdated DONT_DISABLE_NAGLE_ALGORITHM
- is still used. Also readded this previously supported macro to the main
- documentation file with a hint on the new behavior.
- Affects: config/docs/macros.txt
- dcmnet/libsrc/dul.cc
- dcmnet/libsrc/dulfsm.cc
-
-- Minor corrections to documentation/comments.
- Affects: dcmnet/include/dcmtk/dcmnet/dul.h
-
-- Simplified output of default option values:
- Simplified output of default option values and also of the range of valid
- values. This approach is now consistent with other tools like "storescu".
- Affects: dcmnet/apps/storescp.cc
-
-**** Changes from 2017.01.19 (onken)
-
-- Fixed potential NULL pointer and implicit casts:
- Two potential NULL pointer derefences have been fixed as well as various
- implicit casts that could lead to data loss. Guards have been added where
- necessary and remaining (safe) casts have been made explicit.
- Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h
- dcmiod/libsrc/iodutil.cc
- dcmnet/apps/getscu.cc
- dcmnet/apps/storescu.cc
- dcmpmap/libsrc/dpmparametricmapiod.cc
- dcmseg/include/dcmtk/dcmseg/segtypes.h
- dcmseg/libsrc/segdoc.cc
-
-- Fixed (harmless) shadowed variabl.
- Affects: dcmfg/libsrc/fgframeanatomy.cc
-
-**** Changes from 2017.01.18 (riesmeier)
-
-- Do not pass simple const parameters by reference.
- Affects: dcmnet/include/dcmtk/dcmnet/assoc.h
- dcmnet/libsrc/assoc.cc
-
-- Do not disable Nagle algorithm by default:
- Beginning with DCMTK 3.4.1, the so-called Nagle algorithm was disabled by
- default for each DICOM transport connection in order to increase the network
- performance, especially on Windows systems. However, on most modern operating
- systems this default does not seem to be appropriate anymore. Therefore, the
- default has been changed and the compiler macro DONT_DISABLE_NAGLE_ALGORITHM
- has been replaced by DISABLE_NAGLE_ALGORITHM, so at compilation time the Nagle
- algorithm can still be disabled (if needed). In addition, the environment
- variable NO_TCPDELAY allows for changing this default at runtime.
- See "config/docs/macros.txt" and "config/docs/envvars.txt" for details.
- Closes DCMTK Feature #364.
- Affects: config/docs/envvars.txt
- config/docs/macros.txt
- dcmnet/libsrc/dul.cc
- dcmnet/libsrc/dulfsm.cc
-
-- Fixed maximum number of bytes to read from stdin:
- Limit maximum number of bytes to read from stdin in order to avoid a
- possible buffer overflow. This issue has been reported by the static
- code analysis tool of VisualStudio 2015.
- Also fixed various typos in comments.
- Affects: dcmnet/apps/storescp.cc
- dcmwlm/libsrc/wlmactmg.cc
-
-- Replaced binary ("&") by boolean ("&&") AND.
- Affects: dcmdata/libsrc/dcddirif.cc
-
-- Fixed warnings reported by VisualStudio 2015:
- Added explicit typecasts in order to avoid warnings of type C4267
- "possible loss of data" reported by VisualStudio 2015.
- Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h
- dcmnet/libsrc/assoc.cc
- dcmnet/libsrc/dcuserid.cc
- dcmnet/libsrc/dulconst.cc
- dcmpstat/libsrc/dvpstat.cc
-
-- Updated latest tested CMake version:
- Updated information on latest CMake version that has been tested to "3.7.2".
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2017.01.17 (onken)
-
-- Avoid another variable shadow warning.
- Affects: dcmpmap/libsrc/dpmparametricmapiod.cc
-
-- Print conn. timeout to TRACE instead DEBUG level:
- If select() runs into a timeout when listening for TCP connections, a message
- was printed to the DEBUG log level. Since this can occur quite often (depending
- on the timeout), the message has been moved to the TRACE logger instead.
- Affects: dcmnet/libsrc/diutil.cc
-
-- Fixed warning about unused parameter.
- Affects: ofstd/include/dcmtk/ofstd/ofoption.h
-
-- Fixed warnings about overloaded virtual functions.
- Affects: dcmtract/include/dcmtk/dcmtract/trcstatistic.h
- dcmtract/libsrc/trcstatistic.cc
-
-- Avoid warnings about shadowed names.
- Affects: dcmfg/libsrc/fg.cc
- dcmiod/tests/tcielabutil.cc
-
-**** Changes from 2017.01.16 (riesmeier)
-
-- Do not set TCP send and receive buffer length:
- By default, don't set the TCP send and receive buffer length anymore since
- modern operating systems know much better what appropriate values are. If
- the user wants, he can still specify a certain buffer length by using the
- environment variable TCP_BUFFER_LENGTH (which was already supported by
- previous versions of the DCMTK).
- Thanks to Alexander Haderer <alexander.haderer@loescap.de> for the suggested
- patch and forum user "tpalagyi" (and others) for the original report.
- Closes DCMTK Feature #597.
- Affects: config/docs/envvars.txt
- dcmnet/libsrc/dul.cc
- dcmnet/libsrc/dulfsm.cc
-
-- Removed DCMTK's implementation of tempnam():
- Removed DCMTK's implementation of tempnam() since it is not used any longer.
- Also removed related documentation on environment variable TMPDIR.
- Affects: config/docs/envvars.txt
- dcmnet/include/dcmtk/dcmnet/dcompat.h
- dcmnet/libsrc/dcompat.cc
-
-**** Changes from 2017.01.14 (riesmeier)
-
-- Added another character set test (for ISO-IR 149):
- Added another character set conversion test that checks for the automatic
- detection of 8- vs. 16-bit characters when using "ISO 2022 IR 149".
- Affects: dcmdata/tests/tspchrs.cc
-
-**** Changes from 2017.01.13 (riesmeier)
-
-- Fixed issue with wrong detection of delimiters:
- Fixed issue with wrong detection of delimiters (such as a backslash) when
- converting a character string with multi-byte character set and code
- extensions. Also enhanced support for character sets that use one or two
- bytes per character such as "ISO 2022 IR 149".
- Thanks to Bhuvan Bose <bhuvanbose86@gmail.com> for the original report and
- for the sample DICOM object (using "\ISO 2022 IR 87" character set).
- Closes DCMTK Bug #684.
- Affects: dcmdata/libsrc/dcspchrs.cc
-
-- Updated documentation regarding HT delimiter:
- Updated documentation regarding the horizontal tab (HT) character being one
- of the standard delimiters.
- Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
- dcmdata/libsrc/dcspchrs.cc
-
-- Added another character set test (for ISO-IR 58):
- Added another character set test based on the example from DICOM PS3.5 K.2.
- This test uses GB 2312 (registered as ISO-IR 58), i.e. Simplified Chinese.
- Affects: dcmdata/tests/tspchrs.cc
-
-**** Changes from 2017.01.09 (onken)
-
-- Fixed various documentation issues:
- Fixed doxygen warnings by adding missing documentation of parameters and
- return values as well as doubled section labels in dcmnet documentation that
- also occur in other DCMTK modules.
- Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h
- dcmiod/include/dcmtk/dcmiod/iodmacro.h
- dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
- dcmiod/include/dcmtk/dcmiod/modsynchronisation.h
- dcmnet/docs/cptscp.dox
- dcmnet/docs/dcmnet.dox
- dcmnet/docs/dcmrecv.man
- dcmnet/docs/dcmsend.man
- dcmnet/docs/echoscu.man
- dcmnet/docs/findscu.man
- dcmnet/docs/getscu.man
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/docs/storescu.man
- dcmnet/docs/termscu.man
- dcmnet/include/dcmtk/dcmnet/dcuserid.h
- dcmnet/include/dcmtk/dcmnet/scpcfg.h
- dcmpmap/docs/dcmpmap.dox
- dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapiod.h
- dcmseg/include/dcmtk/dcmseg/segdoc.h
-
-**** Changes from 2017.01.06 (onken)
-
-- Better SCP timeouts, test, cleanups and more docs:
- A new possibility was added to return from DcmSCP's listen() loop in
- non-blocking mode. A dedicated return code has been added, as well as
- for the existing "stop after current association" feature. A test was added
- to ensure DcmSCP works as expected.
- Some methods have been cleaned up, especially calls for freeing association
- structures have been concentrated into a single call.
- Some further documentation was added, including possible return codes of
- some important methods.
- Added: dcmnet/tests/tscuscp.cc
- Affects: dcmnet/apps/Makefile.dep
- dcmnet/include/dcmtk/dcmnet/cond.h
- dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/Makefile.dep
- dcmnet/libsrc/cond.cc
- dcmnet/libsrc/scp.cc
- dcmnet/tests/CMakeLists.txt
- dcmnet/tests/Makefile.dep
- dcmnet/tests/Makefile.in
- dcmnet/tests/tests.cc
-
-**** Changes from 2017.01.06 (riesmeier)
-
-- Removed "dcmwlm/wwwapps" from ".gitignore":
- Removed retired "wwwapps" of the Worklist Management SCP module from the
- ".gitignore" file.
- Affects: .gitignore
-
-- Added Manpage of recently introduced dcm2json tool.
- Added: doxygen/manpages/man1/dcm2json.1
-
-- Let git ignore recently introduced dcm2json tool.
- Affects: .gitignore
-
-- Added a section on the rendering limitations:
- Added a section to the manpage that describes the (current) limitations
- when rendering a GSPS object, e.g. textual and graphical annotations are
- not supported.
- Closes DCMTK Feature #665.
- Affects: dcmpstat/docs/dcmp2pgm.man
-
-- Fixed incomplete renaming of command line options:
- Fixed incomplete renaming of command line options --illegal-obow-reject,
- --illegal-obow-convert, --illegal-voi-reject and --illegal-voi-convert,
- which was done with commit 0b36181. Now, these options should work again
- as expected since the correct option names are checked.
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmdump.cc
-
-- Removed unused configure variable/definition:
- Remove unused GNU Autoconf (aka "./configure") variable/definition
- DCMTK_ENABLE_BUILTIN_DICTIONARY. Seems to be a leftover from a previous
- implementation attempt that has not been committed.
- Affects: config/Makefile.def.in
- config/configure
- config/configure.in
-
-**** Changes from 2017.01.02 (onken)
-
-- Fixed installation of DCMTKConfigVersion.cmake:
- DCMTKConfigVersion.cmake has not been installed, thus leading to an error
- when importing DCMTK through find_package() with a specified version from
- other CMake-based projects.
- Thanks to Waldir Pimenta<waldir.pimenta@gmail.com> for the report and
- suggested patch.
- Closes DCMTK Bug #708.
- Affects: CMake/GenerateCMakeExports.cmake
- CMakeLists.txt
-
-**** Changes from 2016.12.16 (eichelberg)
-
-- Fixed integer underflow condition:
- Minor fix to avoid a (harmless) integer underflow reported by
- clang with -fsanitize=integer.
- Affects: dcmdata/libsrc/dcstack.cc
-
-**** Changes from 2016.12.14 (schlamelcher)
-
-- Added magic word and version checks to dcmqrdb:
- All dcmqrdb applications will now prefix the index file with the magic word
- 'QRDB' followed by two hexadecimal version digits. Both will be verified
- whenever an existing index file is opened for reading/modification.
- Please note that index files with the same magic word and version might still
- be binary incompatible with each other if they originate from different
- platforms (e.g. with different endianness or alignment). This mechanism is
- meant to catch cases where the index must be re-created due to dcmtk updates.
- Don't forget to re-create your database indices using dcmqridx.
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-**** Changes from 2016.12.13 (riesmeier)
-
-- Further fixes to source code formatting.
- Affects: dcmdata/apps/dcm2json.cc
-
-- Various minor fixes to new "dcm2json" tool:
- Various minor fixes to the new "dcm2json" tool regarding documentation,
- source code formatting, etc.
- Affects: dcmdata/apps/dcm2json.cc
- dcmdata/docs/dcm2json.man
-
-**** Changes from 2016.12.13 (schlamelcher)
-
-- Fixed oflog character set conversion defines.
- Affects: oflog/include/dcmtk/oflog/config/defines.h
-
-- Fixed dcm2json when compiling as shared libraries.
- Affects: dcmdata/include/dcmtk/dcmdata/dcjson.h
-
-**** Changes from 2016.12.12 (schlamelcher)
-
-- Fixed a comment in OFCharacterEncoding:
- A recently added comment for the iconv specific OFCharacterEncoding
- implementation was (falsely) referring to the ICU.
- Affects: ofstd/libsrc/ofchrenc.cc
-
-**** Changes from 2016.12.12 (grallert)
-
-- Added support for the DICOM JSON Model (part 18 F):
- Introduced new DICOM to JSON converter that can be utilized to implement
- web applications. JSON to DICOM conversion is currently not implemented.
- Added: dcmdata/apps/dcm2json.cc
- dcmdata/docs/dcm2json.man
- dcmdata/include/dcmtk/dcmdata/dcjson.h
- dcmdata/libsrc/dcjson.cc
- Affects: dcmdata/apps/CMakeLists.txt
- dcmdata/apps/Makefile.in
- dcmdata/docs/dcmdata.dox
- dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcchrstr.h
- dcmdata/include/dcmtk/dcmdata/dcdatset.h
- dcmdata/include/dcmtk/dcmdata/dcelem.h
- dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/include/dcmtk/dcmdata/dcfilefo.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcmetinf.h
- dcmdata/include/dcmtk/dcmdata/dcobject.h
- dcmdata/include/dcmtk/dcmdata/dcsequen.h
- dcmdata/include/dcmtk/dcmdata/dcvrat.h
- dcmdata/include/dcmtk/dcmdata/dcvrds.h
- dcmdata/include/dcmtk/dcmdata/dcvris.h
- dcmdata/include/dcmtk/dcmdata/dcvrlo.h
- dcmdata/include/dcmtk/dcmdata/dcvrobow.h
- dcmdata/include/dcmtk/dcmdata/dcvrod.h
- dcmdata/include/dcmtk/dcmdata/dcvrof.h
- dcmdata/include/dcmtk/dcmdata/dcvrol.h
- dcmdata/include/dcmtk/dcmdata/dcvrpn.h
- dcmdata/include/dcmtk/dcmdata/dcvrsh.h
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.in
- dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dcchrstr.cc
- dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcmetinf.cc
- dcmdata/libsrc/dcobject.cc
- dcmdata/libsrc/dcsequen.cc
- dcmdata/libsrc/dcvrat.cc
- dcmdata/libsrc/dcvrds.cc
- dcmdata/libsrc/dcvris.cc
- dcmdata/libsrc/dcvrlo.cc
- dcmdata/libsrc/dcvrobow.cc
- dcmdata/libsrc/dcvrod.cc
- dcmdata/libsrc/dcvrof.cc
- dcmdata/libsrc/dcvrol.cc
- dcmdata/libsrc/dcvrpn.cc
- dcmdata/libsrc/dcvrsh.cc
-
-**** Changes from 2016.12.09 (riesmeier)
-
-- Avoid compiler warning on unused parameter:
- Avoid compiler warning on unused parameter, e.g. when compiling with gcc
- -Wextra. Also the read and write item methods return EC_NotYetImplemented
- instead of EC_Normal since no real content is ever read or written.
- Closes DCMTK Bug #705.
- Affects: dcmrt/libsrc/drtmas.cc
-
-**** Changes from 2016.12.08 (riesmeier)
-
-- Added comments on ICU conversions flags:
- Added comments that ICU also supports other "conversions flags" and that
- the (currently, very basic) implementation might be enhanced in the future.
- Affects: ofstd/libsrc/ofchrenc.cc
-
-- Fixed wrong check on GLIBC macro:
- Instead of "__GLIBC__" the macro "__GLIBC_" was checked, i.e. one trailing
- underscore character was missing.
- Affects: ofstd/libsrc/ofchrenc.cc
-
-**** Changes from 2016.12.07 (riesmeier)
-
-- Added missing period at the end of descriptions:
- Added missing period at the end of some CMake variable/option descriptions
- (for reasons of consistency).
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/dcmtkPrepare.cmake
-
-- Renamed isAvailable() and getVersionString():
- Renamed the methods isAvailable() and getVersionString() back to their
- original names, i.e. as they have been before the "refactoring". Now,
- it is more consistent with other "libraries" used (e.g. "IJG" for JPEG)
- and also easier to understand for a user of the API.
- Affects: dcmdata/apps/dcm2xml.cc
- dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmdump.cc
- dcmdata/libsrc/dcspchrs.cc
- dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsr2xml.cc
- dcmsr/apps/dsrdump.cc
- ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/ofchrenc.cc
- ofstd/tests/tchrenc.cc
-
-- Fixed source code formatting (where appropriate):
- Fixed source code formatting after the character set conversion classes have
- been "refactored". Now, the formatting should be (a little) more consistenti
- than before.
- Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcspchrs.cc
- ofstd/libsrc/ofchrenc.cc
-
-- Updated note on character set conversion options:
- Updated note on the character set conversion options: Now, this conversion
- does not only rely on "libiconv". The available character encoding library
- is shown in the output of --version.
- Affects: dcmdata/docs/dcm2xml.man
- dcmdata/docs/dcmconv.man
- dcmdata/docs/dcmdump.man
- dcmsr/docs/dsr2html.man
- dcmsr/docs/dsr2xml.man
- dcmsr/docs/dsrdump.man
-
-- Fixed various documentation issues:
- Fixed various documentation and Doxygen-related issues that were introduced
- with the "refactoring" of the character set conversion classes.
- Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
- ofstd/include/dcmtk/ofstd/ofchrenc.h
-
-**** Changes from 2016.12.07 (schlamelcher)
-
-- Several fixes regarding character set conversion:
- Fixed building with enabled C++11 support.
- Fixed the code to suppress unnecessary warnings about TheImplementation being
- in the wrong #if - #else - #endif segment.
- Fixed building with iconv from another C standard library than the GNU one.
- Renamed some macros/settings to reflect above changes (gnuc -> stdlibc etc.).
- Affects: CMake/3rdparty.cmake
- CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- dcmdata/libsrc/dcspchrs.cc
- ofstd/libsrc/ofchrenc.cc
-
-**** Changes from 2016.12.06 (riesmeier)
-
-- Changed the way an unused parameter is treated:
- Now, the approach is identical to a similar notifyXXX() method.
- Affects: dcmnet/libsrc/dstorscu.cc
-
-**** Changes from 2016.12.06 (grallert)
-
-- Fixed suppressing overflow warnings with Clang:
- Changed -Woverflow to -Winteger-overflow. The -Woverflow flag exists for GCC
- compatibility only and has no effect for Clang.
- Affects: ofstd/include/dcmtk/ofstd/diag/overflow.def
-
-**** Changes from 2016.12.06 (schlamelcher)
-
-- Refactored character set conversion classes:
- Refactored character set conversion to support additional implementations,
- currently also the International Components for Unicode (ICU) and the ICONV
- implementation builtin the GNU C library are also supported, in addition to
- the already supported external ICONV library.
- Added: CMake/FindICU.cmake
- Affects: CMake/3rdparty.cmake
- CMake/GenerateDCMTKConfigure.cmake
- CMake/dcmtkPrepare.cmake
- CMake/osconfig.h.in
- config/Makefile.def.in
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- dcmdata/apps/Makefile.in
- dcmdata/apps/dcm2xml.cc
- dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmdump.cc
- dcmdata/include/dcmtk/dcmdata/dcspchrs.h
- dcmdata/libsrc/Makefile.in
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcspchrs.cc
- dcmdata/tests/Makefile.in
- dcmdata/tests/tspchrs.cc
- dcmimage/apps/Makefile.in
- dcmimgle/apps/Makefile.in
- dcmiod/tests/Makefile.in
- dcmjpeg/apps/Makefile.in
- dcmjpls/apps/Makefile.in
- dcmnet/apps/Makefile.in
- dcmnet/tests/Makefile.in
- dcmpstat/apps/Makefile.in
- dcmpstat/tests/Makefile.in
- dcmqrdb/apps/Makefile.in
- dcmrt/apps/Makefile.in
- dcmrt/tests/Makefile.in
- dcmseg/tests/Makefile.in
- dcmsign/apps/Makefile.in
- dcmsr/apps/Makefile.in
- dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsr2xml.cc
- dcmsr/apps/dsrdump.cc
- dcmsr/tests/Makefile.in
- dcmwlm/apps/Makefile.in
- dcmwlm/tests/Makefile.in
- ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/CMakeLists.txt
- ofstd/libsrc/ofchrenc.cc
- ofstd/libsrc/ofconapp.cc
- ofstd/tests/Makefile.in
- ofstd/tests/tchrenc.cc
-
-**** Changes from 2016.12.01 (riesmeier)
-
-- Added (missing) comments.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
-
-**** Changes from 2016.11.30 (riesmeier)
-
-- Limit number of entries in optimization LUT:
- Made sure that the number of look-up table entries used internally for
- the optimized pixel data processing does not exceed a certain limit.
- Especially, made sure that there is no numeric oveflow, which resulted
- in a segmentation fault on 32-bit systems when processing DICOM images
- with high bit depth (e.g. Bits Allocated / Stored = 32).
- Thanks to John Stark <jstark@therapixel.com> for the original report.
- Closes DCMTK Bug #696.
- Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
- dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
-
-**** Changes from 2016.11.29 (riesmeier)
-
-- Added missing API documentation (Doxygen):
- Added missing API documentation for Doxygen, e.g. undocumented parameters
- or return values.
- Affects: oflog/include/dcmtk/oflog/oflog.h
-
-**** Changes from 2016.11.28 (riesmeier)
-
-- Added "Simplified Adult Echo SR" to ReportType.
- Affects: dcmsr/data/dsr2xml.xsd
-
-- Added missing character sets to XML Schema:
- Added various Asian character sets to the XML Schema. Support for these
- character sets was added to the C++ implementation some time ago but the
- XML Schema was - apparently - not updated.
- Affects: dcmsr/data/dsr2xml.xsd
-
-- Added tests for "new" Chinese characters sets:
- Added tests for Chinese character sets that were introduced with CP-1234:
- GB 2312 (also known as ISO-2022-CN) and GBK (a subset of GB 18030).
- Currently, it is only checked whether the associated Defined Terms for
- the Specific Character Set attribute are really supported.
- Affects: dcmdata/tests/tspchrs.cc
-
-- Added missing API documentation for Doxygen:
- Added missing API documentation for Doxygen, e.g. undocumented parameters
- or return values. Also fixed some typos in comments.
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dccodec.h
- dcmdata/include/dcmtk/dcmdata/dcdatset.h
- dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/include/dcmtk/dcmdata/dcelem.h
- dcmdata/include/dcmtk/dcmdata/dcfilefo.h
- dcmdata/include/dcmtk/dcmdata/dcmetinf.h
- dcmdata/include/dcmtk/dcmdata/dcobject.h
- dcmdata/include/dcmtk/dcmdata/dcovlay.h
- dcmdata/include/dcmtk/dcmdata/dcpixseq.h
- dcmdata/include/dcmtk/dcmdata/dcpxitem.h
- dcmdata/include/dcmtk/dcmdata/dcsequen.h
- dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/include/dcmtk/dcmdata/dcvrpobw.h
- dcmdata/include/dcmtk/dcmdata/dcvruc.h
- dcmdata/include/dcmtk/dcmdata/dcvrulup.h
- dcmdata/include/dcmtk/dcmdata/dcvrur.h
- dcmdata/include/dcmtk/dcmdata/dcvrut.h
-
-- Replaced boolean modes in convertCharacterSet():
- Replaced boolean parameters "transliterate" and "discardIllegal" of the
- convertCharacterSet() methods by a single "flags" parameter (as it is
- used for other similar methods in the various "dcmdata" classes). This
- allows for adding further "modes" in the future without changing the
- signature of the character set conversion methods.
- Closes DCMTK Feature #579.
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/include/dcmtk/dcmdata/dcdirrec.h
- dcmdata/include/dcmtk/dcmdata/dcfilefo.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dctypes.h
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dctypes.cc
-
-**** Changes from 2016.11.25 (riesmeier)
-
-- Check return value of write() to avoid warning:
- Added check on return value of write() function in order to avoid a warning
- message reported by gcc (on some systems with certain flags, e.g. Ubuntu).
- This finally closes DCMTK Bug #379.
- Affects: dcmqrdb/libsrc/dcmqrdbi.cc
-
-- Check return value of fgets() to avoid warnings:
- Added check on return value of fgets() function in order to avoid warning
- messages reported by gcc (on some systems with certain flags, e.g. Ubuntu).
- Also fixed various typos in log messages and comments.
- This partly closes DCMTK Bug #379.
- Affects: dcmqrdb/libsrc/dcmqrcnf.cc
-
-**** Changes from 2016.11.25 (eichelberg)
-
-- Use fseek() instead of rewind() on Win32/Cygwin:
- On Win32 and Cygwin systems, rewind() fails if the file is read-only
- and was read to EOF before the call to rewind(). Now using fseek()
- instead in OFFile::rewind().
- This fixes bug #378.
- Affects: ofstd/include/dcmtk/ofstd/offile.h
-
-- Increased buffer sizes to avoid buffer overflows:
- Increased buffer sizes to size of input string avoid possible buffer
- overflows caused by calls to sscanf with %s parameter.
- This closes bug #376.
- Affects: dcmqrdb/libsrc/dcmqrcnf.cc
- dcmqrdb/libsrc/dcmqrtis.cc
-
-- Minor change needed to compile on Cygwin 2.6.0.
- Affects: ofstd/libsrc/ofstd.cc
-
-**** Changes from 2016.11.24 (eichelberg)
-
-- Fixed signed/unsigned comparison in dcmqrdb module:
- Fixed signed/unsigned comparison in dcmqrdb module.
- WARNING: This change affects the binary format of the index.dat file,
- although only very large images > 2 GB are affected by the change.
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
-
-- Documented new movescu return codes in man page.
- Affects: dcmnet/docs/movescu.man
-
-- movescu now returns non-zero if c-move was unsuccessful:
- The movescu command line application now returns non-zero if the
- status of one or more c-move responses is warning or error and also
- prints a warning message to the logger. This simplifies the use of the
- tool in shell scripts, which can check for the return code.
- This closes feature request #652.
- Affects: dcmnet/apps/movescu.cc
-
-**** Changes from 2016.11.23 (schlamelcher)
-
-- Fixed an OFnumeric_limits problem regarding C++11:
- The previous fix for OFnumeric_limits did not consider the availability of
- C++11's std::numeric_limits, leading to name clashes if C++11 support was
- enabled.
- Affects: ofstd/libsrc/oflimits.cc
-
-**** Changes from 2016.11.23 (riesmeier)
-
-- Updated "dcmrt" classes based on DICOM 2016e:
- Updated automatically generated IOD and sequence C++ classes for the various
- RT objects based on the current edition of the DICOM standard (2016e). There
- were only very few changes.
- Affects: dcmrt/include/dcmtk/dcmrt/drtdose.h
- dcmrt/include/dcmtk/dcmrt/drtimage.h
- dcmrt/include/dcmtk/dcmrt/drtionpl.h
- dcmrt/include/dcmtk/dcmrt/drtiontr.h
- dcmrt/include/dcmtk/dcmrt/drtplan.h
- dcmrt/include/dcmtk/dcmrt/drtstrct.h
- dcmrt/include/dcmtk/dcmrt/drttreat.h
- dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtads.h
- dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtags.h
- dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtass.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbads.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h
- dcmrt/include/dcmtk/dcmrt/seq/drtccs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtces.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtchs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcims.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtddps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdias.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drteas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtes.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
- dcmrt/include/dcmtk/dcmrt/seq/drtians.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtibls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtibs.h
- dcmrt/include/dcmtk/dcmrt/seq/drticpds.h
- dcmrt/include/dcmtk/dcmrt/seq/drticps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtircs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtitts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtoas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtois.h
- dcmrt/include/dcmtk/dcmrt/seq/drtopis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtporis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtqds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtras.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrims.h
- dcmrt/include/dcmtk/dcmrt/seq/drtris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrses.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtshds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsins.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsns.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drttms0.h
- dcmrt/include/dcmtk/dcmrt/seq/drttms9.h
- dcmrt/include/dcmtk/dcmrt/seq/drttscds.h
- dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h
- dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h
- dcmrt/include/dcmtk/dcmrt/seq/drttts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtudis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtvls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
- dcmrt/libsrc/drtaadcs.cc
- dcmrt/libsrc/drtadcs.cc
- dcmrt/libsrc/drtads.cc
- dcmrt/libsrc/drtafs.cc
- dcmrt/libsrc/drtags.cc
- dcmrt/libsrc/drtajcs.cc
- dcmrt/libsrc/drtas1.cc
- dcmrt/libsrc/drtas5.cc
- dcmrt/libsrc/drtas6.cc
- dcmrt/libsrc/drtas7.cc
- dcmrt/libsrc/drtass.cc
- dcmrt/libsrc/drtbads.cc
- dcmrt/libsrc/drtbas.cc
- dcmrt/libsrc/drtbcps.cc
- dcmrt/libsrc/drtbl2.cc
- dcmrt/libsrc/drtbl5.cc
- dcmrt/libsrc/drtbldls.cc
- dcmrt/libsrc/drtbldps.cc
- dcmrt/libsrc/drtblds1.cc
- dcmrt/libsrc/drtblds5.cc
- dcmrt/libsrc/drtblds6.cc
- dcmrt/libsrc/drtbldts.cc
- dcmrt/libsrc/drtbrcss.cc
- dcmrt/libsrc/drtbrdrs.cc
- dcmrt/libsrc/drtbrs.cc
- dcmrt/libsrc/drtbs.cc
- dcmrt/libsrc/drtbss.cc
- dcmrt/libsrc/drtbvcps.cc
- dcmrt/libsrc/drtcbars.cc
- dcmrt/libsrc/drtccs.cc
- dcmrt/libsrc/drtcctus.cc
- dcmrt/libsrc/drtcdrs.cc
- dcmrt/libsrc/drtces.cc
- dcmrt/libsrc/drtcgis.cc
- dcmrt/libsrc/drtchs.cc
- dcmrt/libsrc/drtcims.cc
- dcmrt/libsrc/drtcis.cc
- dcmrt/libsrc/drtcncs.cc
- dcmrt/libsrc/drtcos.cc
- dcmrt/libsrc/drtcpas.cc
- dcmrt/libsrc/drtcpis.cc
- dcmrt/libsrc/drtcps.cc
- dcmrt/libsrc/drtcs.cc
- dcmrt/libsrc/drtcsas.cc
- dcmrt/libsrc/drtcshs.cc
- dcmrt/libsrc/drtcsis.cc
- dcmrt/libsrc/drtcss.cc
- dcmrt/libsrc/drtdcs.cc
- dcmrt/libsrc/drtdddps.cc
- dcmrt/libsrc/drtddps.cc
- dcmrt/libsrc/drtdias.cc
- dcmrt/libsrc/drtdimcs.cc
- dcmrt/libsrc/drtdimrs.cc
- dcmrt/libsrc/drtdirs.cc
- dcmrt/libsrc/drtdose.cc
- dcmrt/libsrc/drtdrs.cc
- dcmrt/libsrc/drtds.cc
- dcmrt/libsrc/drtdspcs.cc
- dcmrt/libsrc/drtdss.cc
- dcmrt/libsrc/drtdvhs.cc
- dcmrt/libsrc/drtdvrrs.cc
- dcmrt/libsrc/drteas.cc
- dcmrt/libsrc/drtecs.cc
- dcmrt/libsrc/drtes.cc
- dcmrt/libsrc/drtfds.cc
- dcmrt/libsrc/drtfes.cc
- dcmrt/libsrc/drtfgs.cc
- dcmrt/libsrc/drtfgss.cc
- dcmrt/libsrc/drtfms.cc
- dcmrt/libsrc/drtfsss.cc
- dcmrt/libsrc/drtgas.cc
- dcmrt/libsrc/drtgpis.cc
- dcmrt/libsrc/drthsdrs.cc
- dcmrt/libsrc/drtiais.cc
- dcmrt/libsrc/drtians.cc
- dcmrt/libsrc/drtiblds.cc
- dcmrt/libsrc/drtibls.cc
- dcmrt/libsrc/drtibs.cc
- dcmrt/libsrc/drticpds.cc
- dcmrt/libsrc/drticps.cc
- dcmrt/libsrc/drtics.cc
- dcmrt/libsrc/drtiis.cc
- dcmrt/libsrc/drtimage.cc
- dcmrt/libsrc/drtionpl.cc
- dcmrt/libsrc/drtiontr.cc
- dcmrt/libsrc/drtipiqs.cc
- dcmrt/libsrc/drtircs.cc
- dcmrt/libsrc/drtiseis.cc
- dcmrt/libsrc/drtitts.cc
- dcmrt/libsrc/drtiwps.cc
- dcmrt/libsrc/drtiws.cc
- dcmrt/libsrc/drtlsds.cc
- dcmrt/libsrc/drtlsds6.cc
- dcmrt/libsrc/drtlsds7.cc
- dcmrt/libsrc/drtmacds.cc
- dcmrt/libsrc/drtmas.cc
- dcmrt/libsrc/drtmdrs.cc
- dcmrt/libsrc/drtmls.cc
- dcmrt/libsrc/drtmps.cc
- dcmrt/libsrc/drtmris.cc
- dcmrt/libsrc/drtmss.cc
- dcmrt/libsrc/drtmucs.cc
- dcmrt/libsrc/drtoas.cc
- dcmrt/libsrc/drtois.cc
- dcmrt/libsrc/drtopis.cc
- dcmrt/libsrc/drtos.cc
- dcmrt/libsrc/drtpbcs.cc
- dcmrt/libsrc/drtpcs.cc
- dcmrt/libsrc/drtpcxs.cc
- dcmrt/libsrc/drtpdecs.cc
- dcmrt/libsrc/drtpdeds.cc
- dcmrt/libsrc/drtpfms.cc
- dcmrt/libsrc/drtpics.cc
- dcmrt/libsrc/drtplan.cc
- dcmrt/libsrc/drtporcs.cc
- dcmrt/libsrc/drtporis.cc
- dcmrt/libsrc/drtppcs.cc
- dcmrt/libsrc/drtprsis.cc
- dcmrt/libsrc/drtpscs.cc
- dcmrt/libsrc/drtpsics.cc
- dcmrt/libsrc/drtpss.cc
- dcmrt/libsrc/drtpsss.cc
- dcmrt/libsrc/drtpvis.cc
- dcmrt/libsrc/drtqds.cc
- dcmrt/libsrc/drtras.cc
- dcmrt/libsrc/drtrbas2.cc
- dcmrt/libsrc/drtrbas8.cc
- dcmrt/libsrc/drtrbls.cc
- dcmrt/libsrc/drtrbos1.cc
- dcmrt/libsrc/drtrbos6.cc
- dcmrt/libsrc/drtrbos7.cc
- dcmrt/libsrc/drtrbs2.cc
- dcmrt/libsrc/drtrbs4.cc
- dcmrt/libsrc/drtrbs8.cc
- dcmrt/libsrc/drtrcdrs.cc
- dcmrt/libsrc/drtrcos.cc
- dcmrt/libsrc/drtrcps.cc
- dcmrt/libsrc/drtrcs.cc
- dcmrt/libsrc/drtrdros.cc
- dcmrt/libsrc/drtrdrs1.cc
- dcmrt/libsrc/drtrdrs6.cc
- dcmrt/libsrc/drtrdrs8.cc
- dcmrt/libsrc/drtrds.cc
- dcmrt/libsrc/drtrecs.cc
- dcmrt/libsrc/drtrfgs.cc
- dcmrt/libsrc/drtrfors.cc
- dcmrt/libsrc/drtrics.cc
- dcmrt/libsrc/drtrims.cc
- dcmrt/libsrc/drtris.cc
- dcmrt/libsrc/drtrlsds.cc
- dcmrt/libsrc/drtrmdrs.cc
- dcmrt/libsrc/drtrms.cc
- dcmrt/libsrc/drtrmss6.cc
- dcmrt/libsrc/drtrmss7.cc
- dcmrt/libsrc/drtrpcs.cc
- dcmrt/libsrc/drtrpis.cc
- dcmrt/libsrc/drtrppcs.cc
- dcmrt/libsrc/drtrpphs.cc
- dcmrt/libsrc/drtrpps.cc
- dcmrt/libsrc/drtrppss.cc
- dcmrt/libsrc/drtrps.cc
- dcmrt/libsrc/drtrris1.cc
- dcmrt/libsrc/drtrris6.cc
- dcmrt/libsrc/drtrris9.cc
- dcmrt/libsrc/drtrrms.cc
- dcmrt/libsrc/drtrros.cc
- dcmrt/libsrc/drtrrpcs.cc
- dcmrt/libsrc/drtrrros.cc
- dcmrt/libsrc/drtrrs.cc
- dcmrt/libsrc/drtrrshs.cc
- dcmrt/libsrc/drtrrtps.cc
- dcmrt/libsrc/drtrrtps3.cc
- dcmrt/libsrc/drtrrtps4.cc
- dcmrt/libsrc/drtrrtps5.cc
- dcmrt/libsrc/drtrscs.cc
- dcmrt/libsrc/drtrsers.cc
- dcmrt/libsrc/drtrses.cc
- dcmrt/libsrc/drtrshs.cc
- dcmrt/libsrc/drtrshs6.cc
- dcmrt/libsrc/drtrshs7.cc
- dcmrt/libsrc/drtrsis.cc
- dcmrt/libsrc/drtrsns.cc
- dcmrt/libsrc/drtrsos.cc
- dcmrt/libsrc/drtrsrs.cc
- dcmrt/libsrc/drtrss.cc
- dcmrt/libsrc/drtrsss.cc
- dcmrt/libsrc/drtrsts.cc
- dcmrt/libsrc/drtrtrs2.cc
- dcmrt/libsrc/drtrtrs4.cc
- dcmrt/libsrc/drtrvis.cc
- dcmrt/libsrc/drtrws.cc
- dcmrt/libsrc/drtrwvms.cc
- dcmrt/libsrc/drtscris.cc
- dcmrt/libsrc/drtscs.cc
- dcmrt/libsrc/drtsdcs.cc
- dcmrt/libsrc/drtsds.cc
- dcmrt/libsrc/drtshds.cc
- dcmrt/libsrc/drtsins.cc
- dcmrt/libsrc/drtsis.cc
- dcmrt/libsrc/drtsns.cc
- dcmrt/libsrc/drtspccs.cc
- dcmrt/libsrc/drtspcs.cc
- dcmrt/libsrc/drtspgis.cc
- dcmrt/libsrc/drtsptcs.cc
- dcmrt/libsrc/drtss.cc
- dcmrt/libsrc/drtssrcs.cc
- dcmrt/libsrc/drtssrs.cc
- dcmrt/libsrc/drtsss.cc
- dcmrt/libsrc/drtstrct.cc
- dcmrt/libsrc/drttms0.cc
- dcmrt/libsrc/drttms9.cc
- dcmrt/libsrc/drttreat.cc
- dcmrt/libsrc/drttscds.cc
- dcmrt/libsrc/drttsibs.cc
- dcmrt/libsrc/drttsmds.cc
- dcmrt/libsrc/drttts.cc
- dcmrt/libsrc/drtudis.cc
- dcmrt/libsrc/drtvls.cc
- dcmrt/libsrc/drtwps.cc
- dcmrt/libsrc/drtwrs.cc
- dcmrt/libsrc/drtwrsrs.cc
- dcmrt/libsrc/drtws.cc
- dcmrt/libsrc/drtxrs.cc
-
-- Updated Context Group classes for DICOM 2016e:
- Updated automatically generated Context Group classes for the 2016e
- edition of the DICOM standard. There were only changes to CID 7181
- and 7469.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
- dcmsr/libcmr/cid100.cc
- dcmsr/libcmr/cid10013.cc
- dcmsr/libcmr/cid10033.cc
- dcmsr/libcmr/cid11.cc
- dcmsr/libcmr/cid244.cc
- dcmsr/libcmr/cid29.cc
- dcmsr/libcmr/cid4020.cc
- dcmsr/libcmr/cid4021.cc
- dcmsr/libcmr/cid4031.cc
- dcmsr/libcmr/cid42.cc
- dcmsr/libcmr/cid6147.cc
- dcmsr/libcmr/cid7021.cc
- dcmsr/libcmr/cid7181.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
- dcmsr/libcmr/cid7464.cc
- dcmsr/libcmr/cid7469.cc
-
-- Added comments on transfer syntax name changes:
- With DICOM 2016e, the official names of the MPEG2 transfer syntaxes changed.
- Added a comment to both the corresponding UID and "Xfer names" definitions.
- However, the constants and defines have not been changed because of backward
- compatibility.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcxfer.cc
-
-- Now use code constant CODE_DCM_PulseSequenceName.
- Affects: dcmsr/libcmr/tid1600.cc
-
-- Updated code definitions for DICOM 2016e:
- Updated automatically generated code definitions for coding scheme "DCM",
- "NCIt" and "UMLS" for the 2016e edition of the DICOM standard. For the
- two latter ones, there were no changes.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
- dcmsr/include/dcmtk/dcmsr/codes/ncit.h
- dcmsr/include/dcmtk/dcmsr/codes/umls.h
-
-- Updated data dictionary for DICOM 2016e:
- Updated data dictionary for the latest edition of the DICOM standard, which
- has been released on 2016-11-21. Since DCMTK's data dictionary was already
- up-to-date regarding the recently approved Supplements and CPs, there are no
- changes apart from the "Version" column.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-- Removed additional library dependencies:
- Removed additional library dependencies from "libsrc/CMakeLists.txt" files
- that are not needed since these dependencies are already specified by other
- linked libraries (using the CMake macro "DCMTK_TARGET_LINK_LIBRARIES").
- Affects: dcmiod/libsrc/CMakeLists.txt
- dcmpmap/libsrc/CMakeLists.txt
- dcmseg/libsrc/CMakeLists.txt
- dcmtract/libsrc/CMakeLists.txt
- oflog/libsrc/CMakeLists.txt
-
-**** Changes from 2016.11.23 (eichelberg)
-
-- Added legal remark concerning HP's JPEG-LS patents:
- Added legal remark to dcmjpls documentation concerning HP's JPEG-LS
- patents and the possibility to receive a free license from HP.
- This closes #377.
- Affects: dcmjpls/docs/License.txt
- dcmjpls/docs/dcmjpls.dox
-
-- Improved 8/12/16 bit JPEG code consistency:
- Minor edits to keep data structures and variable names in the 8, 12
- and 16 bit versions of the JPEG codec more consistent.
- This closes bug #654.
- Affects: dcmjpeg/libijg12/jdmarker.c
- dcmjpeg/libijg12/jpeglib12.h
- dcmjpeg/libijg16/jpeglib16.h
- dcmjpeg/libijg8/jpeglib8.h
-
-- JPEG decoder now decompresses incomplete bitstreams:
- Added codec flag and command line option in dcmdjpeg to permit
- decompression of faulty images with incomplete JPEG bitstreams.
- Instead of trying to read more JPEG data from the next fragment,
- the decoder simply skips to the next frame when activated.
- This closes bug #571.
- Affects: dcmjpeg/apps/dcmdjpeg.cc
- dcmjpeg/docs/dcmdjpeg.man
- dcmjpeg/include/dcmtk/dcmjpeg/djcparam.h
- dcmjpeg/include/dcmtk/dcmjpeg/djdecode.h
- dcmjpeg/libsrc/djcodecd.cc
- dcmjpeg/libsrc/djcparam.cc
- dcmjpeg/libsrc/djdecode.cc
- dcmjpeg/libsrc/djencode.cc
-
-**** Changes from 2016.11.22 (riesmeier)
-
-- Fixed issue with option "--display-overlay 0":
- Using option "--display-overlay 0" (or "+O 0") did not work because of a
- too strict range check. This issue was apparently not found in the past
- since this option is actually the default (i.e. show all overlay planes).
- Affects: dcmimage/apps/dcm2pnm.cc
-
-- Rebuilt Makefile dependencies.
- Affects: ofstd/libsrc/Makefile.dep
- ofstd/tests/Makefile.dep
-
-- Re-added tab characters removed by last commit.
- Affects: ofstd/libsrc/Makefile.in
-
-**** Changes from 2016.11.21 (hasenpusch)
-
-- Fixed OFSemaphore for macOS:
- The OFSemaphore class on macOS now uses Apple's dispatch framework as it
- contains the only functional unnamed semaphore implementation.
- The OFThread tests now all succeed.
- This fixes DCMTK bug #382.
- Affects: ofstd/include/dcmtk/ofstd/ofthread.h
- ofstd/libsrc/ofthread.cc
- ofstd/tests/tthread.cc
-
-**** Changes from 2016.11.21 (schlamelcher)
-
-- Suppressed warnings in OFThread's unit test:
- Suppressed inappropriate warnings about parameter name shadowing, see docu-
- mentation of the employed macro.
- Affects: ofstd/tests/tthread.cc
-
-- Suppressed silly Visual Studio warnings in OFvariant.
- Affects: ofstd/include/dcmtk/ofstd/variadic/variant.h
-
-- Several fixes for OFnumeric_limits:
- Fixed building with GCC using '-pedantic' by moving some definitions from the
- header to the new source file oflimits.cc.
- Suppressed type conversion warnings in the unit test that are also unneces-
- sary, since they are about what is being tested there.
- Added: ofstd/libsrc/oflimits.cc
- Affects: ofstd/include/dcmtk/ofstd/oflimits.h
- ofstd/libsrc/CMakeLists.txt
- ofstd/libsrc/Makefile.in
- ofstd/tests/tlimits.cc
-
-- Added support for additional compiler diagnostics:
- Introduced three new macros to ofdiag.h and added related definition files.
- Enhanced documentation of ofdiag.h regarding supported compilers.
- Added: ofstd/include/dcmtk/ofstd/diag/cnvrsn.def
- ofstd/include/dcmtk/ofstd/diag/shadow.def
- ofstd/include/dcmtk/ofstd/diag/vsprfw.def
- Affects: ofstd/include/dcmtk/ofstd/ofdiag.h
-
-**** Changes from 2016.11.18 (eichelberg)
-
-- Fixed empty pixel data bug in DcmPixelData::write():
- Fixed bug in DcmPixelData::write() that caused an empty Pixel Data
- element to be written when the caller tried to write a compressed
- image in uncompressed transfer syntax without a prior call to
- chooseRepresentation() or canWriteXfer(). Now an error is returned.
- This closes bug #701.
- Affects: dcmdata/libsrc/dcpixel.cc
-
-**** Changes from 2016.11.18 (schlamelcher)
-
-- Suppressed an inappropriate Visual Studio warning:
- Suppressed an inappropriate Visual Studio warning about template specializa-
- tion in dcmsr. The affected code is not about template specialization but in-
- stead about static member initialization, the warning can therefore safely
- be ignored.
- Added: ofstd/include/dcmtk/ofstd/diag/nsdfti.def
- Affects: dcmsr/libsrc/dsrimgfr.cc
- dcmsr/libsrc/dsrimgse.cc
- dcmsr/libsrc/dsrsc3gr.cc
- dcmsr/libsrc/dsrscogr.cc
- dcmsr/libsrc/dsrtcodt.cc
- dcmsr/libsrc/dsrtcosp.cc
- dcmsr/libsrc/dsrtcoto.cc
- dcmsr/libsrc/dsrwavch.cc
- ofstd/include/dcmtk/ofstd/ofdiag.h
-
-**** Changes from 2016.11.18 (eichelberg)
-
-- JPEG encoder now writes SOF1 marker in 8-bit ext sequential TS:
- The JPEG encoder now always writes a SOF1 marker when encoding pixel data
- in the extended sequential transfer syntax with 8 bit/sample.
- This implements support for DICOM CP 1447 and closes bug #620 and #663.
- Affects: dcmjpeg/libijg8/jcapimin.c
- dcmjpeg/libijg8/jcmarker.c
- dcmjpeg/libijg8/jpeglib8.h
- dcmjpeg/libsrc/djeijg8.cc
-
-**** Changes from 2016.11.18 (schlamelcher)
-
-- Added compiler version checks to ofdiag.h etc:
- The compiler diagnostic macros now also check the compiler version and not
- only the compiler itself to ensure the respective features are really avail-
- able. This fixes problems regarding older versions of GCC.
- Affects: ofstd/include/dcmtk/ofstd/diag/mmtag.def
- ofstd/include/dcmtk/ofstd/diag/overflow.def
- ofstd/include/dcmtk/ofstd/diag/piof.def
- ofstd/include/dcmtk/ofstd/diag/pop.def
- ofstd/include/dcmtk/ofstd/diag/push.def
- ofstd/include/dcmtk/ofstd/diag/signcmp.def
- ofstd/include/dcmtk/ofstd/ofdiag.h
-
-**** Changes from 2016.11.17 (riesmeier)
-
-- Fixed warning re. overloaded virtual function:
- Fixed a compiler warning regarding an overloaded virtual function hiding the
- print() method from the base class. Could be reproduced using gcc with option
- -Woverloaded-virtual.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/libsrc/dsrdoctr.cc
-
-**** Changes from 2016.11.17 (onken)
-
-- Avoid warning regarding hidden virtual method.
- Affects: dcmiod/include/dcmtk/dcmiod/iodreferences.h
-
-**** Changes from 2016.11.17 (eichelberg)
-
-- Removed unnecessary call to getBaseTag().
- Affects: dcmdata/libsrc/dcitem.cc
-
-**** Changes from 2016.11.16 (schlamelcher)
-
-- Added some missing files to the install steps:
- Added the new files under dcmtk/ofstd/diag to the install steps for both
- CMake and Autoconf.
- Added docs/CHANGES.XXX to the install steps for both CMake and Autoconf.
- Affects: CMakeLists.txt
- Makefile
- config/rootconf
- ofstd/include/CMakeLists.txt
- ofstd/include/Makefile.in
-
-**** Changes from 2016.11.16 (eichelberg)
-
-- Fixed minor formatting issues.
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmdump.cc
- dcmdata/docs/dcmconv.man
- dcmdata/docs/dcmdump.man
- dcmdata/include/dcmtk/dcmdata/dcobject.h
- dcmdata/libsrc/dcitem.cc
-
-- Added code for handling VOI LUT Sequences with OB/OW VR:
- Added command line options for handling VOI LUT Sequence elements with
- illegal OB/OW value representation (undefined and explicit length).
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmdump.cc
- dcmdata/docs/dcmconv.man
- dcmdata/docs/dcmdump.man
-
-- Added code for handling VOI LUT Sequences with OB/OW VR:
- Added code for handling VOI LUT Sequence elements with illegal OB/OW
- value representation. The occurance of such DICOM datasets in the
- field, using OW and undefined length, was reported by Jörg Weinert in
- October 2016.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/include/dcmtk/dcmdata/dcobject.h
- dcmdata/libsrc/dcerror.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcobject.cc
-
-**** Changes from 2016.11.16 (riesmeier)
-
-- Fixed wrong reference to conventonal JPEG format.
- Affects: dcmjpls/docs/dcmjpls.dox
-
-- Added note/warning on size of class instance:
- Added a note (warning) that an instance of this class requires quite some
- memory. So it is probably better to use the heap space (and not the stack).
- Affects: dcmrt/include/dcmtk/dcmrt/drtdose.h
- dcmrt/include/dcmtk/dcmrt/drtimage.h
- dcmrt/include/dcmtk/dcmrt/drtionpl.h
- dcmrt/include/dcmtk/dcmrt/drtiontr.h
- dcmrt/include/dcmtk/dcmrt/drtplan.h
- dcmrt/include/dcmtk/dcmrt/drtstrct.h
- dcmrt/include/dcmtk/dcmrt/drttreat.h
-
-- Replaced non-ASCII character in comment header.
- Affects: dcmiod/libsrc/cielabutil.cc
-
-- Fixed wrong identation with tab characters:
- Fixed wrong identation with tab characters (mainly introduced with last
- commit). Also changed outdated name of DCMTK module in the comment header
- (was "dcmpstat", actually is "dcmtls").
- Affects: dcmtls/tests/dcmtk_ca.pl
-
-- Replaced tab characters by spaces:
- Replaced tab characters by spaces and removed trailing spaces (introduced
- with the last commit).
- Affects: dcmtls/libsrc/tlslayer.cc
-
-- Replaced non-ASCII characters:
- Replaced Unicode characters by their corresponding ASCII representation
- since the previous encoding resulted in a strange display of the HTML
- Doxgen documentation (in a web browser). Also replaced "(c)" by "(C)"
- where appropriate.
- Affects: COPYRIGHT
-
-**** Changes from 2016.11.16 (onken)
-
-- Renamed min() to min2() (macro name clash):
- Renamed the method min() to min2() since min() is also a macro on Windows
- systems which can lead to a name clash in user code.
- Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h
- dcmiod/libsrc/cielabutil.cc
-
-**** Changes from 2016.11.16 (schlamelcher)
-
-- Adjusted a previous commit for older GCC versions.
- Affects: ofstd/tests/tlimits.cc
-
-**** Changes from 2016.11.15 (schlamelcher)
-
-- Suppressed some unnecessary warnings:
- Suppressed overflow warnings in OFnumeric_limits' unit test, since it is the
- overflow behavior that is being tested there.
- Suppressed Clang warnings about mixing struct/class keywords in the pre C++11
- implementation of OFtuple since mixing those keywords has no drawbacks and
- allows writing more compact code.
- Affects: ofstd/include/dcmtk/ofstd/oftuple.h
- ofstd/tests/tlimits.cc
-
-- Added macros for controlling compiler diagnostics:
- Introduced platform independent macros for controlling compiler diagnostic
- output i.e. warning messages.
- Added: ofstd/include/dcmtk/ofstd/diag/mmtag.def
- ofstd/include/dcmtk/ofstd/diag/overflow.def
- ofstd/include/dcmtk/ofstd/diag/piof.def
- ofstd/include/dcmtk/ofstd/diag/pop.def
- ofstd/include/dcmtk/ofstd/diag/push.def
- ofstd/include/dcmtk/ofstd/diag/signcmp.def
- ofstd/include/dcmtk/ofstd/ofdiag.h
-
-**** Changes from 2016.11.14 (riesmeier)
-
-- Added support for new SR IOD from Supplement 169:
- Added full support for the new Simplified Adult Echo SR IOD introduced
- with Supplement 169. This also adds optional support for the "Timezone
- Offset From UTC" attribute to all other Structured Reporting IODs.
- Closes DCMTK Conformance issue #703.
- Added: dcmsr/include/dcmtk/dcmsr/dsrsaecc.h
- dcmsr/libsrc/dsrsaecc.cc
- Affects: dcmsr/data/dsr2xml.xsd
- dcmsr/docs/dsr2html.man
- dcmsr/docs/dsr2xml.man
- dcmsr/docs/dsrdump.man
- dcmsr/docs/xml2dsr.man
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Use macro _LIBICONV_VERSION instead of variable:
- Use macro _LIBICONV_VERSION instead of global variable _libiconv_version
- in OFCharacterEncoding::getLibraryVersionString(). Both should be defined
- in the main header file "iconv.h"... but apparently are not (always).
- Affects: ofstd/libsrc/ofchrenc.cc
-
-**** Changes from 2016.11.11 (riesmeier)
-
-- Added "Simplified Adult Echo SR" to known types:
- Added the Simplified Adult Echo SR IOD / SOP Class, which was introduced
- only recently with Supplement 169, to the list of known (but not yet
- supported) SR document types.
- Full support for this IOD / SOP Class will follow in a future commit.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrtypes.cc
-
-- Added support for new UID from Supplement 169:
- Added support for new Storage SOP Class UID from Supplement 169 (Simplified
- Adult Echocardiography Report).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-**** Changes from 2016.11.11 (eichelberg)
-
-- Updated dcmtls and dcmpstat to compile with OpenSSL 1.1.0:
- Updated the dcmtls and dcmpstat modules, which now compile
- and work with OpenSSL 1.0.0, 1.0.1 and 1.1.0. Removed support
- for some historical, insecure export ciphersuites in TLS.
- NOTE: OpenSSL 1.1.0 does not anymore accept certificates
- with MD5 message digest in TLS connections.
- This means that certificates generated with previous versions
- of the dcmtk_ca.pl script will no longer work for TLS.
- The script has been updated accordingly.
- Affects: dcmpstat/libsrc/dviface.cc
- dcmtls/docs/ciphers.txt
- dcmtls/libsrc/tlslayer.cc
- dcmtls/tests/dcmtk_ca.pl
-
-- Updated dcmsign to correctly compile with OpenSSL 1.1.0:
- Updated the dcmsign module so that it compiles and works with
- OpenSSL 1.0.0, 1.0.1 and 1.1.0. Implemented support for
- SHA256, SHA384 and SHA512 as additional message digest
- algorithms for DICOM signatures.
- Added: dcmsign/include/dcmtk/dcmsign/sisha256.h
- dcmsign/include/dcmtk/dcmsign/sisha384.h
- dcmsign/include/dcmtk/dcmsign/sisha512.h
- dcmsign/libsrc/sisha256.cc
- dcmsign/libsrc/sisha384.cc
- dcmsign/libsrc/sisha512.cc
- Affects: dcmsign/apps/Makefile.dep
- dcmsign/apps/dcmsign.cc
- dcmsign/include/dcmtk/dcmsign/sitypes.h
- dcmsign/libsrc/CMakeLists.txt
- dcmsign/libsrc/Makefile.dep
- dcmsign/libsrc/Makefile.in
- dcmsign/libsrc/dcsignat.cc
- dcmsign/libsrc/sicert.cc
- dcmsign/libsrc/sicertvf.cc
- dcmsign/libsrc/sidsa.cc
- dcmsign/libsrc/siprivat.cc
- dcmsign/libsrc/sirsa.cc
- dcmsign/libsrc/sitypes.cc
-
-**** Changes from 2016.11.10 (riesmeier)
-
-- Added support for CP-1584 to data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-- Added initial support for Supplement 195:
- Added initial support for Supplement 195 (HEVC/H.265 Transfer Syntax),
- i.e. added definition of two new transfer syntaxes. Support in the various
- networking tools is not yet complete (e.g. missing prefer/propose options).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/include/dcmtk/dcmdata/dcxfer.h
- dcmdata/libsrc/dcuid.cc
- dcmdata/libsrc/dcxfer.cc
- dcmnet/apps/echoscu.cc
- dcmnet/apps/storescp.cc
- dcmnet/docs/echoscu.man
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/libsrc/dimse.cc
-
-- Added support for recently approved CPs:
- Added support for CP-1597, CP-1609 and CP-1611 to the data dictionary.
- These CPs were approved during this week's DICOM WG-06 meeting.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-- Added four Color Palette SOP Instances (CP-1584):
- Added well-known SOP Instance UID values for four new Color Palettes
- introduced with CP-1584 (Allow Palette Color in Parametric Map).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
-
-- Fixed code value for "Pulse Sequence Name" (CP-1578):
- Fixed wrong definition of code value for "Pulse Sequence Name" (see CP-1578).
- Affects: dcmsr/libcmr/tid1600.cc
-
-**** Changes from 2016.11.10 (schlamelcher)
-
-- Enhanced C++11 compliance of OFvariant:
- Moved a type definition from the inside of a constexpr function to the
- enclosing class, since this is only allowed by C++14 and later but not C++11.
- Fixed potentially too weak alignment specifier used while determining the
- common alignment of all variant alternatives.
- Affects: ofstd/include/dcmtk/ofstd/ofvriant.h
-
-**** Changes from 2016.11.09 (riesmeier)
-
-- Added missing documentation for return values.
- Affects: dcmrt/include/dcmtk/dcmrt/drmimage.h
- dcmrt/include/dcmtk/dcmrt/drtdose.h
- dcmrt/include/dcmtk/dcmrt/drtimage.h
- dcmrt/include/dcmtk/dcmrt/drtionpl.h
- dcmrt/include/dcmtk/dcmrt/drtiontr.h
- dcmrt/include/dcmtk/dcmrt/drtplan.h
- dcmrt/include/dcmtk/dcmrt/drtstrct.h
- dcmrt/include/dcmtk/dcmrt/drttreat.h
- dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtads.h
- dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtags.h
- dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtass.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbads.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h
- dcmrt/include/dcmtk/dcmrt/seq/drtccs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtces.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtchs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcims.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtddps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdias.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drteas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtes.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
- dcmrt/include/dcmtk/dcmrt/seq/drtians.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtibls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtibs.h
- dcmrt/include/dcmtk/dcmrt/seq/drticpds.h
- dcmrt/include/dcmtk/dcmrt/seq/drticps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtircs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtitts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtoas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtois.h
- dcmrt/include/dcmtk/dcmrt/seq/drtopis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtporis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtqds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtras.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrims.h
- dcmrt/include/dcmtk/dcmrt/seq/drtris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrses.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtshds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsins.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsns.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drttms0.h
- dcmrt/include/dcmtk/dcmrt/seq/drttms9.h
- dcmrt/include/dcmtk/dcmrt/seq/drttscds.h
- dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h
- dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h
- dcmrt/include/dcmtk/dcmrt/seq/drttts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtudis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtvls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
-
-- Fixed Doxygen-related issues in the documentation:
- Added missing documentation for parameters and return values.
- Affects: dcmimage/include/dcmtk/dcmimage/dicoimg.h
- dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
- dcmimgle/include/dcmtk/dcmimgle/diimage.h
- dcmimgle/include/dcmtk/dcmimgle/dimoimg.h
- dcmimgle/include/dcmtk/dcmimgle/dimomod.h
- dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
-
-- Enabled Doxygen's WARN_NO_PARAMDOC option:
- Enabled Doxygen's WARN_NO_PARAMDOC option in order to get a warning to the
- "doxygen/htmldocs.log" file on undocumented parameters and return values.
- Affects: doxygen/htmldocs.cfg
-
-- Various Doxygen-related fixes to documentation:
- Fixed various Doxygen-related issues in the documentation of the API,
- e.g. unresolved references to members of a base class or undocumented
- parameters and return values of methods.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrposcn.h
- dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h
- dcmsr/include/dcmtk/dcmsr/dsrscovl.h
- dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
- dcmsr/include/dcmtk/dcmsr/dsrxmld.h
-
-- Renamed empty() methods to isEmpty():
- Renamed remaining empty() methods to isEmpty() for reasons of consistency.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
- dcmsr/include/dcmtk/dcmsr/dsrrefin.h
- dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
- dcmsr/libsrc/dsrcsidl.cc
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrrefin.cc
- dcmsr/libsrc/dsrsoprf.cc
-
-- Added new method hasVerifyingObservers():
- Added new method DSRDocument::hasVerifyingObservers().
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/libsrc/dsrdoc.cc
-
-- Made getNumberOfVerifyingObservers() const:
- Made method DSRDocument::getNumberOfVerifyingObservers() "constant".
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/libsrc/dsrdoc.cc
-
-**** Changes from 2016.11.04 (riesmeier)
-
-- Made "ReportType" optional in XML Schema:
- Made "type" attribute optional for "report" element in XML Schema. This
- is because the readXML() of the DSRDocument class does not require it
- (in fact, it does not even use it).
- Also fixed a wrong name for one of the "ReportType" enumerations.
- Affects: dcmsr/data/dsr2xml.xsd
-
-- Removed check on arrays being not a null pointer:
- Removed comparison of char arrays being not equal to a null pointer since this
- is always true. This fix should avoid warning messages reported by Clang 3.5.
- Affects: dcmpstat/libsrc/dviface.cc
-
-**** Changes from 2016.11.03 (riesmeier)
-
-- Added support for missing "ReportType" values:
- Over the years, support for various new DICOM SR IODs has been added to
- the "dcmsr" module but the XML Schema was not updated in this regard.
- Now, the list of "ReportType" enumerated values is again up-to-date.
- Affects: dcmsr/data/dsr2xml.xsd
-
-- Added support for InstanceCreatorUID to readXML():
- Added missing support for the InstanceCreatorUID to readXML().
- The writeXML() already supported this optional XML attribute.
- Affects: dcmsr/libsrc/dsrdoc.cc
-
-**** Changes from 2016.11.02 (schlamelcher)
-
-- Updated CHANGES.361 for new development snapshot.
- Affects: docs/CHANGES.361
-
-- Updated DCMTK_ABI_VERSION for new development snapshot.
- Affects: CMake/dcmtkPrepare.cmake
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/dcm2pdf.1
- doxygen/manpages/man1/dcm2pnm.1
- doxygen/manpages/man1/dcm2xml.1
- doxygen/manpages/man1/dcmcjpeg.1
- doxygen/manpages/man1/dcmcjpls.1
- doxygen/manpages/man1/dcmconv.1
- doxygen/manpages/man1/dcmcrle.1
- doxygen/manpages/man1/dcmdjpeg.1
- doxygen/manpages/man1/dcmdjpls.1
- doxygen/manpages/man1/dcmdrle.1
- doxygen/manpages/man1/dcmdspfn.1
- doxygen/manpages/man1/dcmdump.1
- doxygen/manpages/man1/dcmftest.1
- doxygen/manpages/man1/dcmgpdir.1
- doxygen/manpages/man1/dcmj2pnm.1
- doxygen/manpages/man1/dcml2pnm.1
- doxygen/manpages/man1/dcmmkcrv.1
- doxygen/manpages/man1/dcmmkdir.1
- doxygen/manpages/man1/dcmmklut.1
- doxygen/manpages/man1/dcmodify.1
- doxygen/manpages/man1/dcmp2pgm.1
- doxygen/manpages/man1/dcmprscp.1
- doxygen/manpages/man1/dcmprscu.1
- doxygen/manpages/man1/dcmpschk.1
- doxygen/manpages/man1/dcmpsmk.1
- doxygen/manpages/man1/dcmpsprt.1
- doxygen/manpages/man1/dcmpsrcv.1
- doxygen/manpages/man1/dcmpssnd.1
- doxygen/manpages/man1/dcmqridx.1
- doxygen/manpages/man1/dcmqrscp.1
- doxygen/manpages/man1/dcmqrti.1
- doxygen/manpages/man1/dcmquant.1
- doxygen/manpages/man1/dcmrecv.1
- doxygen/manpages/man1/dcmscale.1
- doxygen/manpages/man1/dcmsend.1
- doxygen/manpages/man1/dcmsign.1
- doxygen/manpages/man1/dcod2lum.1
- doxygen/manpages/man1/dconvlum.1
- doxygen/manpages/man1/drtdump.1
- doxygen/manpages/man1/dsr2html.1
- doxygen/manpages/man1/dsr2xml.1
- doxygen/manpages/man1/dsrdump.1
- doxygen/manpages/man1/dump2dcm.1
- doxygen/manpages/man1/echoscu.1
- doxygen/manpages/man1/findscu.1
- doxygen/manpages/man1/getscu.1
- doxygen/manpages/man1/img2dcm.1
- doxygen/manpages/man1/movescu.1
- doxygen/manpages/man1/pdf2dcm.1
- doxygen/manpages/man1/storescp.1
- doxygen/manpages/man1/storescu.1
- doxygen/manpages/man1/termscu.1
- doxygen/manpages/man1/wlmscpfs.1
- doxygen/manpages/man1/xml2dcm.1
- doxygen/manpages/man1/xml2dsr.1
-
-- Updated Makefile dependencies.
- Affects: ofstd/libsrc/Makefile.dep
-
-- Added API documentation for OFvariant etc.
- Affects: ofstd/include/dcmtk/ofstd/ofutil.h
- ofstd/include/dcmtk/ofstd/ofvriant.h
-
-**** Changes from 2016.11.01 (riesmeier)
-
-- Added readXML mode that accepts empty/missing UID:
- Added new mode to readXML() that accepts empty or missing Study/Series/
- SOP Instance UID values in the input document. This is required if only
- some of these three UID values should be re-generated (replaced). Now,
- option --generate-new-uids (with --dont-overwrite-uids) works as expected.
- Thanks to Martin Wenger <Martin.Wenger@klinikum-hef.de> for the original
- report that resulted in this improvement/fix.
- Affects: dcmsr/apps/xml2dsr.cc
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/include/dcmtk/dcmsr/dsrxmld.h
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/libsrc/dsrxmld.cc
-
-- Output debug messages when updating attributes:
- Output messages to the debug logger when updating DICOM header attributes,
- especially when generating new Study / Series / SOP Instance UIDs.
- Affects: dcmsr/libsrc/dsrdoc.cc
-
-- Made clear that options +/-Uo require +Ug:
- Now it is checked whether option --generate-new-uids (+Ug) is used when
- --overwrite-uids (+Uo) or --dont-overwrite-uids (-Uo) is also specified
- on the command line. This should avoid possible confusions.
- Affects: dcmdata/apps/xml2dcm.cc
- dcmsr/apps/xml2dsr.cc
-
-**** Changes from 2016.10.31 (schlamelcher)
-
-- Added OFvariant implementation for C++11:
- Closes DCMTK bug #693.
- Affects: dcmiod/include/dcmtk/dcmiod/iodimage.h
- dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h
- ofstd/include/dcmtk/ofstd/ofutil.h
- ofstd/include/dcmtk/ofstd/ofvriant.h
-
-**** Changes from 2016.10.30 (schlamelcher)
-
-- Fixed a problem with a previous commit:
- A line in a previous commit was truncated, leading to compiler errors.
- Affects: dcmpstat/libsrc/dviface.cc
-
-**** Changes from 2016.10.28 (schlamelcher)
-
-- Fixed using third party libraries with MinGW:
- Modified 3rdparty.cmake such that MinGW is handled the same as Unix like
- systems regarding the integration of third party libraries.
- Affects: CMake/3rdparty.cmake
-
-- Fixed 32 vs. 64 bit problem in dcmqrdb:
- Fixed incompatibility of dcmqrdb databases between 32 bit and 64 bit code on
- the same platform. Don't forget to re-create your databases using dcmqridx.
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
-
-- Several fixes for dcmpstat:
- Fixed detecting structured reporting objects based on the SOP class.
- Fixed print job execution and cleanup. Print job executing was bugged when
- the name of one print job was a prefix to the name of another print job.
- Fixed deadlock in instanceReviewed() regarding database access.
- Fixed opening files named using non ASCII characters (only relevant on
- Windows).
- Affects: dcmpstat/apps/dcmprscu.cc
- dcmpstat/libsrc/dviface.cc
- dcmpstat/libsrc/dvpshlp.cc
-
-- Fixed wrong usage of checkStringValue() in dcmpmap:
- Fixed passing the attribute type to checkStringValue() where the value multi-
- plicity is expected.
- Affects: dcmpmap/libsrc/dpmmodparametricmapimage.cc
-
-**** Changes from 2016.10.12 (riesmeier)
-
-- Added comment on recently added DICOM attributes:
- Added comment on DICOM attributes that were recently added to the DICOM
- standard but which are not (yet) supported by the "dcmsr" module.
- As usual, these "things to be done" can be found by searching for "tbd:"
- in the source code of this module.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
-
-- Updated "dcmrt" classes based on DICOM 2016d:
- Updated automatically generated IOD and sequence C++ classes for the various
- RT objects based on the current edition of the DICOM standard (2016d).
- Added: dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtddps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsins.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtudis.h
- dcmrt/libsrc/drtcgis.cc
- dcmrt/libsrc/drtdddps.cc
- dcmrt/libsrc/drtddps.cc
- dcmrt/libsrc/drtgpis.cc
- dcmrt/libsrc/drtmris.cc
- dcmrt/libsrc/drtpdeds.cc
- dcmrt/libsrc/drtscs.cc
- dcmrt/libsrc/drtsins.cc
- dcmrt/libsrc/drtspgis.cc
- dcmrt/libsrc/drtsptcs.cc
- dcmrt/libsrc/drtssrcs.cc
- dcmrt/libsrc/drtsss.cc
- dcmrt/libsrc/drtudis.cc
- Removed: dcmrt/include/dcmtk/dcmrt/seq/drtarics.h
- dcmrt/libsrc/drtarics.cc
- Affects: dcmrt/apps/Makefile.dep
- dcmrt/include/dcmtk/dcmrt/drtdose.h
- dcmrt/include/dcmtk/dcmrt/drtimage.h
- dcmrt/include/dcmtk/dcmrt/drtionpl.h
- dcmrt/include/dcmtk/dcmrt/drtiontr.h
- dcmrt/include/dcmtk/dcmrt/drtplan.h
- dcmrt/include/dcmtk/dcmrt/drtstrct.h
- dcmrt/include/dcmtk/dcmrt/drttreat.h
- dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtads.h
- dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtags.h
- dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtass.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbads.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h
- dcmrt/include/dcmtk/dcmrt/seq/drtccs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtces.h
- dcmrt/include/dcmtk/dcmrt/seq/drtchs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcims.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdias.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drteas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtes.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
- dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
- dcmrt/include/dcmtk/dcmrt/seq/drtians.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtibls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtibs.h
- dcmrt/include/dcmtk/dcmrt/seq/drticpds.h
- dcmrt/include/dcmtk/dcmrt/seq/drticps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtircs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtitts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtoas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtois.h
- dcmrt/include/dcmtk/dcmrt/seq/drtopis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtporis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtqds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtras.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrims.h
- dcmrt/include/dcmtk/dcmrt/seq/drtris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrses.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtshds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsns.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drttms0.h
- dcmrt/include/dcmtk/dcmrt/seq/drttms9.h
- dcmrt/include/dcmtk/dcmrt/seq/drttscds.h
- dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h
- dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h
- dcmrt/include/dcmtk/dcmrt/seq/drttts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtvls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
- dcmrt/libsrc/CMakeLists.txt
- dcmrt/libsrc/Makefile.dep
- dcmrt/libsrc/Makefile.in
- dcmrt/libsrc/drtaadcs.cc
- dcmrt/libsrc/drtadcs.cc
- dcmrt/libsrc/drtads.cc
- dcmrt/libsrc/drtafs.cc
- dcmrt/libsrc/drtags.cc
- dcmrt/libsrc/drtajcs.cc
- dcmrt/libsrc/drtas1.cc
- dcmrt/libsrc/drtas5.cc
- dcmrt/libsrc/drtas6.cc
- dcmrt/libsrc/drtas7.cc
- dcmrt/libsrc/drtass.cc
- dcmrt/libsrc/drtbads.cc
- dcmrt/libsrc/drtbas.cc
- dcmrt/libsrc/drtbcps.cc
- dcmrt/libsrc/drtbl2.cc
- dcmrt/libsrc/drtbl5.cc
- dcmrt/libsrc/drtbldls.cc
- dcmrt/libsrc/drtbldps.cc
- dcmrt/libsrc/drtblds1.cc
- dcmrt/libsrc/drtblds5.cc
- dcmrt/libsrc/drtblds6.cc
- dcmrt/libsrc/drtbldts.cc
- dcmrt/libsrc/drtbrcss.cc
- dcmrt/libsrc/drtbrdrs.cc
- dcmrt/libsrc/drtbrs.cc
- dcmrt/libsrc/drtbs.cc
- dcmrt/libsrc/drtbss.cc
- dcmrt/libsrc/drtbvcps.cc
- dcmrt/libsrc/drtcbars.cc
- dcmrt/libsrc/drtccs.cc
- dcmrt/libsrc/drtcctus.cc
- dcmrt/libsrc/drtcdrs.cc
- dcmrt/libsrc/drtces.cc
- dcmrt/libsrc/drtchs.cc
- dcmrt/libsrc/drtcims.cc
- dcmrt/libsrc/drtcis.cc
- dcmrt/libsrc/drtcncs.cc
- dcmrt/libsrc/drtcos.cc
- dcmrt/libsrc/drtcpas.cc
- dcmrt/libsrc/drtcpis.cc
- dcmrt/libsrc/drtcps.cc
- dcmrt/libsrc/drtcs.cc
- dcmrt/libsrc/drtcsas.cc
- dcmrt/libsrc/drtcshs.cc
- dcmrt/libsrc/drtcsis.cc
- dcmrt/libsrc/drtcss.cc
- dcmrt/libsrc/drtdcs.cc
- dcmrt/libsrc/drtdias.cc
- dcmrt/libsrc/drtdimcs.cc
- dcmrt/libsrc/drtdimrs.cc
- dcmrt/libsrc/drtdirs.cc
- dcmrt/libsrc/drtdose.cc
- dcmrt/libsrc/drtdrs.cc
- dcmrt/libsrc/drtds.cc
- dcmrt/libsrc/drtdspcs.cc
- dcmrt/libsrc/drtdss.cc
- dcmrt/libsrc/drtdvhs.cc
- dcmrt/libsrc/drtdvrrs.cc
- dcmrt/libsrc/drteas.cc
- dcmrt/libsrc/drtecs.cc
- dcmrt/libsrc/drtes.cc
- dcmrt/libsrc/drtfds.cc
- dcmrt/libsrc/drtfes.cc
- dcmrt/libsrc/drtfgs.cc
- dcmrt/libsrc/drtfgss.cc
- dcmrt/libsrc/drtfms.cc
- dcmrt/libsrc/drtfsss.cc
- dcmrt/libsrc/drtgas.cc
- dcmrt/libsrc/drthsdrs.cc
- dcmrt/libsrc/drtiais.cc
- dcmrt/libsrc/drtians.cc
- dcmrt/libsrc/drtiblds.cc
- dcmrt/libsrc/drtibls.cc
- dcmrt/libsrc/drtibs.cc
- dcmrt/libsrc/drticpds.cc
- dcmrt/libsrc/drticps.cc
- dcmrt/libsrc/drtics.cc
- dcmrt/libsrc/drtiis.cc
- dcmrt/libsrc/drtimage.cc
- dcmrt/libsrc/drtionpl.cc
- dcmrt/libsrc/drtiontr.cc
- dcmrt/libsrc/drtipiqs.cc
- dcmrt/libsrc/drtircs.cc
- dcmrt/libsrc/drtiseis.cc
- dcmrt/libsrc/drtitts.cc
- dcmrt/libsrc/drtiwps.cc
- dcmrt/libsrc/drtiws.cc
- dcmrt/libsrc/drtlsds.cc
- dcmrt/libsrc/drtlsds6.cc
- dcmrt/libsrc/drtlsds7.cc
- dcmrt/libsrc/drtmacds.cc
- dcmrt/libsrc/drtmas.cc
- dcmrt/libsrc/drtmdrs.cc
- dcmrt/libsrc/drtmls.cc
- dcmrt/libsrc/drtmps.cc
- dcmrt/libsrc/drtmss.cc
- dcmrt/libsrc/drtmucs.cc
- dcmrt/libsrc/drtoas.cc
- dcmrt/libsrc/drtois.cc
- dcmrt/libsrc/drtopis.cc
- dcmrt/libsrc/drtos.cc
- dcmrt/libsrc/drtpbcs.cc
- dcmrt/libsrc/drtpcs.cc
- dcmrt/libsrc/drtpcxs.cc
- dcmrt/libsrc/drtpdecs.cc
- dcmrt/libsrc/drtpfms.cc
- dcmrt/libsrc/drtpics.cc
- dcmrt/libsrc/drtplan.cc
- dcmrt/libsrc/drtporcs.cc
- dcmrt/libsrc/drtporis.cc
- dcmrt/libsrc/drtppcs.cc
- dcmrt/libsrc/drtprsis.cc
- dcmrt/libsrc/drtpscs.cc
- dcmrt/libsrc/drtpsics.cc
- dcmrt/libsrc/drtpss.cc
- dcmrt/libsrc/drtpsss.cc
- dcmrt/libsrc/drtpvis.cc
- dcmrt/libsrc/drtqds.cc
- dcmrt/libsrc/drtras.cc
- dcmrt/libsrc/drtrbas2.cc
- dcmrt/libsrc/drtrbas8.cc
- dcmrt/libsrc/drtrbls.cc
- dcmrt/libsrc/drtrbos1.cc
- dcmrt/libsrc/drtrbos6.cc
- dcmrt/libsrc/drtrbos7.cc
- dcmrt/libsrc/drtrbs2.cc
- dcmrt/libsrc/drtrbs4.cc
- dcmrt/libsrc/drtrbs8.cc
- dcmrt/libsrc/drtrcdrs.cc
- dcmrt/libsrc/drtrcos.cc
- dcmrt/libsrc/drtrcps.cc
- dcmrt/libsrc/drtrcs.cc
- dcmrt/libsrc/drtrdros.cc
- dcmrt/libsrc/drtrdrs1.cc
- dcmrt/libsrc/drtrdrs6.cc
- dcmrt/libsrc/drtrdrs8.cc
- dcmrt/libsrc/drtrds.cc
- dcmrt/libsrc/drtrecs.cc
- dcmrt/libsrc/drtrfgs.cc
- dcmrt/libsrc/drtrfors.cc
- dcmrt/libsrc/drtrics.cc
- dcmrt/libsrc/drtrims.cc
- dcmrt/libsrc/drtris.cc
- dcmrt/libsrc/drtrlsds.cc
- dcmrt/libsrc/drtrmdrs.cc
- dcmrt/libsrc/drtrms.cc
- dcmrt/libsrc/drtrmss6.cc
- dcmrt/libsrc/drtrmss7.cc
- dcmrt/libsrc/drtrpcs.cc
- dcmrt/libsrc/drtrpis.cc
- dcmrt/libsrc/drtrppcs.cc
- dcmrt/libsrc/drtrpphs.cc
- dcmrt/libsrc/drtrpps.cc
- dcmrt/libsrc/drtrppss.cc
- dcmrt/libsrc/drtrps.cc
- dcmrt/libsrc/drtrris1.cc
- dcmrt/libsrc/drtrris6.cc
- dcmrt/libsrc/drtrris9.cc
- dcmrt/libsrc/drtrrms.cc
- dcmrt/libsrc/drtrros.cc
- dcmrt/libsrc/drtrrpcs.cc
- dcmrt/libsrc/drtrrros.cc
- dcmrt/libsrc/drtrrs.cc
- dcmrt/libsrc/drtrrshs.cc
- dcmrt/libsrc/drtrrtps.cc
- dcmrt/libsrc/drtrrtps3.cc
- dcmrt/libsrc/drtrrtps4.cc
- dcmrt/libsrc/drtrrtps5.cc
- dcmrt/libsrc/drtrscs.cc
- dcmrt/libsrc/drtrsers.cc
- dcmrt/libsrc/drtrses.cc
- dcmrt/libsrc/drtrshs.cc
- dcmrt/libsrc/drtrshs6.cc
- dcmrt/libsrc/drtrshs7.cc
- dcmrt/libsrc/drtrsis.cc
- dcmrt/libsrc/drtrsns.cc
- dcmrt/libsrc/drtrsos.cc
- dcmrt/libsrc/drtrsrs.cc
- dcmrt/libsrc/drtrss.cc
- dcmrt/libsrc/drtrsss.cc
- dcmrt/libsrc/drtrsts.cc
- dcmrt/libsrc/drtrtrs2.cc
- dcmrt/libsrc/drtrtrs4.cc
- dcmrt/libsrc/drtrvis.cc
- dcmrt/libsrc/drtrws.cc
- dcmrt/libsrc/drtrwvms.cc
- dcmrt/libsrc/drtscris.cc
- dcmrt/libsrc/drtsdcs.cc
- dcmrt/libsrc/drtsds.cc
- dcmrt/libsrc/drtshds.cc
- dcmrt/libsrc/drtsis.cc
- dcmrt/libsrc/drtsns.cc
- dcmrt/libsrc/drtspccs.cc
- dcmrt/libsrc/drtspcs.cc
- dcmrt/libsrc/drtss.cc
- dcmrt/libsrc/drtssrs.cc
- dcmrt/libsrc/drtstrct.cc
- dcmrt/libsrc/drttms0.cc
- dcmrt/libsrc/drttms9.cc
- dcmrt/libsrc/drttreat.cc
- dcmrt/libsrc/drttscds.cc
- dcmrt/libsrc/drttsibs.cc
- dcmrt/libsrc/drttsmds.cc
- dcmrt/libsrc/drttts.cc
- dcmrt/libsrc/drtvls.cc
- dcmrt/libsrc/drtwps.cc
- dcmrt/libsrc/drtwrs.cc
- dcmrt/libsrc/drtwrsrs.cc
- dcmrt/libsrc/drtws.cc
- dcmrt/libsrc/drtxrs.cc
- dcmrt/tests/Makefile.dep
-
-- Fixed typo in comments.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
-
-**** Changes from 2016.10.04 (riesmeier)
-
-- Updated Context Group classes for DICOM 2016d:
- Updated automatically generated Context Group classes for the 2016d
- edition of the DICOM standard. There were no changes to the supported
- Context Groups.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
- dcmsr/libcmr/cid100.cc
- dcmsr/libcmr/cid10013.cc
- dcmsr/libcmr/cid10033.cc
- dcmsr/libcmr/cid11.cc
- dcmsr/libcmr/cid244.cc
- dcmsr/libcmr/cid29.cc
- dcmsr/libcmr/cid4020.cc
- dcmsr/libcmr/cid4021.cc
- dcmsr/libcmr/cid4031.cc
- dcmsr/libcmr/cid42.cc
- dcmsr/libcmr/cid6147.cc
- dcmsr/libcmr/cid7021.cc
- dcmsr/libcmr/cid7181.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
- dcmsr/libcmr/cid7464.cc
- dcmsr/libcmr/cid7469.cc
-
-- Updated code definitions for DICOM 2016d:
- Updated automatically generated code definitions for coding scheme "DCM",
- "NCIt" and "UMLS" for the 2016d edition of the DICOM standard.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
- dcmsr/include/dcmtk/dcmsr/codes/ncit.h
- dcmsr/include/dcmtk/dcmsr/codes/umls.h
-
-- Update data dictionary for DICOM 2016d.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-**** Changes from 2016.10.04 (schlamelcher)
-
-- Fixed a problem in OFtuple's constructor:
- GCC 6.2.1 wasn't able to compile OFtuple's constructor, which is fixed in
- this commit.
- Affects: ofstd/include/dcmtk/ofstd/oftuple.h
-
-**** Changes from 2016.09.22 (riesmeier)
-
-- Added new DCMTK modules "dcmtract" and "dcmpmap":
- These two (still pretty new) modules were missing in the README file.
- Also updated description of "dcmsr" module in order to be consistent
- with the Doxygen file.
- Affects: README
-
-**** Changes from 2016.09.21 (onken)
-
-- Make Manufacturer type 2, consistency fixes:
- Thanks to Jörg Riesmeier for the hint and proposed patch.
- Affects: dcmiod/include/dcmtk/dcmiod/modenhequipment.h
- dcmiod/include/dcmtk/dcmiod/modequipment.h
- dcmiod/libsrc/modenhequipment.cc
- dcmiod/libsrc/modequipment.cc
-
-**** Changes from 2016.09.20 (riesmeier)
-
-- Disable two test cases when building shared libs:
- Temporarily disable two new test cases when building shared libraries
- because of unresolvable linker errors (static member "EmptyItem" not
- found).
- See DCMTK Bug #694.
- Affects: dcmsr/tests/Makefile.dep
- dcmsr/tests/tsrlist.cc
-
-**** Changes from 2016.09.19 (riesmeier)
-
-- Fixed compiler warnings on unused variables:
- Fixed compiler warnings on unused variables reported by Visual Studio 2010.
- Affects: dcmjpls/libcharls/intrface.cc
-
-- Fixed linker errors on non-gcc platforms:
- Fixed linker errors on non-gcc platforms that occurred after adding new
- "dcmsr" test cases (which make use of the class DSRListOfItems).
- Affects: dcmsr/tests/tsrlist.cc
-
-**** Changes from 2016.09.17 (riesmeier)
-
-- Added missing source file (new test cases):
- Added new source file that was missing for the previous commit.
- Added: dcmsr/tests/tsrlist.cc
-
-**** Changes from 2016.09.16 (hasenpusch)
-
-- Fixed include paths in DCMTK's package config file:
- Fixed exporting wrong module include paths inside generated DCMTKConfig.cmake.
- The specified module include paths went two levels too deep into the folder
- hierarchy, leading to system include shadowing under certain circumstances.
- This fixes DCMTK bug #692.
- Thanks to forum user jakecobb for reporting this bug.
- Affects: CMake/DCMTKConfig.cmake.in
-
-**** Changes from 2016.09.16 (riesmeier)
-
-- Enhanced template class DSRListOfItems:
- Added new methods addItems() and getItems() to the template class
- DSRListOfItems. These new methods expect a vector as a parameter
- and thus allow for adding/getting multiple items with a single call.
- Closes DCMTK Feature #572.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtlist.h
- dcmsr/tests/CMakeLists.txt
- dcmsr/tests/Makefile.in
- dcmsr/tests/tests.cc
-
-**** Changes from 2016.09.15 (schlamelcher)
-
-- Further fixes for OFvariant:
- OFvariant's copy constructor and assignment operator are now disabled for
- types that can not be converted to one of the variant's alternatives (using
- OFenable_if).
- Fixed OFvariant's fallback implementation for systems that do not provide
- memory alignment facilities.
- Affects: ofstd/include/dcmtk/ofstd/variadic/variant.h
-
-**** Changes from 2016.09.14 (riesmeier)
-
-- Fixed minor issues in modules' documentation:
- Fixed minor issues in modules' documentation of "dcmpmap" und "dcmtract".
- Some of these are related to Doxygen (the tool that is used for generating
- the rendered output) and some have been fixed for reasons of consistency
- with other DCMTK modules.
- Affects: dcmpmap/docs/dcmpmap.dox
- dcmtract/docs/dcmtract.dox
-
-**** Changes from 2016.09.14 (schlamelcher)
-
-- Fixes for OFvariant, dcmiod, dcmseg and dcmpmap:
- Removed DLL export macros from several template classes as this does not seem
- to work for templates.
- Introduced a workaround for older C++ compilers regarding base class
- definitions in derived classes, e.g. OFvariant<int,char> will not be available
- as OFvariant (without the template parameters) in derived classes on these
- compilers. OFvariant and DcmIODImage now define the types 'variant' and
- 'IODImage' resp. instead, which may be used in derived classes for referring
- to the resp. base class or one of its methods etc.
- Affects: dcmiod/include/dcmtk/dcmiod/iodimage.h
- dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h
- dcmpmap/libsrc/dpmparametricmapbase.cc
- dcmseg/libsrc/segdoc.cc
- ofstd/include/dcmtk/ofstd/variadic/variant.h
-
-**** Changes from 2016.09.13 (schlamelcher)
-
-- Trying possible fix for OFvariant vs DLLs.
- Affects: ofstd/include/dcmtk/ofstd/ofutil.h
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2016.09.12 (riesmeier)
-
-- Updated coding scheme designator (CP-1567):
- Updated coding scheme designator for CID 5000 (Languages) based on recently
- approved CP-1567: The designator changed from "IETF4646" to "RFC5646".
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
- dcmsr/libcmr/cid5000.cc
-
-- Added support for recently approved CPs:
- Added support for CP-1418 and CP-1586 to the data dictionary.
- These CPs were approved during last week's DICOM WG-06 t-con.
- Also fixed an attribute name change in "dcmrt" due to retirement.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
- dcmrt/libsrc/drtarics.cc
-
-- Added support for new UIDs from Supplement 121:
- Added support for new Storage and Query/Retrieve SOP Class UIDs from
- Supplement 121 (CT Protocol Storage).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added support for Supplement 121 to dictionary:
- Added support for the final text version of Supplement 121 (CT Protocol
- Storage) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-**** Changes from 2016.09.10 (onken)
-
-- Corrected value checking and setters for VM > 1:
- Some value checks have been filling the VM parameter incorrectly by providing
- the value type (like "1C") instead, leading to an error if value checking is
- not disabled.
- Thanks to Andrey Fedorov <andrey.fedorov@gmail.com> for the bug report.
- Also, some type of values (e.g. Floating Point Value) allow more than one
- value which is now possible using an optional parameter in the related setter()
- method.
- Affects: dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h
- dcmiod/libsrc/iodcontentitemmacro.cc
-
-**** Changes from 2016.09.05 (onken)
-
-- Fixed typos and other enhancements.
- Affects: dcmpmap/docs/dcmpmap.dox
-
-**** Changes from 2016.09.02 (onken)
-
-- Make sure setValueType() sets correct string value:
- Due to a copy/paste error setValueType() has constantly set the value "CODE"
- instead of the value provided by the user.
- Affects: dcmiod/libsrc/iodcontentitemmacro.cc
-
-**** Changes from 2016.09.01 (onken)
-
-- Remove default value for first parameter:
- Remove default value for first method parameter in constructor
- since otherwise Visual Studio moans that it overlaps with the
- default constructor (which is undefined and private, though).
- Affects: dcmiod/include/dcmtk/dcmiod/iodmacro.h
-
-- Introduced new module dcmpmap for Parametric Maps:
- The new dcmpmap module offers an API for creation, loading, accessing and
- saving DICOM Parametric Map objects as introduced in DICOM Supplement 172.
- All binary data types supported by the standard (16 bit signed and unsigned
- integer as well as 32 bit and 64 bit floating point data) are handled by the
- library.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- QIICR is supported by NIH National Cancer Institute, award U24 CA180918.
- Added: dcmfg/include/dcmtk/dcmfg/fgframeanatomy.h
- dcmfg/include/dcmtk/dcmfg/fgidentpixeltransform.h
- dcmfg/include/dcmtk/dcmfg/fgparametricmapframetype.h
- dcmfg/libsrc/fgframeanatomy.cc
- dcmfg/libsrc/fgidentpixeltransform.cc
- dcmfg/libsrc/fgparametricmapframetype.cc
- dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h
- dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h
- dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h
- dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h
- dcmiod/libsrc/iodcontentitemmacro.cc
- dcmiod/libsrc/modfloatingpointimagepixel.cc
- dcmiod/libsrc/modimagepixelbase.cc
- dcmiod/tests/timagepixel.cc
- dcmpmap/CMakeLists.txt
- dcmpmap/Makefile.in
- dcmpmap/configure
- dcmpmap/data/Makefile.in
- dcmpmap/docs/Makefile.in
- dcmpmap/docs/dcmpmap.dox
- dcmpmap/etc/Makefile.in
- dcmpmap/include/CMakeLists.txt
- dcmpmap/include/Makefile.in
- dcmpmap/include/dcmtk/dcmpmap/dpmdef.h
- dcmpmap/include/dcmtk/dcmpmap/dpmmodparametricmapimage.h
- dcmpmap/include/dcmtk/dcmpmap/dpmmodparametricmapseries.h
- dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapbase.h
- dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapiod.h
- dcmpmap/include/dcmtk/dcmpmap/dpmtypes.h
- dcmpmap/libsrc/CMakeLists.txt
- dcmpmap/libsrc/Makefile.dep
- dcmpmap/libsrc/Makefile.in
- dcmpmap/libsrc/dpmmodparametricmapimage.cc
- dcmpmap/libsrc/dpmmodparametricmapseries.cc
- dcmpmap/libsrc/dpmparametricmapbase.cc
- dcmpmap/libsrc/dpmparametricmapiod.cc
- dcmpmap/libsrc/dpmtypes.cc
- dcmpmap/tests/Makefile.dep
- dcmpmap/tests/Makefile.in
- ofstd/include/dcmtk/ofstd/ofvriant.h
- ofstd/include/dcmtk/ofstd/variadic/helpers.h
- ofstd/include/dcmtk/ofstd/variadic/variant.h
- ofstd/tests/tvariant.cc
- Removed: dcmiod/libsrc/iodimage.cc
- Affects: CMakeLists.txt
- Makefile
- config/modules
- dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmfg/include/dcmtk/dcmfg/fgderimg.h
- dcmfg/include/dcmtk/dcmfg/fgfracon.h
- dcmfg/include/dcmtk/dcmfg/fginterface.h
- dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
- dcmfg/include/dcmtk/dcmfg/fgtypes.h
- dcmfg/include/dcmtk/dcmfg/stack.h
- dcmfg/libsrc/CMakeLists.txt
- dcmfg/libsrc/Makefile.dep
- dcmfg/libsrc/fgbase.cc
- dcmfg/libsrc/fgderimg.cc
- dcmfg/libsrc/fgfact.cc
- dcmfg/libsrc/fgfracon.cc
- dcmfg/libsrc/fgframevoilut.cc
- dcmfg/libsrc/fgimagedatatype.cc
- dcmfg/libsrc/fginterface.cc
- dcmfg/libsrc/fgpixmsr.cc
- dcmfg/libsrc/fgplanor.cc
- dcmfg/libsrc/fgplanorvol.cc
- dcmfg/libsrc/fgplanpo.cc
- dcmfg/libsrc/fgplanposvol.cc
- dcmfg/libsrc/fgrealworldvaluemapping.cc
- dcmfg/libsrc/fgseg.cc
- dcmfg/libsrc/fgtypes.cc
- dcmfg/libsrc/fgusimagedescription.cc
- dcmiod/include/dcmtk/dcmiod/iodcommn.h
- dcmiod/include/dcmtk/dcmiod/iodimage.h
- dcmiod/include/dcmtk/dcmiod/iodmacro.h
- dcmiod/include/dcmtk/dcmiod/iodutil.h
- dcmiod/include/dcmtk/dcmiod/modbase.h
- dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
- dcmiod/include/dcmtk/dcmiod/modenhequipment.h
- dcmiod/include/dcmtk/dcmiod/modequipment.h
- dcmiod/include/dcmtk/dcmiod/modfor.h
- dcmiod/include/dcmtk/dcmiod/modimagepixel.h
- dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h
- dcmiod/include/dcmtk/dcmiod/modsynchronisation.h
- dcmiod/libsrc/CMakeLists.txt
- dcmiod/libsrc/Makefile.dep
- dcmiod/libsrc/Makefile.in
- dcmiod/libsrc/iodcommn.cc
- dcmiod/libsrc/iodmacro.cc
- dcmiod/libsrc/modbase.cc
- dcmiod/libsrc/modcommoninstanceref.cc
- dcmiod/libsrc/modenhequipment.cc
- dcmiod/libsrc/modequipment.cc
- dcmiod/libsrc/modfor.cc
- dcmiod/libsrc/modimagepixel.cc
- dcmiod/libsrc/modmultiframedimension.cc
- dcmiod/libsrc/modmultiframefg.cc
- dcmiod/libsrc/modsynchronization.cc
- dcmiod/libsrc/modusfor.cc
- dcmiod/tests/CMakeLists.txt
- dcmiod/tests/Makefile.dep
- dcmiod/tests/Makefile.in
- dcmiod/tests/tests.cc
- dcmnet/libsrc/dstorscu.cc
- dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/libsrc/Makefile.dep
- dcmseg/libsrc/segdoc.cc
- dcmtract/libsrc/Makefile.dep
- doxygen/htmldocs.dox
- ofstd/include/dcmtk/ofstd/oftraits.h
- ofstd/include/dcmtk/ofstd/ofutil.h
- ofstd/libsrc/Makefile.dep
- ofstd/libsrc/ofstd.cc
- ofstd/tests/CMakeLists.txt
- ofstd/tests/Makefile.dep
- ofstd/tests/Makefile.in
- ofstd/tests/tests.cc
-
-**** Changes from 2016.08.23 (riesmeier)
-
-- Fixed typos in comments and log output.
- Affects: config/Makefile.def.in
- dcmnet/libsrc/dulparse.cc
-
-**** Changes from 2016.08.22 (onken)
-
-- Optimized iterator usage to speed up execution.
- Affects: dcmfg/libsrc/fg.cc
- dcmfg/libsrc/fginterface.cc
-
-**** Changes from 2016.08.06 (onken)
-
-- Updated copyright.
- Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h
- dcmiod/libsrc/iodcommn.cc
-
-- Create SourceImageItem from DcmDataset as input:
- Thanks to Christian Herz <cherz@bwh.harvard.edu> for the suggested patch.
- Affects: dcmfg/include/dcmtk/dcmfg/fgderimg.h
- dcmfg/libsrc/fgderimg.cc
-
-- Moved import..() functionality into IODCommon:
- Moved import...() into base class of IOD classes in order to make it usable
- from all derived IOD implementations, e.g. Segmentation IOD in dcmseg, which
- directly offered this function before, and Parametric Maps IOD in dcmpmap.
- Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h
- dcmiod/libsrc/iodcommn.cc
- dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/libsrc/segdoc.cc
-
-**** Changes from 2016.08.03 (onken)
-
-- Switched VR and VM in comment.
- Affects: dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h
-
-**** Changes from 2016.07.27 (riesmeier)
-
-- Fixed warnings with Clang -Wparentheses-equality:
- Fixed warnings reported by Clang compiler, which uses -Wparentheses-equality
- by default, i.e. removed extraneous parentheses around equality comparison.
- Also fixed various typos in comments.
- Affects: dcmjpeg/libsrc/djcodece.cc
-
-**** Changes from 2016.07.25 (riesmeier)
-
-- Added explicit type cast to avoid warning:
- Added explicit typecast to a parameter value in order to avoid a warning
- reported by MSVC++ on Windows 64-bit systems.
- Affects: dcmimgle/libsrc/dimoimg.cc
-
-- Changed type of local variable to avoid warning:
- Changed type of local variable from size_t to unsigned long in order to
- avoid a warning reported by MSVC++ on Windows 64-bit systems.
- Affects: dcmjpeg/libsrc/ddpiimpl.cc
-
-**** Changes from 2016.07.19 (hasenpusch)
-
-- Fixed and refactored mutex & rwlock tests:
- Made sure thread 2 starts after thread 1 claims the first lock.
- Closes DCMTK bug #689.
- Affects: ofstd/tests/tthread.cc
-
-**** Changes from 2016.07.18 (riesmeier)
-
-- Fixed typos in comments.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
- dcmsr/libcmr/cid5000.cc
- oflog/include/dcmtk/oflog/oflog.h
- oflog/libsrc/oflog.cc
-
-**** Changes from 2016.07.08 (hasenpusch)
-
-- Fixed potential buffer overflow in libcharls:
- Libcharls' encoding facility now reallocates the given target buffer if
- the initial capacity happens to be too small.
- Closes DCMTK bug #688.
- Affects: dcmjpls/libcharls/decodstr.h
- dcmjpls/libcharls/encodstr.h
- dcmjpls/libcharls/header.cc
- dcmjpls/libcharls/intrface.cc
- dcmjpls/libcharls/intrface.h
- dcmjpls/libcharls/pubtypes.h
- dcmjpls/libcharls/scan.h
- dcmjpls/libcharls/streams.h
- dcmjpls/libcharls/util.h
- dcmjpls/libsrc/djcodece.cc
-
-**** Changes from 2016.06.30 (schlamelcher)
-
-- Updated CHANGES.361 for new development snapshot.
- Affects: docs/CHANGES.361
-
-- DCMTK_ABI_VERSION for new development snapshot.
- Affects: CMake/dcmtkPrepare.cmake
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/dcm2pdf.1
- doxygen/manpages/man1/dcm2pnm.1
- doxygen/manpages/man1/dcm2xml.1
- doxygen/manpages/man1/dcmcjpeg.1
- doxygen/manpages/man1/dcmcjpls.1
- doxygen/manpages/man1/dcmconv.1
- doxygen/manpages/man1/dcmcrle.1
- doxygen/manpages/man1/dcmdjpeg.1
- doxygen/manpages/man1/dcmdjpls.1
- doxygen/manpages/man1/dcmdrle.1
- doxygen/manpages/man1/dcmdspfn.1
- doxygen/manpages/man1/dcmdump.1
- doxygen/manpages/man1/dcmftest.1
- doxygen/manpages/man1/dcmgpdir.1
- doxygen/manpages/man1/dcmj2pnm.1
- doxygen/manpages/man1/dcml2pnm.1
- doxygen/manpages/man1/dcmmkcrv.1
- doxygen/manpages/man1/dcmmkdir.1
- doxygen/manpages/man1/dcmmklut.1
- doxygen/manpages/man1/dcmodify.1
- doxygen/manpages/man1/dcmp2pgm.1
- doxygen/manpages/man1/dcmprscp.1
- doxygen/manpages/man1/dcmprscu.1
- doxygen/manpages/man1/dcmpschk.1
- doxygen/manpages/man1/dcmpsmk.1
- doxygen/manpages/man1/dcmpsprt.1
- doxygen/manpages/man1/dcmpsrcv.1
- doxygen/manpages/man1/dcmpssnd.1
- doxygen/manpages/man1/dcmqridx.1
- doxygen/manpages/man1/dcmqrscp.1
- doxygen/manpages/man1/dcmqrti.1
- doxygen/manpages/man1/dcmquant.1
- doxygen/manpages/man1/dcmrecv.1
- doxygen/manpages/man1/dcmscale.1
- doxygen/manpages/man1/dcmsend.1
- doxygen/manpages/man1/dcmsign.1
- doxygen/manpages/man1/dcod2lum.1
- doxygen/manpages/man1/dconvlum.1
- doxygen/manpages/man1/drtdump.1
- doxygen/manpages/man1/dsr2html.1
- doxygen/manpages/man1/dsr2xml.1
- doxygen/manpages/man1/dsrdump.1
- doxygen/manpages/man1/dump2dcm.1
- doxygen/manpages/man1/echoscu.1
- doxygen/manpages/man1/findscu.1
- doxygen/manpages/man1/getscu.1
- doxygen/manpages/man1/img2dcm.1
- doxygen/manpages/man1/movescu.1
- doxygen/manpages/man1/pdf2dcm.1
- doxygen/manpages/man1/storescp.1
- doxygen/manpages/man1/storescu.1
- doxygen/manpages/man1/termscu.1
- doxygen/manpages/man1/wlmscpfs.1
- doxygen/manpages/man1/xml2dcm.1
- doxygen/manpages/man1/xml2dsr.1
-
-**** Changes from 2016.06.29 (schlamelcher)
-
-- Updated Makefile dependencies.
- Affects: ofstd/libsrc/Makefile.dep
-
-**** Changes from 2016.06.28 (onken)
-
-- Add get() for Segmentation Series Module:
- Thanks to Christian Herz <cherz@bwh.harvard.edu>for the hint and suggested
- patch.
- Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/libsrc/segdoc.cc
-
-**** Changes from 2016.06.21 (hasenpusch)
-
-- Removed unnecessary buffer size divisibility check:
- This fixes DCMTK bug #667.
- Affects: dcmjpeg/libsrc/djcodece.cc
-
-**** Changes from 2016.06.14 (onken)
-
-- Fixed 32 bit long int warning:
- Fixed warning in integer to string conversion originating from different
- size of type Uint32 on 32 and 64 bit systems.
- Affects: dcmiod/libsrc/iodreferences.cc
-
-**** Changes from 2016.06.13 (riesmeier)
-
-- Updated code definitions for DICOM 2016c:
- Updated automatically generated code definitions of "DCM" coding scheme for
- the latest release of the DICOM standard, i.e. DICOM 2016c. All other coding
- schemes are not updated since there were no changes or the header files are
- not (yet) generated automatically.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
-
-- Updated data dictionary for DICOM 2016c edition:
- Updated data dictionary for the latest edition of the DICOM standard, which
- has been released on 2016-06-10. Since DCMTK's data dictionary was already
- up-to-date regarding the recently approved Supplements and CPs, there are no
- changes apart from the "Version" column.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-**** Changes from 2016.06.10 (onken)
-
-- Added another comment.
- Affects: dcmtract/include/dcmtk/dcmtract/trcmeasurement.h
-
-**** Changes from 2016.06.10 (hasenpusch)
-
-- Modified OFVector's re-allocation strategy:
- Upon insert() into a vector whose resulting size is greater than its capacity,
- the vector's allocated space will now be doubled, like with most STL implemen-
- tations.
- Affects: ofstd/include/dcmtk/ofstd/ofvector.h
-
-**** Changes from 2016.06.10 (onken)
-
-- Fixed doubled class name in function definition:
- Fixed double class name that breaks Visual Studio (and does not make much sense
- at all).
- Affects: dcmtract/libsrc/trctractographyresults.cc
-
-- Fix friend declaration to work in Visual Studio.
- Affects: dcmtract/include/dcmtk/dcmtract/trcmeasurement.h
- dcmtract/include/dcmtk/dcmtract/trcstatistic.h
- dcmtract/include/dcmtk/dcmtract/trctrack.h
- dcmtract/include/dcmtk/dcmtract/trctrackset.h
-
-**** Changes from 2016.06.09 (onken)
-
-- Corrected error from merging in tractography code.
- Affects: dcmiod/libsrc/iodtypes.cc
-
-- Modifier Code Sequence exchangable:
- Very often in DICOM as combination of a code with modifiers is used. The
- modifiers are often stored in the Modifier Code Sequence. However, sometimes
- another sequence is used for the same purpose. For those cases the sequence
- being used in the CodeWithModifiers class has been made configurable.
- Affects: dcmiod/include/dcmtk/dcmiod/iodmacro.h
- dcmiod/libsrc/iodmacro.cc
-
-**** Changes from 2016.06.08 (onken)
-
-- New module dcmtract for Tractography Results:
- Added new module dcmtract that offers a dedicated API to create and read DICOM
- Tractography Results objects as introduced in DICOM Supplement 181. The commit
- also includes enhancements and minor fixes for the dcmiod and dcmfg modules.
- Acknowledgement: This work has been supported by the "SlicerDMRI" project.
- SlicerDMRI is in part supported by funding from the National Institutes of
- Health National Institute of Biomedical Imaging and Bioengineering (NIBIB), to
- project Neuroimage Analysis Center, award P41 EB015902; and the National
- Institutes of Health National Cancer Institute (NCI) Informatics Technology for
- Cancer Research (ITCR) initiative, to project Open Source Diffusion MRI
- Technology For Brain Cancer Research, award U01 CA199459.
- Added: dcmiod/include/dcmtk/dcmiod/iodreferences.h
- dcmiod/libsrc/iodreferences.cc
- dcmtract/CMakeLists.txt
- dcmtract/Makefile.in
- dcmtract/configure
- dcmtract/data/Makefile.in
- dcmtract/docs/Makefile.in
- dcmtract/docs/dcmtract.dox
- dcmtract/etc/Makefile.in
- dcmtract/include/CMakeLists.txt
- dcmtract/include/Makefile.in
- dcmtract/include/dcmtk/dcmtract/trcdef.h
- dcmtract/include/dcmtk/dcmtract/trcmeasurement.h
- dcmtract/include/dcmtk/dcmtract/trcmodtractresults.h
- dcmtract/include/dcmtk/dcmtract/trcstatistic.h
- dcmtract/include/dcmtk/dcmtract/trctrack.h
- dcmtract/include/dcmtk/dcmtract/trctrackset.h
- dcmtract/include/dcmtk/dcmtract/trctractographyresults.h
- dcmtract/include/dcmtk/dcmtract/trctypes.h
- dcmtract/libsrc/CMakeLists.txt
- dcmtract/libsrc/Makefile.dep
- dcmtract/libsrc/Makefile.in
- dcmtract/libsrc/trcmeasurement.cc
- dcmtract/libsrc/trcmodtractresults.cc
- dcmtract/libsrc/trcstatistic.cc
- dcmtract/libsrc/trctrack.cc
- dcmtract/libsrc/trctrackset.cc
- dcmtract/libsrc/trctractographyresults.cc
- dcmtract/libsrc/trctypes.cc
- dcmtract/tests/Makefile.dep
- dcmtract/tests/Makefile.in
- Affects: CMakeLists.txt
- CREDITS
- Makefile
- config/modules
- dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmfg/libsrc/Makefile.dep
- dcmfg/libsrc/fgrealworldvaluemapping.cc
- dcmiod/include/dcmtk/dcmiod/iodmacro.h
- dcmiod/include/dcmtk/dcmiod/iodrules.h
- dcmiod/include/dcmtk/dcmiod/iodtypes.h
- dcmiod/include/dcmtk/dcmiod/iodutil.h
- dcmiod/include/dcmtk/dcmiod/modbase.h
- dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
- dcmiod/include/dcmtk/dcmiod/modenhequipment.h
- dcmiod/include/dcmtk/dcmiod/modenhusimage.h
- dcmiod/include/dcmtk/dcmiod/modgeneralimage.h
- dcmiod/libsrc/CMakeLists.txt
- dcmiod/libsrc/Makefile.dep
- dcmiod/libsrc/iodmacro.cc
- dcmiod/libsrc/iodrules.cc
- dcmiod/libsrc/iodtypes.cc
- dcmiod/libsrc/iodutil.cc
- dcmiod/libsrc/modacquisitioncontext.cc
- dcmiod/libsrc/modbase.cc
- dcmiod/libsrc/modcommoninstanceref.cc
- dcmiod/libsrc/modenhequipment.cc
- dcmiod/libsrc/modenhusimage.cc
- dcmiod/libsrc/modenhusseries.cc
- dcmiod/libsrc/modequipment.cc
- dcmiod/libsrc/modfor.cc
- dcmiod/libsrc/modgeneralimage.cc
- dcmiod/libsrc/modgeneralseries.cc
- dcmiod/libsrc/modgeneralstudy.cc
- dcmiod/libsrc/modimagepixel.cc
- dcmiod/libsrc/modmultiframedimension.cc
- dcmiod/libsrc/modmultiframefg.cc
- dcmiod/libsrc/modpatient.cc
- dcmiod/libsrc/modpatientstudy.cc
- dcmiod/libsrc/modsegmentationseries.cc
- dcmiod/libsrc/modsopcommon.cc
- dcmiod/libsrc/modsynchronization.cc
- dcmiod/libsrc/modusfor.cc
- dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/libsrc/Makefile.dep
- dcmseg/tests/Makefile.dep
- doxygen/htmldocs.dox
-
-- Added missing access to Segment Algorithm Name:
- Thanks to Christian Herz for the report and patch.
- Affects: dcmseg/include/dcmtk/dcmseg/segment.h
- dcmseg/libsrc/segment.cc
-
-**** Changes from 2016.06.03 (eichelberg)
-
-- Fixed overflow issue in JPEG-LS encoder:
- Fixed overflow issue in JPEG-LS encoder by porting the corrected
- implementation of EncoderStrategy::AppendToBitStream() from CharLS 1.1.0.
- This closes DCMTK Bug #687.
- Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
- Affects: dcmjpls/libcharls/encodstr.h
-
-**** Changes from 2016.06.02 (riesmeier)
-
-- Changed name of recently added "DCM" codes:
- Removed additional "_" characters from new DCM code constant.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
-
-**** Changes from 2016.06.01 (riesmeier)
-
-- Removed unused "dcmnet" function and definitions:
- Removed unused function DUL_DefaultServiceParameters() and unused macros
- DICOM_NET_IMPLEMENTATIONCLASSUID and DICOM_NET_IMPLEMENTATIONVERSIONNAME,
- which were probably used in the past in the ancient network implementation.
- Affects: dcmnet/include/dcmtk/dcmnet/dicom.h
- dcmnet/include/dcmtk/dcmnet/dul.h
- dcmnet/libsrc/dul.cc
-
-**** Changes from 2016.06.01 (onken)
-
-- Adapted copyright date and fixed formatting:
- Adapted copyright date and fixed formatting errors caused by last commit
- removing the "register" keyword.
- Affects: dcmdata/libi2d/i2djpgs.cc
- dcmdata/libsrc/dcdict.cc
- dcmdata/libsrc/dcrleccd.cc
- dcmdata/libsrc/dcrlecce.cc
- dcmdata/libsrc/dcswap.cc
- dcmimage/include/dcmtk/dcmimage/diargpxt.h
- dcmimage/include/dcmtk/dcmimage/dicmypxt.h
- dcmimage/include/dcmtk/dcmimage/dicomot.h
- dcmimage/include/dcmtk/dcmimage/dicoopxt.h
- dcmimage/include/dcmtk/dcmimage/dicopxt.h
- dcmimage/include/dcmtk/dcmimage/dihsvpxt.h
- dcmimage/include/dcmtk/dcmimage/dipalpxt.h
- dcmimage/include/dcmtk/dcmimage/diqtcmap.h
- dcmimage/include/dcmtk/dcmimage/diqtctab.h
- dcmimage/include/dcmtk/dcmimage/diqtfs.h
- dcmimage/include/dcmtk/dcmimage/dirgbpxt.h
- dcmimage/include/dcmtk/dcmimage/diybrpxt.h
- dcmimage/include/dcmtk/dcmimage/diyf2pxt.h
- dcmimage/include/dcmtk/dcmimage/diyp2pxt.h
- dcmimage/libsrc/diqtctab.cc
- dcmimage/libsrc/diqthash.cc
- dcmimage/libsrc/diquant.cc
- dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h
- dcmimgle/include/dcmtk/dcmimgle/diflipt.h
- dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
- dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h
- dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
- dcmimgle/include/dcmtk/dcmimgle/dimopxt.h
- dcmimgle/include/dcmtk/dcmimgle/dirotat.h
- dcmimgle/include/dcmtk/dcmimgle/discalet.h
- dcmimgle/include/dcmtk/dcmimgle/displint.h
- dcmimgle/include/dcmtk/dcmimgle/diutils.h
- dcmimgle/libsrc/dibaslut.cc
- dcmimgle/libsrc/dicielut.cc
- dcmimgle/libsrc/didispfn.cc
- dcmimgle/libsrc/digsdfn.cc
- dcmimgle/libsrc/digsdlut.cc
- dcmimgle/libsrc/diluptab.cc
- dcmimgle/libsrc/dimoimg.cc
- dcmimgle/libsrc/diovdat.cc
- dcmimgle/libsrc/diovlay.cc
- dcmimgle/libsrc/diovlimg.cc
- dcmimgle/libsrc/diovpln.cc
- dcmjpeg/libsrc/djcodecd.cc
- dcmjpls/libsrc/djcodecd.cc
- dcmpstat/libsrc/dviface.cc
- ofstd/include/dcmtk/ofstd/ofbmanip.h
-
-- Remove deprecated "register" keyword in C++ code:
- See also http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4193.html#809
- Thanks to Hans Johnson <hans-johnson@uiowa.edu> for the hint and suggested
- patch.
- Affects: dcmdata/libi2d/i2djpgs.cc
- dcmdata/libsrc/dcdict.cc
- dcmdata/libsrc/dcrleccd.cc
- dcmdata/libsrc/dcrlecce.cc
- dcmdata/libsrc/dcswap.cc
- dcmdata/libsrc/dcvr.cc
- dcmimage/include/dcmtk/dcmimage/diargpxt.h
- dcmimage/include/dcmtk/dcmimage/dicmypxt.h
- dcmimage/include/dcmtk/dcmimage/dicomot.h
- dcmimage/include/dcmtk/dcmimage/dicoopxt.h
- dcmimage/include/dcmtk/dcmimage/dicopxt.h
- dcmimage/include/dcmtk/dcmimage/dihsvpxt.h
- dcmimage/include/dcmtk/dcmimage/dipalpxt.h
- dcmimage/include/dcmtk/dcmimage/diqtcmap.h
- dcmimage/include/dcmtk/dcmimage/diqtctab.h
- dcmimage/include/dcmtk/dcmimage/diqtfs.h
- dcmimage/include/dcmtk/dcmimage/dirgbpxt.h
- dcmimage/include/dcmtk/dcmimage/diybrpxt.h
- dcmimage/include/dcmtk/dcmimage/diyf2pxt.h
- dcmimage/include/dcmtk/dcmimage/diyp2pxt.h
- dcmimage/libsrc/diqtctab.cc
- dcmimage/libsrc/diqthash.cc
- dcmimage/libsrc/diquant.cc
- dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h
- dcmimgle/include/dcmtk/dcmimgle/diflipt.h
- dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
- dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h
- dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
- dcmimgle/include/dcmtk/dcmimgle/dimopxt.h
- dcmimgle/include/dcmtk/dcmimgle/dirotat.h
- dcmimgle/include/dcmtk/dcmimgle/discalet.h
- dcmimgle/include/dcmtk/dcmimgle/displint.h
- dcmimgle/include/dcmtk/dcmimgle/diutils.h
- dcmimgle/libsrc/dibaslut.cc
- dcmimgle/libsrc/dicielut.cc
- dcmimgle/libsrc/didispfn.cc
- dcmimgle/libsrc/digsdfn.cc
- dcmimgle/libsrc/digsdlut.cc
- dcmimgle/libsrc/diluptab.cc
- dcmimgle/libsrc/dimoimg.cc
- dcmimgle/libsrc/diovdat.cc
- dcmimgle/libsrc/diovlay.cc
- dcmimgle/libsrc/diovlimg.cc
- dcmimgle/libsrc/diovpln.cc
- dcmjpeg/libsrc/djcodecd.cc
- dcmjpls/libsrc/djcodecd.cc
- dcmpstat/libsrc/dviface.cc
- ofstd/include/dcmtk/ofstd/ofbmanip.h
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2016.05.31 (riesmeier)
-
-- Added codes introduced with recently approved CPs:
- Added new "DCM" codes introduced with the recently approved CP-1543
- (PET image library corrections).
- Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
-
-- Made use of DateTime consistent in concept names:
- Implemented changes introduced with CP-1545 (Make use of DateTime consistent
- in concept names), which was approved as Final Text only recently.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
- dcmsr/libcmr/tid1600.cc
-
-- Added support for recently approved CPs:
- Added support for CP-1031 and CP-1539 to the data dictionary.
- These CPs were approved during this weeks WG-06 meeting.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-**** Changes from 2016.05.24 (riesmeier)
-
-- Added size of DICOM dataset to transfer entry:
- Added information on the size of the dataset (in bytes) to the transfer entry,
- i.e. to the list of SOP instances to be transferred. Also added a new notifier
- method that is called _before_ a SOP instance is transferred. This allows for
- implementing a more accurate progress bar in a derived class.
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
- dcmnet/libsrc/dstorscu.cc
-
-**** Changes from 2016.05.13 (riesmeier)
-
-- Avoided recursion in DB_FreeUidList():
- Replaced recursive call in DB_FreeUidList() by a while loop in order
- to fix a possible issue (crash) when freeing a very long UID list.
- Thanks to Stacy Loesch <Stacy.Loesch@varian.com> for the report.
- Affects: dcmqrdb/libsrc/dcmqrdbi.cc
-
-**** Changes from 2016.05.03 (riesmeier)
-
-- Updated latest tested CMake version:
- Updated information on latest CMake version that has been tested to "3.5.2".
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2016.04.27 (riesmeier)
-
-- Enhanced return value of determineStartFragment():
- Enhanced error conditions returned by DcmCodec::determineStartFragment().
- This avoids getting a meaningless EC_IllegalCall when trying to access a
- particular frame of a compressed and fragmented pixel data element, e.g.
- if the basic offset table is empty. This is particularly reasonable since
- the codec rountines are usually hidden to the user of the toolkit, e.g. by
- the DicomImage class.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/libsrc/dccodec.cc
- dcmdata/libsrc/dcerror.cc
-
-- Removed unused local function:
- The (local) function dcmErrorConditionToString() is not used any longer,
- so remove it from the source file.
- Affects: dcmdata/libsrc/dcerror.cc
-
-**** Changes from 2016.04.25 (schlamelcher)
-
-- Removed definition of Visual Studio macro NOMINMAX:
- A previous commit introduced the definition of NOMINMAX inside osconfig.h to
- fix problems regarding the min()/max() functions declared as part of
- OFnumeric_limits. However, this is problematic for users that declare
- NOMINMAX themselves or don't want to declare NOMINMAX at all.
- This commit removes the NOMINMAX definition from osconfig.h and modifies
- OFnumeric_limits and related header files in a way that they may be included
- without the need to declare NOMINMAX. The NOMINMAX macro is then only defined
- when compiling the DCMTK itself, DCMTK users may or may not declare NOMINMAX
- themselves as needed/appropriate.
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report.
- Affects: CMake/dcmtkPrepare.cmake
- CMake/osconfig.h.in
- ofstd/include/dcmtk/ofstd/oflimits.h
- ofstd/include/dcmtk/ofstd/ofstd.h
-
-**** Changes from 2016.04.08 (schlamelcher)
-
-- Improved const handling of some DCMNET functions:
- Added the const modifier to so DCMNET function arguments for ease of use.
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the suggested patch.
- Affects: dcmnet/include/dcmtk/dcmnet/dimse.h
- dcmnet/libsrc/dimecho.cc
- dcmnet/libsrc/dimfind.cc
- dcmnet/libsrc/dimget.cc
- dcmnet/libsrc/dimmove.cc
- dcmnet/libsrc/dimstore.cc
-
-**** Changes from 2016.04.08 (riesmeier)
-
-- Fixed typos in comments.
- Affects: dcmdata/libsrc/dcitem.cc
-
-**** Changes from 2016.04.07 (riesmeier)
-
-- Fixed an incorrect warning for command sets:
- Fixed an incorrect warning on invalid data elements in a command set
- (i.e. group 0x0000) caused by a previous commit (4636d9c).
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report.
- Affects: dcmdata/libsrc/dcitem.cc
-
-**** Changes from 2016.04.06 (riesmeier)
-
-- Updated context group classes for DICOM 2016b:
- Updated automatically generated context group classes from the DICOM Content
- Mapping Resource (DCMR) based on PS 3.16 from DICOM 2016b standard.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
- dcmsr/libcmr/cid100.cc
- dcmsr/libcmr/cid10013.cc
- dcmsr/libcmr/cid10033.cc
- dcmsr/libcmr/cid11.cc
- dcmsr/libcmr/cid244.cc
- dcmsr/libcmr/cid29.cc
- dcmsr/libcmr/cid4020.cc
- dcmsr/libcmr/cid4021.cc
- dcmsr/libcmr/cid4031.cc
- dcmsr/libcmr/cid42.cc
- dcmsr/libcmr/cid6147.cc
- dcmsr/libcmr/cid7021.cc
- dcmsr/libcmr/cid7181.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
- dcmsr/libcmr/cid7464.cc
- dcmsr/libcmr/cid7469.cc
-
-- Updated code definitions for DICOM 2016b:
- Updated automatically generated code definitions of "DCM", "NCIt" and "UMLS"
- coding scheme for the latest release of the DICOM standard, i.e. DICOM 2016b.
- The other coding schemes like "SRT" or "UCUM" are not updated since their
- header files are not (yet) generated automatically.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
- dcmsr/include/dcmtk/dcmsr/codes/ncit.h
- dcmsr/include/dcmtk/dcmsr/codes/umls.h
-
-- Updated data dictionary for DICOM 2016b edition:
- Updated data dictionary for the latest edition of the DICOM standard, which
- has been released on 2016-04-01. Since the data dictionary was already
- up-to-date regarding the recently approved Supplements and CPs, there are no
- changes apart from the "Version" column.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-**** Changes from 2016.04.06 (schlamelcher)
-
-- Fixed some configuration tests for VS2015 and later:
- Some changes in the runtime of Visual Studio 2015 and later lead to false
- configuration test results regarding some secure printf functions
- (e.g. vsprintf_s).
- Thanks to DCMTK forum user Shaeto for providing related information and the
- suggested patch.
- Affects: CMake/GenerateDCMTKConfigure.cmake
-
-- Fixed a problem with yesterday's commit:
- The previous commit regarding ofmath.cc resp. math.cc contained a copy and
- paste error leading to problems under Windows.
- Affects: config/math.cc
-
-**** Changes from 2016.04.05 (schlamelcher)
-
-- Fixed a warning and some whitespace errors:
- Fixed a warning about an uninitialized variable and some whitespace errors in
- oflog (timehelp.cc).
- Affects: oflog/libsrc/timehelp.cc
-
-- Refactored OFMath/arith.cc dependencies:
- Moved ofmath.cc to the config module (with slight modifications) so arith.cc
- depending on it becomes less messy.
- Added a new ofmath.cc for ofstd, adapting between both APIs (the low level
- API used in config and the one provided by ofstd).
- Modified arith.cc as necessary.
- Added: config/math.cc
- Affects: config/arith.cc
- ofstd/libsrc/ofmath.cc
-
-**** Changes from 2016.03.31 (schlamelcher)
-
-- Fixed touching arith.h on every CMake cache rebuild:
- Regarding the CMake setup, the file config/arith.h is now only generated once
- during the initial cache setup, similar to the other configure tests only
- being run once.
- This may potentially miss changes induced by changed compiler flags, however,
- this is of course also a problem regarding all the other configure test and
- should be addressed some time in the future in general.
- Affects: CMake/GenerateDCMTKConfigure.cmake
-
-**** Changes from 2016.03.21 (riesmeier)
-
-- Replaced EC_InvalidTag by EC_MissingAttribute:
- Now using more appropriate status code EC_MissingAttribute instead of
- EC_InvalidTag when checkExistsWithValue() fails for Type 1 attributes.
- This change should have no effect to user code (internal use only).
- Affects: dcmdata/libsrc/dcddirif.cc
-
-- Added support for Directory Record "ASSESSMENT":
- Added support for new Directory Record Type "ASSESSMENT", which has been
- introduced with Supplement 185 (Content Assessment Results IOD).
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/include/dcmtk/dcmdata/dcdirrec.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcdirrec.cc
-
-- Added support for new UID from Supplement 185:
- Added support for new Storage SOP Class UID from Supplement 185 (Content
- Assessment Results IOD).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added support for Supplement 185 to dictionary:
- Added support for the final text version "FT2" of Supplement 185 (Content
- Assessment Results IOD) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-- Added support for recently approved CPs:
- Added support for CP-1492, CP-1525 and CP-1531 to the data dictionary.
- These CPs were approved during last weeks WG-06 meeting.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-- Fixed typos and other minor issues in comments.
- Affects: dcmnet/include/dcmtk/dcmnet/assoc.h
- dcmnet/include/dcmtk/dcmnet/dimse.h
- dcmnet/libsrc/assoc.cc
- dcmnet/libsrc/dimse.cc
-
-**** Changes from 2016.03.07 (riesmeier)
-
-- Cleaned up header inclusion in module "dcmsr":
- Made sure that only "required" header files are actually included.
- This should reduce the dependencies significantly.
- Affects: dcmpstat/libsrc/Makefile.dep
- dcmsr/apps/Makefile.dep
- dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsr2xml.cc
- dcmsr/apps/dsrdump.cc
- dcmsr/apps/xml2dsr.cc
- dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
- dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/include/dcmtk/dcmsr/dsrposcn.h
- dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
- dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
- dcmsr/include/dcmtk/dcmsr/dsrtcodt.h
- dcmsr/include/dcmtk/dcmsr/dsrtlist.h
- dcmsr/include/dcmtk/dcmsr/dsrtnant.h
- dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/include/dcmtk/dcmsr/dsrxmlc.h
- dcmsr/include/dcmtk/dcmsr/dsrxmld.h
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/tid1001.cc
- dcmsr/libcmr/tid1204.cc
- dcmsr/libcmr/tid1411.cc
- dcmsr/libcmr/tid1500.cc
- dcmsr/libcmr/tid1600.cc
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/dsrcodtn.cc
- dcmsr/libsrc/dsrcodvl.cc
- dcmsr/libsrc/dsrcomtn.cc
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrcontn.cc
- dcmsr/libsrc/dsrcsidl.cc
- dcmsr/libsrc/dsrctpl.cc
- dcmsr/libsrc/dsrdattn.cc
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrdtitn.cc
- dcmsr/libsrc/dsrimgfr.cc
- dcmsr/libsrc/dsrimgse.cc
- dcmsr/libsrc/dsrimgtn.cc
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrpnmtn.cc
- dcmsr/libsrc/dsrrefin.cc
- dcmsr/libsrc/dsrreftn.cc
- dcmsr/libsrc/dsrsc3gr.cc
- dcmsr/libsrc/dsrsc3vl.cc
- dcmsr/libsrc/dsrscogr.cc
- dcmsr/libsrc/dsrscovl.cc
- dcmsr/libsrc/dsrsoprf.cc
- dcmsr/libsrc/dsrtcodt.cc
- dcmsr/libsrc/dsrtcosp.cc
- dcmsr/libsrc/dsrtcoto.cc
- dcmsr/libsrc/dsrtcovl.cc
- dcmsr/libsrc/dsrtextn.cc
- dcmsr/libsrc/dsrtimtn.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/libsrc/dsruidtn.cc
- dcmsr/libsrc/dsrwavch.cc
- dcmsr/libsrc/dsrwavtn.cc
- dcmsr/libsrc/dsrwavvl.cc
- dcmsr/tests/Makefile.dep
- dcmsr/tests/mkreport.cc
- dcmsr/tests/tsrcmr.cc
- dcmsr/tests/tsrcodvl.cc
- dcmsr/tests/tsrdoc.cc
- dcmsr/tests/tsrdoctr.cc
- dcmsr/tests/tsrnumvl.cc
- dcmsr/tests/tsrtpl.cc
- dcmsr/tests/tsrtree.cc
-
-**** Changes from 2016.03.04 (riesmeier)
-
-- Check for PixelSpacing in SharedFunctionalGroups:
- Also check for the Pixel Spacing (0028,0030) attribute in the Pixel Measures
- Sequence (0028,9110) of the Shared Functional Groups Sequence (5200,9229).
- By doing so, non-square pixels are supported for the family of Enhanced
- Multiframe Image IODs, too.
- Please note that support for Pixel Spacing within the Per-frame Functional
- Groups Sequence (5200,9230) is still missing.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
- dcmimgle/libsrc/diimage.cc
-
-- Fixed typos in comments (API documentation).
- Affects: dcmimage/include/dcmtk/dcmimage/dicoimg.h
- dcmimage/include/dcmtk/dcmimage/dicopx.h
- dcmimgle/include/dcmtk/dcmimgle/dimoimg.h
-
-- Fixed shifting negative value: undefined behavior:
- Fixed shifting a negative value (-1) since this is undefined behavior
- according to the C standard. See comment in the source code for details.
- This memory leak has been detected by "cppcheck" (version 1.72).
- Thanks to Andrei Terechko <andrei@vectorfabrics.com> for the report
- Affects: dcmjpeg/libijg12/jdlhuff.c
- dcmjpeg/libijg12/jdphuff.c
- dcmjpeg/libijg12/jdshuff.c
- dcmjpeg/libijg16/jdlhuff.c
- dcmjpeg/libijg16/jdphuff.c
- dcmjpeg/libijg16/jdshuff.c
- dcmjpeg/libijg8/jdlhuff.c
- dcmjpeg/libijg8/jdphuff.c
- dcmjpeg/libijg8/jdshuff.c
-
-- Fixed typos in comments.
- Affects: ofstd/tests/tofstd.cc
-
-**** Changes from 2016.03.03 (riesmeier)
-
-- Fixed warnings reported by gcc with -Wshadow:
- Fixed warning messages on declaration of a local variable that shadows a
- previous declaration. This issue was reported by gcc with option -Wshadow.
- Affects: dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dcsequen.cc
-
-**** Changes from 2016.03.03 (onken)
-
-- Removed test duplicate:
- Removed test that was present as a separate file (but not used) in favor
- of the same test being part of tofstd.cc which has already been in use.
- Removed: ofstd/tests/taddsub.cc
- Affects: ofstd/tests/Makefile.dep
-
-**** Changes from 2016.03.03 (riesmeier)
-
-- Fixed wrong module name in comment header.
- Affects: dcmrt/tests/tests.cc
-
-- Fixed typos in man pages.
- Affects: dcmdata/docs/dcmgpdir.man
- dcmdata/docs/img2dcm.man
- dcmjpeg/docs/dcmcjpeg.man
- dcmjpls/docs/dcmcjpls.man
- dcmnet/docs/movescu.man
-
-**** Changes from 2016.03.02 (onken)
-
-- Better warnings when reading segmentation objects:
- Enhanced warnings when reading segmentation objects if pixel data-related
- attributes have invalid values.
- Affects: dcmseg/include/dcmtk/dcmseg/segtypes.h
- dcmseg/libsrc/segdoc.cc
- dcmseg/libsrc/segtypes.cc
-
-- Fixed warning message:
- Fixed warning printed if the High Bit attribute does not have a valid value.
- Affects: dcmseg/libsrc/segdoc.cc
-
-**** Changes from 2016.02.26 (riesmeier)
-
-- Fixed typos etc. in module "dcmseg":
- Fixed typos and other minor issues in comments and log output.
- Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/include/dcmtk/dcmseg/segment.h
- dcmseg/include/dcmtk/dcmseg/segtypes.h
- dcmseg/include/dcmtk/dcmseg/segutils.h
- dcmseg/libsrc/segdoc.cc
- dcmseg/libsrc/segment.cc
- dcmseg/libsrc/segtypes.cc
- dcmseg/libsrc/segutils.cc
-
-- Fixed typos etc. in module "dcmiod":
- Fixed typos and other minor issues in comments, log output and return values.
- Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h
- dcmiod/include/dcmtk/dcmiod/iodmacro.h
- dcmiod/include/dcmtk/dcmiod/iodrules.h
- dcmiod/include/dcmtk/dcmiod/iodutil.h
- dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
- dcmiod/include/dcmtk/dcmiod/modenhusimage.h
- dcmiod/include/dcmtk/dcmiod/modenhusseries.h
- dcmiod/include/dcmtk/dcmiod/modequipment.h
- dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h
- dcmiod/include/dcmtk/dcmiod/modmultiframefg.h
- dcmiod/include/dcmtk/dcmiod/modpatientstudy.h
- dcmiod/include/dcmtk/dcmiod/modsopcommon.h
- dcmiod/include/dcmtk/dcmiod/modsynchronisation.h
- dcmiod/libsrc/iodmacro.cc
- dcmiod/libsrc/iodutil.cc
- dcmiod/libsrc/modbase.cc
- dcmiod/libsrc/modequipment.cc
- dcmiod/libsrc/modsynchronization.cc
- dcmiod/tests/tcielabutil.cc
-
-**** Changes from 2016.02.25 (riesmeier)
-
-- Fixed numerous typos etc. in module "dcmfg":
- Fixed numerous typos and other minor issues like e.g. double semicolons,
- missing or extra space characters. This affects both comments and strings
- that are output to the logger. Of course, the latter are more important.
- Affects: dcmfg/include/dcmtk/dcmfg/fg.h
- dcmfg/include/dcmtk/dcmfg/fgbase.h
- dcmfg/include/dcmtk/dcmfg/fgderimg.h
- dcmfg/include/dcmtk/dcmfg/fgfracon.h
- dcmfg/include/dcmtk/dcmfg/fgframevoilut.h
- dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h
- dcmfg/include/dcmtk/dcmfg/fginterface.h
- dcmfg/include/dcmtk/dcmfg/fgpixmsr.h
- dcmfg/include/dcmtk/dcmfg/fgplanor.h
- dcmfg/include/dcmtk/dcmfg/fgplanorvol.h
- dcmfg/include/dcmtk/dcmfg/fgplanpo.h
- dcmfg/include/dcmtk/dcmfg/fgplanposvol.h
- dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
- dcmfg/include/dcmtk/dcmfg/fgseg.h
- dcmfg/include/dcmtk/dcmfg/fgtypes.h
- dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h
- dcmfg/include/dcmtk/dcmfg/stack.h
- dcmfg/libsrc/fg.cc
- dcmfg/libsrc/fgbase.cc
- dcmfg/libsrc/fgfact.cc
- dcmfg/libsrc/fgfracon.cc
- dcmfg/libsrc/fginterface.cc
- dcmfg/libsrc/fgplanpo.cc
- dcmfg/libsrc/fgtypes.cc
- dcmfg/libsrc/fgusimagedescription.cc
- dcmfg/libsrc/stackinterface.cc
-
-**** Changes from 2016.02.25 (onken)
-
-- Fixed NULL pointer dereference:
- This memory leak has been detected by "cppcheck".
- Thanks to Andrei Terechko <andrei@vectorfabrics.com> for the report.
- Affects: dcmfg/libsrc/fgimagedatatype.cc
-
-**** Changes from 2016.02.24 (riesmeier)
-
-- Fixed possible issue in OFStandard helper function:
- Fixed possible issue in OFStandard::removeRootDirFromPathname() that could
- occur when passing a NULL pointer as the "rootDir" parameter, and thus
- calling strncmp() or wcsncmp() with an invalid value. This is mainly a
- theoretical scenario, since most implementations of these standard string
- functions will not crash when a 0 length value is passed at the same time
- (see test case "ofstd_OFStandard_removeRootDirFromPathname").
- This possible issue has been found with Pareon Verify.
- Thanks to Andrei Terechko <andrei@vectorfabrics.com> for the report.
- Affects: ofstd/libsrc/ofstd.cc
-
-- Fixed memory leak in ASC_addPresentationContext():
- Memory of presentation context data structure was not freed when empty
- transfer syntax list was passed to ASC_addPresentationContext(). Also
- removed an unused local variable and fixed various typos in comments.
- This memory leak has been detected by "cppcheck".
- Thanks to Andrei Terechko <andrei@vectorfabrics.com> for the report.
- Affects: dcmnet/libsrc/assoc.cc
-
-**** Changes from 2016.02.22 (riesmeier)
-
-- Made use of definitions from "dcmsr/codes/ucum.h":
- Made use of code and coding scheme definitions from the header file
- "dcmsr/codes/ucum.h". Also removed coding scheme version ("1.4") since
- it is not used any longer by DICOM PS 3.16 for UCUM codes.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/ucum.h
- dcmsr/tests/Makefile.dep
- dcmsr/tests/mkreport.cc
-
-- Added comment on mapping of code meanings:
- Added comment on the mapping of code meanings to a compiler-friendly
- representention, which is the reason why the SRT and UCUM coding schemes
- are not yet complete (with regard to the definitions in DICOM PS 3.16).
- Please note that the commit message for the previous commit (168662c)
- was incorrect: not the UCUM but the UMLS codes definitions were updated.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h
- dcmsr/include/dcmtk/dcmsr/codes/ucum.h
-
-- Updated "UCUM" codes for DICOM 2016a edition:
- Updated Unified Code for Units of Measure (Coding Scheme "UCUM") code
- definitions for the official 2016a edition of the DICOM standard. The
- header file has been generated automatically from a machine-readable
- version of DICOM PS 3.16.
- There is now a total of 38 codes defined for this coding scheme.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/umls.h
-
-- Updated "NCIt" codes for DICOM 2016a edition:
- Updated NCI Thesaurus (Coding Scheme "NCIt") for the official 2016a edition
- of the DICOM standard. The header file has been generated automatically from
- a machine-readable version of DICOM PS 3.16.
- There is now a total of 12 codes defined for this coding scheme.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/ncit.h
-
-- Fixed source code formatting.
- Affects: dcmsr/libsrc/dsrimgse.cc
-
-- Updated copyright header.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h
- dcmsr/include/dcmtk/dcmsr/codes/ucum.h
- dcmsr/include/dcmtk/dcmsr/dsrdncsr.h
-
-**** Changes from 2016.02.20 (riesmeier)
-
-- Updated "DCM" codes for DICOM 2016a edition:
- Updated DICOM Controlled Terminology Definitions (Coding Scheme "DCM") for
- the official 2016a edition of the DICOM standard. The header file has been
- generated automatically from a machine-readable version of DICOM PS 3.16.
- There is now a total of 3358 codes for this coding scheme (i.e. DICOM codes).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
-
-- Updated context group classes for DICOM 2016a:
- Updated automatically generated context group classes from the DICOM Content
- Mapping Resource (DCMR) based on PS 3.16 from DICOM 2016a standard.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
- dcmsr/libcmr/cid100.cc
- dcmsr/libcmr/cid10013.cc
- dcmsr/libcmr/cid10033.cc
- dcmsr/libcmr/cid11.cc
- dcmsr/libcmr/cid244.cc
- dcmsr/libcmr/cid29.cc
- dcmsr/libcmr/cid4020.cc
- dcmsr/libcmr/cid4021.cc
- dcmsr/libcmr/cid4031.cc
- dcmsr/libcmr/cid42.cc
- dcmsr/libcmr/cid6147.cc
- dcmsr/libcmr/cid7021.cc
- dcmsr/libcmr/cid7181.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
- dcmsr/libcmr/cid7464.cc
- dcmsr/libcmr/cid7469.cc
-
-- Updated data dictionary for DICOM 2016a edition:
- Updated data dictionary for the latest edition of the DICOM standard, which
- has been released on 2016-02-19. This includes the new tags from Supplement
- 156, 181 and 184 as well as those from CP 1364, 1431, 1432, 1441, 1454,
- 1457, 1458, 1460, 1461, 1478 (WC), 1487, 1496, 1499, 1504 and 1516. Please
- note that some attributes changed their names and/or value multiplicity.
- In addition, new and modified tags from ASTM's DICONDE (Digital Imaging and
- Communication in Nondestructive Evaluation) standard have been incorporated.
- The total number of entries in the DICOM data dictionary is now 4032.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
- dcmrt/libsrc/drtbvcps.cc
-
-**** Changes from 2016.02.18 (riesmeier)
-
-- Added three new Storage SOP Classes from DICOS:
- Added three new Storage SOP Classes from DICOS (Digital Imaging and
- Communications in Security) standard: 2D AIT, 3D AIT and Quadrupole
- Resonance (QR). Actually, these SOP Classes were already introduced
- to the DICOM standard back in 2013 but have been added to the DCMTK
- just now. Further details on the underlying IODs are not known.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added missing Storage SOP Classes to manpage:
- Added missing Storage SOP Classes that are actually supported by the SCP
- (within the "movescu" tool). These SOP Classes were added during the
- previous months to the global list stored in "dcmAllStorageSOPClassUIDs".
- Affects: dcmnet/docs/movescu.man
-
-- Changed type of parameter to avoid warnings:
- Changed type of parameter/variable from Uint32 to size_t in order to avoid
- warnings reported by MSVC++ on Windows 64-bit systems.
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/libsrc/dcbytstr.cc
-
-**** Changes from 2016.02.17 (riesmeier)
-
-- Updated Makefile dependencies for module "dcmsr".
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/libcmr/Makefile.dep
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/Makefile.dep
-
-- Fixed issue with shared library build (MSVC++):
- Fixed issue with shared library build on Windows with Microsoft Visual C++.
- Now, the CMake option BUILD_SHARED_LIBS works again on both Linux with gcc
- and Windows with Visual C++, i.e. for ".so" and ".dll" files.
- C++ templates with explicit specialization and shared library support are
- really a nightmare, especially when the implementation of the C++ template
- class is not completely contained in a header file.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdncsr.h
- dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
-
-- Enhanced support for by-reference relationships:
- Further enhanced support for by-reference relationships: Now, the position
- string that is used to reference the target content item is also generated
- correctly when the document tree contains included (i.e. non-expanded)
- sub-templates. Also enhanced the existing test cases in order to check that
- it really works.
- Please pay attention to the new comment on updateByReferenceRelationships()
- and to the optional parameter that allows for updating subtrees managed by
- "included template" tree nodes.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/tsrtpl.cc
-
-- Further simplified DSRDocumentSubTree::print():
- Further simplified implementation of DSRDocumentSubTree::print() by making
- use of the new DSRIncludedTemplateNodeCursor class. Also added a new print
- flag that disables the counting of "included template" nodes. This flag is
- also passed to the tree node cursor class in order to correctly generate
- the position string.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdncsr.cc
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Made more use of new "included template" cursor:
- Made more use of the new DSRIncludedTemplateNodeCursor class (where
- appropriate).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
-
-- Added methods to get external cursor to root node:
- Added two methods that allow for getting an (external) cursor to the root
- node of the document tree, either an instance of DSRDocumentTreeNodeCursor
- or an instance of the recently introduced DSRIncludedTemplateNodeCursor.
- These cursors can be used to iterate over the nodes of the document tree
- without changing the internal cursor.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
-
-- Introduced new document tree node cursor:
- Introduced new DSRIncludedTemplateNodeCursor class, which allows for
- iterating "included template" tree nodes as if the subtree managed by
- them was already expanded. This will make iteration over such document
- trees much easier (but the implementation looks a bit more complex).
- This new class is just a specialization of the existing, but now also
- extended, C++ template class DSRTreeNodeCursor, which has received a
- second template parameter for this purpose.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/dsrdncsr.h
- dcmsr/libsrc/dsrdncsr.cc
- Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
- dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.in
- dcmsr/libsrc/dsrdoctn.cc
-
-- Enhanced output of print() for invalid references:
- Enhanced output of DSRByReferenceTreeNode::print() for unknown/invalid
- references. Now, a question mark "?" is printed if the position string
- of the referenced content item is empty.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/libsrc/dsrreftn.cc
-
-- Added optional flags to position counter:
- Added support for optional flags parameter to class DSRPositionCounter.
- This parameter can be used to customize the processing of the counter.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrposcn.h
- dcmsr/libsrc/dsrposcn.cc
-
-- Added getCurrentNode() method to tree class:
- Added getCurrentNode() method to document (sub)tree class. This new method
- allows for accessing the current tree node by means of a (constant) pointer,
- i.e. read-only. Also added a new test case for this particular method.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
-
-- Enhanced check for invalid characters:
- Now, the static function checkStringValue() - and all methods that use it -
- check for invalid characters in the given value. Currently, this only works
- for ASCII strings (default character repertoire) that contain non-ASCII
- characters, i.e. character codes > 127.
- This change requires that the Specific Character Set value is passed to the
- respective function/method since the default is ASCII (as it was before).
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dcchrstr.cc
- dcmdata/libsrc/dcerror.cc
- dcmdata/libsrc/dcvrpn.cc
- dcmdata/tests/tchval.cc
- dcmiod/libsrc/iodrules.cc
- dcmiod/libsrc/iodutil.cc
- dcmrt/include/dcmtk/dcmrt/drttypes.h
- dcmrt/libsrc/drttypes.cc
- dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/tsrdoc.cc
-
-- Set ASCII as default Specific Character Set:
- Now, the default value for the Specific Character Set is ASCII (empty
- Defined Term) and not "invalid".
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/tsrdoc.cc
-
-- Passed character set value to checkStringValue():
- Made sure that the current value of the Specific Character Set (0008,0005)
- is passed to the calls of checkStringValue() where applicable. There are
- still a few remaining calls where the placeholder "UNKNOWN" is used, which
- disables the underlying VR checker.
- Closes DCMTK Bug #565 (partially).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
- dcmsr/libsrc/dsrcsidl.cc
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrsoprf.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoc.cc
-
-- Fixed issue in one of the SR constraint checkers:
- Fixed issue in class DSRRadiopharmaceuticalRadiationDoseConstraintChecker:
- for Row 5 of the Table, the "targetValueType" was checked for "VT_PName"
- instead of the "sourceValueType".
- Thanks to forum user "Luuk" for the report and suggested fix.
- Affects: dcmsr/libsrc/dsrrrdcc.cc
-
-**** Changes from 2016.02.16 (schlamelcher)
-
-- Updated CHANGES.361 for new development snapshot.
- Affects: docs/CHANGES.361
-
-- Updated DCMTK_ABI_VERSION for new development snapshot.
- Affects: CMake/dcmtkPrepare.cmake
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/dcm2pdf.1
- doxygen/manpages/man1/dcm2pnm.1
- doxygen/manpages/man1/dcm2xml.1
- doxygen/manpages/man1/dcmcjpeg.1
- doxygen/manpages/man1/dcmcjpls.1
- doxygen/manpages/man1/dcmconv.1
- doxygen/manpages/man1/dcmcrle.1
- doxygen/manpages/man1/dcmdjpeg.1
- doxygen/manpages/man1/dcmdjpls.1
- doxygen/manpages/man1/dcmdrle.1
- doxygen/manpages/man1/dcmdspfn.1
- doxygen/manpages/man1/dcmdump.1
- doxygen/manpages/man1/dcmftest.1
- doxygen/manpages/man1/dcmgpdir.1
- doxygen/manpages/man1/dcmj2pnm.1
- doxygen/manpages/man1/dcml2pnm.1
- doxygen/manpages/man1/dcmmkcrv.1
- doxygen/manpages/man1/dcmmkdir.1
- doxygen/manpages/man1/dcmmklut.1
- doxygen/manpages/man1/dcmodify.1
- doxygen/manpages/man1/dcmp2pgm.1
- doxygen/manpages/man1/dcmprscp.1
- doxygen/manpages/man1/dcmprscu.1
- doxygen/manpages/man1/dcmpschk.1
- doxygen/manpages/man1/dcmpsmk.1
- doxygen/manpages/man1/dcmpsprt.1
- doxygen/manpages/man1/dcmpsrcv.1
- doxygen/manpages/man1/dcmpssnd.1
- doxygen/manpages/man1/dcmqridx.1
- doxygen/manpages/man1/dcmqrscp.1
- doxygen/manpages/man1/dcmqrti.1
- doxygen/manpages/man1/dcmquant.1
- doxygen/manpages/man1/dcmrecv.1
- doxygen/manpages/man1/dcmscale.1
- doxygen/manpages/man1/dcmsend.1
- doxygen/manpages/man1/dcmsign.1
- doxygen/manpages/man1/dcod2lum.1
- doxygen/manpages/man1/dconvlum.1
- doxygen/manpages/man1/drtdump.1
- doxygen/manpages/man1/dsr2html.1
- doxygen/manpages/man1/dsr2xml.1
- doxygen/manpages/man1/dsrdump.1
- doxygen/manpages/man1/dump2dcm.1
- doxygen/manpages/man1/echoscu.1
- doxygen/manpages/man1/findscu.1
- doxygen/manpages/man1/getscu.1
- doxygen/manpages/man1/img2dcm.1
- doxygen/manpages/man1/movescu.1
- doxygen/manpages/man1/pdf2dcm.1
- doxygen/manpages/man1/storescp.1
- doxygen/manpages/man1/storescu.1
- doxygen/manpages/man1/termscu.1
- doxygen/manpages/man1/wlmscpfs.1
- doxygen/manpages/man1/xml2dcm.1
- doxygen/manpages/man1/xml2dsr.1
-
-- Updated Makefile dependencies.
- Affects: dcmiod/libsrc/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmsr/apps/Makefile.dep
- dcmsr/libcmr/Makefile.dep
- dcmsr/libsrc/Makefile.dep
-
-**** Changes from 2016.02.15 (schlamelcher)
-
-- Added 'arith.h' to the list of installed files.
- Affects: CMakeLists.txt
- config/Makefile.in
-
-**** Changes from 2016.02.11 (riesmeier)
-
-- Updated documentation of setSpecificCharacterSet():
- Updated API documentation of method setSpecificCharacterSet(), e.g. made
- clear that multiple values are allowed and invalid values do not always
- result in an error.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/libsrc/dsrdoc.cc
-
-- Enhanced description of "charset" parameter:
- Enhanced description of "charset" parameter of the static function
- checkStringValue(). Explain that only ASCII and Latin-1 are checked.
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcvrlo.h
- dcmdata/include/dcmtk/dcmdata/dcvrlt.h
- dcmdata/include/dcmtk/dcmdata/dcvrpn.h
- dcmdata/include/dcmtk/dcmdata/dcvrsh.h
- dcmdata/include/dcmtk/dcmdata/dcvrst.h
- dcmdata/include/dcmtk/dcmdata/dcvruc.h
- dcmdata/include/dcmtk/dcmdata/dcvrut.h
-
-**** Changes from 2016.02.11 (onken)
-
-- Fixed use of checkStringValue():
- For some VR classes (DcmLongText, DcmShortText, DcmUnlimitedText) the method
- checkStringValue() expects the character set as the second parameter and not
- the VM as it is the case for most other VR classes. The related calls in
- dcmiod, dcmfg and dcmseg did not respect this deviating API, thus requiring
- the given fix which disables the value checking.
- Affects: dcmfg/include/dcmtk/dcmfg/fgderimg.h
- dcmfg/include/dcmtk/dcmfg/fgfracon.h
- dcmfg/libsrc/fgderimg.cc
- dcmfg/libsrc/fgfracon.cc
- dcmiod/include/dcmtk/dcmiod/iodmacro.h
- dcmiod/include/dcmtk/dcmiod/modequipment.h
- dcmiod/libsrc/iodmacro.cc
- dcmiod/libsrc/modequipment.cc
- dcmiod/libsrc/modgeneralimage.cc
- dcmseg/include/dcmtk/dcmseg/segment.h
- dcmseg/include/dcmtk/dcmseg/segtypes.h
- dcmseg/libsrc/segtypes.cc
-
-- Added UID validity checking.
- Affects: dcmseg/libsrc/segment.cc
-
-**** Changes from 2016.02.09 (riesmeier)
-
-- Added prefix "DCMTK_" to public macro:
- Added prefix "DCMTK_" to public macro "EXPLICIT_SPECIALIZATION", which is
- used for explicit template specialization. This name change should avoid
- possible conflicts. Also moved the macro definition in the "dcmsr" module
- to a header file and introduced protection against double definition.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dipxrept.h
- dcmsr/include/dcmtk/dcmsr/dsdefine.h
- dcmsr/libsrc/dsrimgfr.cc
- dcmsr/libsrc/dsrimgse.cc
- dcmsr/libsrc/dsrsc3gr.cc
- dcmsr/libsrc/dsrscogr.cc
- dcmsr/libsrc/dsrtcodt.cc
- dcmsr/libsrc/dsrtcosp.cc
- dcmsr/libsrc/dsrtcoto.cc
- dcmsr/libsrc/dsrwavch.cc
-
-**** Changes from 2016.02.09 (eichelberg)
-
-- Fixed uninitialized struct in libcharls decoder:
- Fixed unitialized struct in libcharls decoder that sometimes caused
- the decoder to refuse correctly compressed bitstreams.
- Thanks to Bruno Milutin <bmilutin@digithurst.de> for the bug report and fix.
- Affects: dcmjpls/libcharls/header.cc
-
-**** Changes from 2016.02.08 (riesmeier)
-
-- Added comment on missing conditional attribute:
- Added comment that the conditional attribute Pixel Origin Interpretation
- (0048,0301) is not yet supported by the DSRSpatialCoordinatesValue class.
- This attribute is required if the referenced SOP instance is a VL Whole
- Slide Microscopy Image.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrscovl.h
-
-**** Changes from 2016.02.08 (onken)
-
-- Added support for Correction Proposal CP-1496:
- Added Tracking ID and Tracking UID to Segmentation segments in order to allow
- tracking of lesions or other observations over time. This change was introduced
- in CP-1496.
- Acknowledgement: This work has been supported by the "QIICR" project.
- Affects: dcmseg/include/dcmtk/dcmseg/segment.h
- dcmseg/libsrc/segment.cc
-
-**** Changes from 2016.02.08 (riesmeier)
-
-- Fixed warnings when compiled without libxml:
- Fixed various warnings on unused variables when compiled without libxml.
- These warnings were reported by gcc 4.8.4 with additional flag "-Wextra".
- Affects: dcmdata/apps/dcmdump.cc
- dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsrdump.cc
- ofstd/libsrc/ofchrenc.cc
-
-**** Changes from 2016.02.07 (onken)
-
-- Fixed compiler warnings about unused parameters:
- Fixed compiler warnings about unused method parameters by adding either dummy
- uses, removing them from the parameter list (if possible, i.e. if not
- overwriting a derived function) or adding the corresponding checks.
- Also removed bonus functions which have still been marked as TODO.
- Added: dcmseg/apps/CMakeLists.txt
- Affects: dcmfg/include/dcmtk/dcmfg/fgfracon.h
- dcmfg/include/dcmtk/dcmfg/fgframevoilut.h
- dcmfg/include/dcmtk/dcmfg/fgpixmsr.h
- dcmfg/include/dcmtk/dcmfg/fgplanposvol.h
- dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
- dcmfg/libsrc/fgfracon.cc
- dcmfg/libsrc/fgframevoilut.cc
- dcmfg/libsrc/fgimagedatatype.cc
- dcmfg/libsrc/fgpixmsr.cc
- dcmfg/libsrc/fgplanposvol.cc
- dcmfg/libsrc/fgrealworldvaluemapping.cc
- dcmfg/libsrc/fgusimagedescription.cc
- dcmiod/include/dcmtk/dcmiod/modenhusimage.h
- dcmiod/include/dcmtk/dcmiod/modgeneralseries.h
- dcmiod/include/dcmtk/dcmiod/modimagepixel.h
- dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h
- dcmiod/include/dcmtk/dcmiod/modsynchronisation.h
- dcmiod/libsrc/iodmacro.cc
- dcmiod/libsrc/modenhusimage.cc
- dcmiod/libsrc/modenhusseries.cc
- dcmiod/libsrc/modgeneralseries.cc
- dcmiod/libsrc/modimagepixel.cc
- dcmiod/libsrc/modmultiframedimension.cc
- dcmiod/libsrc/modsynchronization.cc
- dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/libsrc/segdoc.cc
-
-- Add Referenced Performed Procedure Step Sequence.
- Affects: dcmiod/include/dcmtk/dcmiod/modgeneralseries.h
- dcmiod/libsrc/modgeneralseries.cc
-
-- Removed broken, unused, doublette method.
- Affects: dcmnet/include/dcmtk/dcmnet/dccftsmp.h
- dcmnet/libsrc/dccftsmp.cc
-
-- Allow access to Referenced PPS.
- Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/libsrc/segdoc.cc
-
-- Use position parameter.
- Affects: dcmseg/libsrc/segment.cc
-
-**** Changes from 2016.02.05 (riesmeier)
-
-- Fixed various warnings reported by "gcc -Wextra":
- Fixed various warnings on unused variables reported by gcc 4.8.4 with
- additional flag "-Wextra".
- Affects: dcmnet/libsrc/dstorscu.cc
- dcmnet/libsrc/scp.cc
- dcmrt/include/dcmtk/dcmrt/drmimage.h
- dcmrt/libsrc/drtmas.cc
- ofstd/libsrc/ofcmdln.cc
- ofstd/libsrc/offile.cc
- ofstd/libsrc/ofuuid.cc
- ofstd/libsrc/ofxml.cc
-
-- Restructured print() output of included templates:
- Removed printTemplate() method from DSRIncludedTemplateTreeNode since it is
- not needed any longer. Also fixed numbering of content items in included
- subtree (now depends on certain print flag).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrtpltn.cc
-
-- Overwrite isShort() in DSRIncludedTemplateTreeNode:
- Overwrite isShort() method in class DSRIncludedTemplateTreeNode. Since the
- base class DSRDocumentTreeNode always returns OFTrue, it makes sense to
- check the content in the derived tree node class. Of course, rendering a
- document tree with "included templates" is currently not supported, so the
- isShort() method is probably never really used in this context.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
- dcmsr/libsrc/dsrtpltn.cc
-
-- By default, convert wide char encoding to UTF-8:
- Changed default value of parameter "convert" for both the constructor and
- the set() method of the OFFilename class, which expects a "wchar_t *", from
- "OFFalse" to "OFTrue". That means, a character string that is passed with
- Windows UTF-16 encoding will be converted to UTF-8 (char *) encoding. This
- change of the default behavior makes sense since e.g. the output of an
- OFFilename instance to the logger always happens with UTF-8 encoding.
- Affects: ofstd/include/dcmtk/ofstd/offile.h
-
-- Fixed documentation of convertToWideCharString():
- Fixed documentation of parameter "toString" of convertToWideCharString():
- the value of this result variable might only be NULL if memory is exhausted.
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
-
-**** Changes from 2016.02.04 (riesmeier)
-
-- Changed print() output of included SR templates:
- Slightly changed the output of the print() method for "included template"
- tree nodes: The line indentation and output of the position counter is now
- also shown for this "internal" node (and not only for the included subtree);
- the position counter is increased by 1 as it is true for all other tree
- nodes, which makes it easier and more consistent when determining the target
- of by-reference relationships. However, there is still some work to do...
- Also, the separate line for the included SR template (starting with the text
- "# INCLUDE ...") is now printed by default. Therefore, the name of the print
- flag changed from PF_printXXX to PF_hideXXX.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/tsrcmr.cc
-
-- Further enhanced checkSubTreeConstraints():
- Added initial support for "included templates" to checkSubTreeConstraints().
- At least, subtrees with included SR templates are not rejected any longer.
- However, since no further checks are performed, a message is reported to the
- trace logger.
- Also added a new test case in order to check whether "included templates" are
- really accepted when inserting a sub-template into a root template (with an
- appropriate IOD constraint checker enabled).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/libsrc/dsrdocst.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrtpl.cc
-
-- Improved check for valid reference to SR template:
- Improved check for a valid reference (shared pointer) to the included SR
- template that is managed by this document tree node class.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/libsrc/dsrtpltn.cc
-
-- Enhanced documentation of constructor:
- Added a comment to the constructor that the template identification is also
- set if available from the referenced SR template.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
-
-- Made all canXXX() methods constant:
- Made methods canAddContentItem(), canAddByReferenceRelationship() and
- canInsertSubTree() constant since they do not modify the object.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
-
-**** Changes from 2016.02.03 (riesmeier)
-
-- Minor fixes to module page of "dcmsr".
- Affects: dcmsr/docs/dcmsr.dox
-
-**** Changes from 2016.02.02 (riesmeier)
-
-- Use addContentItem() for by-value relations only:
- Made clear that addContentItem() should be used for by-value relationships
- only. This is now also checked and a new test case makes sure that it works.
- Furthermore, do not accept the internal value type VT_includedTemplate for
- this method. All this is checked by the helper method canAddContentItem().
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
-
-- Reintroduced further methods from base class:
- Added various hasXXX() methods and countChildNodes() from the base classes
- to the derived template classes. All these methods are "constant", i.e. they
- do not change the object.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
-
-**** Changes from 2016.02.01 (riesmeier)
-
-- Enhanced support for by-reference relationships:
- Further enhanced support for by-reference relationships, e.g. by restoring
- these type of relationships on a clone of the document (sub)tree. Also report
- details to the debug logger if adding a by-reference relationship fails (for
- some reason). Finally, added an initial version of a new test case that should
- make sure that by-reference relationships work with "included templates".
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrtpl.cc
-
-- Added more iterator methods to template classes:
- Added more of the iterator methods from the base classes to the derived
- template classes, e.g. gotoRoot(), gotoChild(), gotoNext() or iterate().
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
-
-- Declared getParentNode() method "const":
- Now that OFStack::top() exists in a "const" version, there is not reason
- anymore not to declare the getParentNode() method "const". So just do it.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
-
-- Added "const" version of OFStack::top():
- Added "const" version of top() method to OFStack class as it is defined
- for the standard (STL) class std::stack. Also fixed various documentation
- related issues.
- Affects: ofstd/include/dcmtk/ofstd/ofstack.h
-
-- Removed unneeded type definitions for Windows:
- Removed unneeded type definitions introduced for calling functions from the
- "SNMP Utility Library" (snmpapi.dll) on the Windows operating system.
- Affects: dcmdata/libsrc/dcuid.cc
-
-- Fixed issue with getMACAddress() on Windows 8++:
- Fixed issue with getMACAddress() on some Windows 8 (and newer) systems.
- Removed unneeded call to SnmpExtensionQuery() that caused a crash on such
- systems.
- Thanks to forum user "andreasb" for the report and suggested fix, and to
- forum user "Rich in Soquel" for confirming that this fix also solves an
- issue on Windows 10.
- Closes DCMTK Bug #594 (hopefully)
- Affects: dcmdata/libsrc/dcuid.cc
-
-**** Changes from 2016.01.30 (riesmeier)
-
-- Extracted expandIncludedTemplates() method:
- Extracted code from createExpandedSubTree() for the new protected method
- expandIncludedTemplates(). This new method might be used in the future for
- expanding the current (sub)tree, i.e. without creating a new one.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
-
-- Never accept by-reference relations to templates:
- Never accept by-reference relationships to internal "included template"
- content items. This check might be useful for future SR templates that
- are implemented as part of the "dcmsr/cmr" submodule.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
-
-**** Changes from 2016.01.29 (riesmeier)
-
-- Overwrite print() method in document tree class:
- Overwrite print() method from base class (DSRDocumentSubTree) in document
- tree class in order to hide additional parameter(s) on the main API level.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/libsrc/dsrdoctr.cc
-
-- Further enhanced support for included templates:
- Enhanced support for included (non-expanded) templates in print() method of
- document (sub)tree class. Now, the position counter of nested content items
- also works correctly for these "virtual" content items (i.e. with included
- subtrees). Also the complexity of the print() method code could be reduced.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrtpltn.cc
-
-- Extracted position counter from cursor class:
- Extracted a new DSRPositionCounter class from the existing DSRTreeNodeCursor
- class. This will allow for enhancing the print() method of the document (sub)
- tree class, especially with regard to the support of included templates.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/dsrposcn.h
- dcmsr/libsrc/dsrposcn.cc
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libcmr/Makefile.dep
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
- dcmsr/tests/Makefile.dep
-
-- Declared some very simple methods "inline".
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
-
-- Use consistent spelling of the word "data set":
- Made sure that the spelling of the word "data set" is consistent (i.e. not
- "dataset") at least for the log messages of the main DICOM parser classes.
- Also fixed typos if encountered.
- Affects: dcmdata/apps/dcm2xml.cc
- dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcitem.cc
-
-- Added a warning on invalid attribute tags:
- Added a warning message on invalid DICOM elements in a dataset or item,
- i.e. elements with an attribute tag of the group 0x0000 to 0x0003, 0x0005,
- 0x0007 or 0xFFFF. Now, for both file meta information header and dataset
- a warning is reported.
- Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the original
- reports and a sample DICOM file.
- Affects: dcmdata/libsrc/dcitem.cc
-
-**** Changes from 2016.01.27 (riesmeier)
-
-- Fixed issue with addPersonObserver() in TID 1001:
- Fixed issue when calling addPersonObserver() in TID1001_ObservationContext
- for the first time _after_ addDeviceObserver() has already been called.
- According to the SR template specification, the person observers always have
- to be stored at the beginning of the subtree of the SR template, i.e. the
- root node changes in such a case. Modified the test case accordingly.
- Also see previous commit that fixes an issue on the basic tree class.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/libcmr/tid1001.cc
- dcmsr/tests/tsrcmr.cc
-
-- Fixed issue in addNode() of basic tree class:
- Fixed issue in addNode() method of basic tree class, which occurred when
- adding a node or subtree before the root node of the current tree. Added
- new test case in order to make sure that this never happens again.
- This issue has been found when adding a "Device Observer" before a "Person
- Observer" in TID 1001 (Observation Context). Also see next commit.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrtree.cc
-
-- Added another test for invalid unique identifiers.
- Affects: dcmdata/tests/tchval.cc
-
-**** Changes from 2016.01.26 (riesmeier)
-
-- Updated Makefile dependencies.
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/libsrc/Makefile.dep
- dcmdata/tests/Makefile.dep
- dcmfg/libsrc/Makefile.dep
- dcmimage/apps/Makefile.dep
- dcmimgle/apps/Makefile.dep
- dcmimgle/libsrc/Makefile.dep
- dcmiod/libsrc/Makefile.dep
- dcmiod/tests/Makefile.dep
- dcmjpeg/apps/Makefile.dep
- dcmjpls/apps/Makefile.dep
- dcmnet/apps/Makefile.dep
- dcmnet/libsrc/Makefile.dep
- dcmnet/tests/Makefile.dep
- dcmpstat/apps/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmpstat/tests/Makefile.dep
- dcmrt/apps/Makefile.dep
- dcmrt/libsrc/Makefile.dep
- dcmrt/tests/Makefile.dep
- dcmseg/libsrc/Makefile.dep
- dcmseg/tests/Makefile.dep
- dcmsign/apps/Makefile.dep
- dcmtls/libsrc/Makefile.dep
- dcmwlm/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.dep
-
-- Further enhanced example on included templates:
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/docs/dcmsr.dox
-
-- Added more header files to Doxygen documentation:
- Added header files with global definitions (in this case, transfer syntaxes
- and value representations) to the list of files that are processed by Doxygen.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/include/dcmtk/dcmdata/dcxfer.h
-
-- Added new output flag for writeXML():
- Added new output flag XF_addCommentsForIncludedTemplate for writeXML(), which
- allows for identifying the beginning and the end of included (non-expanded)
- templates by means of corresponding XML comments. This might be useful for
- debugging purposes.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrtpltn.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Added support for new Media Application Profiles:
- Added support for new Media Storage Application Profiles that were
- introduced with Supplement 180 (MPEG-4 AVC/H.264 Transfer Syntax):
- General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP@Level4.2
- for 2D video, for 3D video and stereo (STD-GEN-BD-MPEG4-HPLV42-2D,
- STD-GEN-BD-MPEG4-HPLV42-3D, STD-GEN-BD-MPEG4-SHPLV42).
- Closes DCMTK Conformance #641 and #643.
- Affects: dcmdata/apps/dcmgpdir.cc
- dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/libsrc/dcddirif.cc
- dcmjpeg/docs/dcmmkdir.man
-
-- Added support for Direcory Record Type "TRACT":
- Added support for new Directory Record Type "TRACT", which has been
- introduced with Supplement 181 (Tractography Results Storage SOP Class).
- Closes DCMTK Conformance #664.
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/include/dcmtk/dcmdata/dcdirrec.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcdirrec.cc
-
-- Fixed copying of tracking information (TID 1411):
- Fixed copying of tracking information from a referenced segmentation object:
- According to CP-1496 the Tracking ID and Tracking UID are stored in an item
- in the Segment Sequence, so further code is needed to find the appropriate
- item. Also adapted the test case accordingly.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h
- dcmsr/libcmr/tid1411.cc
- dcmsr/tests/tsrcmr.cc
-
-- Added new variant of setRealWorldValueMap():
- Added new variant of adding/setting a real world value map to the template
- (TID 1411 - Row 14). SOP Class UID and SOP Instance UID are copied from a
- given DICOM dataset (similar to setReferencedSegment() which has been added
- by the previous commit).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h
- dcmsr/libcmr/tid1411.cc
- dcmsr/tests/tsrcmr.cc
-
-**** Changes from 2016.01.25 (riesmeier)
-
-- Added new variant of setReferencedSegment():
- Added new variant of adding/setting a referenced segment to the template
- (TID 1411 - Row 7). According to CP-1494 the Tracking ID and Tracking UID
- should be consistent with the corresponding element values of the referenced
- DICOM dataset (if present).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h
- dcmsr/libcmr/tid1411.cc
- dcmsr/tests/tsrcmr.cc
-
-- Fixed references to DICOM Correct Items (CP-xxx).
- Affects: dcmsr/libcmr/tid1600.cc
- dcmsr/libsrc/dsrbascc.cc
- dcmsr/libsrc/dsrcomcc.cc
- dcmsr/libsrc/dsrenhcc.cc
- dcmsr/libsrc/dsrxrdcc.cc
- dcmsr/tests/mkreport.cc
-
-- Added support for "Station AE Title" to TID 1004:
- Added support for new optional content item "Station AE Title" to TID 1004
- (Device Observer Identifying Attributes). Also added required code definition
- to "DCM" coding scheme. These changes were introduced with CP-1516.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
- dcmsr/include/dcmtk/dcmsr/codes/dcm.h
- dcmsr/libcmr/tid1001.cc
- dcmsr/tests/tsrcmr.cc
-
-- Added support for recently approved CPs:
- Added support for CP-1460, CP-1496, CP-1499, CP-1504 and CP-1516 to the
- data dictionary. These CPs were approved during last weeks WG-06 meeting.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-- Changed handling of "Qualitative Evaluations":
- Slightly changed handling of "Qualitative Evaluations" (TID 1500 - Row 12
- to 14). Previously, the CONTAINER in Row 12 was always created. Now, it is
- only added if qualitative evaluations are present. This change follows the
- clarification made in the upcoming CP-1579.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
- dcmsr/libcmr/tid1500.cc
- dcmsr/tests/tsrcmr.cc
-
-- Added comments on what's "to be done" (tbd).
- Affects: dcmsr/libsrc/dsrdocst.cc
-
-- Added new method getSOPClassName():
- Added new convenience method getSOPClassName() that allows for retrieving
- the name that is associated with the SOP class UID (if any).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
- dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrsoprf.cc
-
-- Added example for using SR templates:
- Added simple example (based on TID 1500) that shows how to use SR templates.
- Also revised the first example in order to demonstrate some enhancements
- that were made on the DICOM SR API during the last couple of months.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/docs/dcmsr.dox
-
-- Added support of TID 1411 to TID 1500:
- Added support of TID 1411 (Volumetric ROI Measurements) and included
- templates to TID 1500 (Measurement Report). Now, the implementation of
- class TID1500_MeasurementReport is complete in terms of what is required
- by the DICOM standard and what is needed for QIICR's "Measurements SR"
- converter. Also completed corresponding test case for TID 1500.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/tid1500.cc
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tsrcmr.cc
-
-- Added support for TID 1411 and included templates:
- Added initial support for TID 1411 (Volumetric ROI Measurements) and
- included templates TID 1502 and TID 1419. This is the first generic SR
- template that has been implemented for this toolkit, i.e. it has SR
- template parameters that are directly mapped to C++ template types.
- Current support for TID 1411 is focussed on the use within TID 1500
- (Measurement Report), which will be added by the next commit.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h
- dcmsr/libcmr/tid1411.cc
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/Makefile.dep
-
-- Changed default value of "expandTree" parameter:
- The default value of the "expandTree" parameter of the
- DSRDocument::setTreeFromRootTemplate() method changed from OFFalse to OFTrue.
- This is because some output methods like write() or renderHTML() do not yet
- work on document trees that contain "included template" nodes.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/tests/tsrtpl.cc
-
-- Added method that returns the position counter:
- Added method that returns the value of the position counter on the current
- level, i.e. 1 for the first child, 2 for the second child, and so on.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
-
-- Slightly changed name of some UCUM codes:
- The name of some UCUM (Unified Code for Units of Measure) code definitions
- changed due to a slighly revised algorithm that generates these names
- automatically from the official code meaning (see DICOM PS 3.16). Some code
- names (like e.g. for "cm" or "s") now start with a lower case letter, which
- is more intuitive.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
- dcmsr/include/dcmtk/dcmsr/codes/ucum.h
- dcmsr/libcmr/tid1600.cc
- dcmsr/tests/tsrcmr.cc
-
-- Added further SRT codes needed for QIICR:
- Added further SNOMED-RT (RT) codes that are needed for the "Measurements SR"
- converter of the QIICR (Quantitative Image Informatics for Cancer Research)
- project.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h
-
-**** Changes from 2016.01.22 (riesmeier)
-
-- Removed renderHTML() function from subtree class:
- Removed renderHTML() functionality from subtree and SR template classes
- since rendering parts of an SR document in HTML format doesn't make much
- sense. Also rendering document trees that contain included (non-expanded)
- templates isn't supported yet. This might change in the future.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
-
-- Removed write() functionality from subtree class:
- Removed write() functionality from subtree and SR template classes since
- writing valid DICOM SR objects does not work (yet) on this level. Also
- writing of document trees that contain included (non-expanded) templates
- isn't supported yet. This might change in the future.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrtpltn.cc
-
-**** Changes from 2016.01.22 (onken)
-
-- Renamed method name for consistency.
- Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h
- dcmiod/libsrc/cielabutil.cc
- dcmiod/tests/tcielabutil.cc
-
-**** Changes from 2016.01.22 (riesmeier)
-
-- Minor fixes to API documentation.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
-
-- Moved renderHTML() to DSRDocumentSubTree:
- Moved second variant of the renderHTML() method, i.e. the one with less
- parameters, from class DSRDocumentTree to DSRDocumentSubTree. By doing so,
- the same method call can be used for both root and non-root templates.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
-
-- Added check for included templates to renderHTML():
- Added check for included (non-expanded) templates to renderHTML() method.
- In such a case, a new error code SR_EC_CannotProcessIncludedTemplates is
- returned. Rendering these kind of documents is something that might be
- supported in the future.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrtpltn.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Fixed issue with renderHTML() for document subtree:
- Fixed an issue when using renderHTML() for a document subtree that does not
- have a single root node, e.g. for a sub-template like TID 1001 (Observation
- Context).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/libsrc/dsrdocst.cc
-
-- Fixed wrong output of node ID in print():
- Fixed wrong output of node ID for "included templates" in print() method.
- Affects: dcmsr/libsrc/dsrdocst.cc
-
-- Fixed issue with writeXML() for document subtree:
- Fixed an issue when using writeXML() for a document subtree that does not
- have a single root node, e.g. for an included sub-template like TID 1001
- (Observation Context).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/libsrc/dsrdocst.cc
-
-- Used hasTemplateIdentification() method more often.
- Affects: dcmsr/libsrc/dsrdoctn.cc
-
-**** Changes from 2016.01.21 (riesmeier)
-
-- Fixed minor issues with Doxygen documentation:
- Also fixed some typos and made source code formatting more consistent.
- Affects: dcmdata/apps/mdfdsman.h
- dcmdata/include/dcmtk/dcmdata/dcmetinf.h
- dcmdata/include/dcmtk/dcmdata/dcvrulup.h
- dcmnet/include/dcmtk/dcmnet/dccftsmp.h
- ofstd/include/dcmtk/ofstd/ofcmdln.h
- ofstd/include/dcmtk/ofstd/oftempf.h
-
-- Added isComplete() to composite reference class:
- Added new method isComplete() to DSRCompositeReferenceValue, which checks
- whether the mandatory components are present (non-empty). This is a more
- basic check than isValid(). However, it is not the counterpart of isEmpty().
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
- dcmsr/libsrc/dsrcomvl.cc
-
-- Added support for new UID from Supplement 181:
- Added support for new Storage SOP Class UID from Supplement 181
- (Tractography Results Storage SOP Class).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added test for recently introduced VR "Other Long".
- Added: dcmdata/tests/tvrol.cc
- Affects: dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.dep
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
-
-- Added support for Supplement 181 to dictionary:
- Added support for the final text version of Supplement 181 (Tractography
- Results Storage SOP Class) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-- Added helper function putAndInsertUint32Array():
- Added helper function putAndInsertUint32Array() that can be used for both
- Unsigned Long (UL) and Other Long (OL) elements.
- Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/libsrc/dcitem.cc
-
-- Added support for new value representation "OL":
- Added support for new value representation "Other Long" (OL) that has been
- introduced only recently with Supplement 181 (Tractography Results Storage
- SOP Class).
- Closes DCMTK Conformance #664 (partially).
- Added: dcmdata/include/dcmtk/dcmdata/dcvrol.h
- dcmdata/libsrc/dcvrol.cc
- Affects: dcmdata/apps/dump2dcm.cc
- dcmdata/docs/dump2dcm.man
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dctk.h
- dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/include/dcmtk/dcmdata/dcvrul.h
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/Makefile.in
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcvr.cc
- dcmdata/libsrc/dcvrul.cc
- dcmdata/tests/telemlen.cc
- dcmdata/tests/tests.cc
-
-- Made use of isAffectedBySpecificCharacterSet():
- Use isAffectedBySpecificCharacterSet() instead of checking the VRs that
- are affected by the specific character set manually. This should make sure
- that new VRs are not forgotten (like in this case "UC").
- Affects: dcmdata/apps/xml2dcm.cc
-
-- Changed name of dcmEnableXXX global variables:
- Changed name of global variable dcmEnableOtherFloatStringVRGeneration and
- dcmEnableOtherDoubleStringVRGeneration: removed the term "String" from the
- names. This change should be harmless since most people will probably use
- the global function dcmEnable/DisableGenerationOfNewVRs() - if at all.
- Also see commit 280638e.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/libsrc/dcvr.cc
-
-- Removed unneeded includes and fixed comments.
- Affects: dcmdata/libsrc/dcvrfl.cc
- dcmdata/libsrc/dcvrod.cc
- dcmdata/libsrc/dcvrof.cc
-
-- Fixed wrong use of getVM() in print() method:
- Since the derived class DcmOtherDouble always has a value multiplicity of 1
- getVM() cannot be used to determine the number of values stored. So, use
- the length field instead (as in other similar cases).
- Affects: dcmdata/libsrc/dcvrfd.cc
-
-**** Changes from 2016.01.21 (onken)
-
-- FormatMessage() instead of hand-crafted switch():
- Use FormatMessage() in order to get an error code description instead of
- enumerating all string values in a switch() statement. Made Unix strerror()
- call thread-safe by using OFStandard version. Fixed typo.
- Affects: dcmnet/libsrc/diutil.cc
-
-**** Changes from 2016.01.20 (riesmeier)
-
-- Enhanced API documentation:
- Slightly enhanced API documentation on class DSRTreeNodeCursor.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
-
-- Removed empty source file for DSRTreeNodeCursor:
- Removed empty source file for the DSRTreeNodeCursor class. The
- implementation of the template class has been moved to the header file
- with commit 6171318. Some linkers complained about the empty file.
- Removed: dcmsr/libsrc/dsrtncsr.cc
- Affects: dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
-
-- Moved some print() code from node to tree class:
- Moved some code from the print() method of the DSRIncludedTemplateTreeNode
- class to the print() method of the DSRDocumentSubTree class.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrtpltn.cc
-
-- Added method to compare template identification:
- Added method to the document subtree, tree node and SR template classes that
- allows for an easier comparison of the template identification.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
- dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/libsrc/dsrctpl.cc
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/tests/tsrcmr.cc
- dcmsr/tests/tsrtpl.cc
-
-- Added further SRT codes needed for TID 1500:
- Added further SNOMED-RT codes that are needed for TID 1500 (Measurement
- Report) and included sub-templates.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h
-
-- Modified readable name of internal types:
- Slightly changed readable name of internal relationship type RT_isRoot and
- internal value type VT_includedTemplate. This might be useful for debugging
- purposes.
- Affects: dcmsr/libsrc/dsrtypes.cc
-
-- Fixed issue with definition of E_ValueType:
- When the new (internal) value type VT_includedTemplate was introduced,
- the indicator for the last entry in the enum (VT_last) has not been
- updated. This impacted the various valueTypeToXXX() helper functions.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
-
-**** Changes from 2016.01.20 (onken)
-
-- Removed accidentially checked-in test code.
- Affects: dcmnet/apps/dcmrecv.cc
-
-- Better logging of select() on network:
- When waiting for network data using select() it has not been distinguishable
- whether a regular timeout occurred or if another error (such as an interrupt)
- interrupted the call. Now, debug output is written in order to make it easier
- to see what exactly happened (especially in case of errors).
- Thanks to forum user michael12345 for the report.
- Affects: dcmnet/apps/dcmrecv.cc
- dcmnet/include/dcmtk/dcmnet/diutil.h
- dcmnet/libsrc/assoc.cc
- dcmnet/libsrc/dcmtrans.cc
- dcmnet/libsrc/diutil.cc
- dcmnet/libsrc/dul.cc
- dcmnet/libsrc/dulextra.cc
- dcmnet/libsrc/dulfsm.cc
- dcmpstat/tests/msgserv.cc
- dcmtls/libsrc/tlstrans.cc
-
-**** Changes from 2016.01.19 (riesmeier)
-
-- Do no treat empty included template as error:
- Made sure that an empty included template is not treated as an error in the
- various output methods like writeXML() or renderHTML(). Instead, EC_Normal
- is returned (see API documentation).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
- dcmsr/libsrc/dsrtpltn.cc
-
-- Output numeric value qualifier in print():
- Added output of optional numeric value qualifier in print() method if the
- numeric measurement value is empty.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/libsrc/dsrnumvl.cc
-
-**** Changes from 2016.01.19 (onken)
-
-- Avoid warning if size_t mismatches unsigned long.
- Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h
-
-- Avoid warning when initialzing srand():
- Some systems report a warning when using time_t to initialize srand().
- A cast was added which should be safe since we are not interested into
- the exact number time() returns but in a "random" initialization value.
- Affects: dcmiod/tests/tcielabutil.cc
-
-- Fixed #define for including time.h.
- Affects: dcmiod/tests/tcielabutil.cc
-
-**** Changes from 2016.01.19 (riesmeier)
-
-- Enhanced error checking of writeXML() method:
- Enhanced error checking of writeXML() method, i.e. made sure that errors
- caused by nested elements are actually reported to the caller. This also
- required a minor change in the "dcm2xml" command line tool.
- Affects: dcmdata/apps/dcm2xml.cc
- dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcmetinf.cc
- dcmdata/libsrc/dcsequen.cc
-
-- Used more specific conditions than EC_IllegalCall:
- Used more specific condition codes than EC_IllegalCall when there is an
- issue with the character set options or the character set encoding of the
- DICOM dataset.
- Affects: dcmdata/apps/dcm2xml.cc
-
-**** Changes from 2016.01.18 (onken)
-
-- Added missing shared library export macro.
- Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h
-
-**** Changes from 2016.01.18 (riesmeier)
-
-- Added class CMR_SRNumericMeasurementValueWithUnits:
- Introduced derived template class CMR_SRNumericMeasurementValueWithUnits
- that allows for checking the measurement unit based on a given context group
- (baseline or defined group). Also added new test cases for this purpose.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/srnumvlu.h
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
- dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrcmr.cc
-
-- Defined short names for CID and TID classes:
- Defined short names for context group (CID) and template (TID) classes
- as an alternative to the existing long names. The nomenclature of these
- type definitions is: CMR_CIDnnn (with "nnn" being the numeric identifier
- of the context group) or CMR_TIDnnn (with "nnn" being the numeric ID of
- the SR template), respectively.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10013e.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033e.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
- dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
- dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h
- dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
- dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
- dcmsr/tests/tsrcmr.cc
-
-**** Changes from 2016.01.18 (onken)
-
-- Utilities for conversion between CIELab and RGB.
- Added: dcmiod/include/dcmtk/dcmiod/cielabutil.h
- dcmiod/libsrc/cielabutil.cc
- dcmiod/tests/CMakeLists.txt
- dcmiod/tests/Makefile.dep
- dcmiod/tests/tcielabutil.cc
- dcmiod/tests/tests.cc
- Affects: COPYRIGHT
- dcmiod/CMakeLists.txt
- dcmiod/Makefile.in
- dcmiod/libsrc/CMakeLists.txt
- dcmiod/libsrc/Makefile.dep
- dcmiod/libsrc/Makefile.in
- dcmiod/tests/Makefile.in
-
-**** Changes from 2016.01.15 (riesmeier)
-
-- Overwrite setValue() methods from base class:
- Added setValue() methods that expect a CID42_NumericValueQualifier instance
- for the "valueQualifier" parameter instead of a simple DSRCodedEntryValue.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
- dcmsr/libcmr/srnumvl.cc
-
-- Avoid output of pixel items in Native DICOM Model:
- Added check for Native DICOM Model in writeXML() method of class DcmPixelItem
- and return an error since output in this format is not supported.
- Affects: dcmdata/libsrc/dcpxitem.cc
-
-**** Changes from 2016.01.14 (riesmeier)
-
-- Fixed memory leak reported by valgrind:
- Fixed memory leak ("still reachable blocks" at program exit) that was reported
- by valgrind in CMR_ContentMappingResource::cleanupAllContextGroups(). Instead
- of cleanup() the initialize() function was called for the CID 7469 class.
- Affects: dcmsr/libcmr/init.cc
-
-- Used CMR_SRNumericMeasurementValue more often:
- Replaced type of numeric value parameters in public API from class
- DSRNumericMeasurementValue by derived class CMR_SRNumericMeasurementValue
- which provides additional checks, e.g. on the code used for the optional
- value qualifier (CID 42).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/tid1600.cc
- dcmsr/tests/Makefile.dep
-
-- Enhanced class CMR_SRNumericMeasurementValue:
- Enhanced implementation of derived class CMR_SRNumericMeasurementValue:
- added further constructor for "value qualifier" and copy constructor for
- DSRNumericMeasurementValue, changed parameters of setNumericValueQualifier()
- and added new tests.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
- dcmsr/libcmr/srnumvl.cc
- dcmsr/tests/tsrcmr.cc
-
-**** Changes from 2016.01.13 (riesmeier)
-
-- Added support for recently added Context Groups:
- Added support for recently added Context Group CID 6147, 7181, 7464 and 7469.
- These groups were still missing in the global initialize/cleanup() methods.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/init.cc
-
-- Added more header files to Doxygen documentation:
- Added header files with global definitions (in this case, error constants)
- to the list of files that are processed by Doxygen.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
- dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
-
-- Made sure file is processed by Doxygen:
- Made sure that the header file is processed by Doxygen since it contains
- some interesting (and also documented) global variables/settings. Fixed
- a couple of typos and other minor issues related to the documentation.
- Affects: dcmdata/include/dcmtk/dcmdata/dcobject.h
-
-- Replaced call of isValid() by isComplete():
- Replaced call of DSRCodedEntryValue::isValid() by the recently introduced
- isComplete() method where appropriate. Also fixed a couple of wrong calls of
- addChildContentItem() instead of addContentItem(), which makes no difference
- for an empty document tree anyway.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/libcmr/tid1500.cc
- dcmsr/libcmr/tid1600.cc
-
-- Always pass "check" parameter to addContentItem().
- Affects: dcmsr/libcmr/tid1001.cc
- dcmsr/libcmr/tid1204.cc
- dcmsr/libcmr/tid1500.cc
- dcmsr/libcmr/tid1600.cc
-
-- Flag for default creation of empty image library:
- Added optional flag to the constructor that allows for disabling the default
- creation of an empty image library. This approach is now consistent with the
- upcoming class for TID 1411 (Volumetric ROI Measurements).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
- dcmsr/libcmr/tid1600.cc
-
-- Allowed read-only access to frame/segment list:
- Added const variants of getFrame/SegmentList(), e.g. in order to check the
- number of items stored in the list.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
-
-- Enhanced check on Segmentation objects:
- Enhanced check on DICOM Segmentation objects that are referenced by an
- instance of DSRImageReferenceValue. On the one hand, the list of known
- Storage SOP Classes has been updated for the latest edition of the
- DICOM standard (2015c); the Surface Segmentation object was missing.
- On the other hand, the list of referenced segment numbers is only allowed
- for Segmentation objects, which is now also checked.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/libsrc/dsrimgvl.cc
-
-- Added further constructor and setValue() method:
- Added another constructor and setValue() method which accept a coded entry
- representing the numeric value qualifier, i.e. the reason why the numeric
- value and measurement unit are absent.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/tests/tsrnumvl.cc
-
-- Added method isComplete() to numeric value class:
- Added new method isComplete() to DSRNumericMeasurementValue, which checks
- whether the mandatory components are present (and complete). This is a much
- more basic check than isValid() provides. However, it is not the counterpart
- of isEmpty().
- Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/tests/tsrnumvl.cc
-
-- Checked standard for defined Waveform objects:
- Checked current edition of the DICOM standard (2015c) for the list of
- defined Waveform objects and updated the documentation accordingly.
- Since the last check (DICOM 2014a), no new SOP Classes were added.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
- dcmsr/libsrc/dsrwavvl.cc
-
-- Minor fixes to API documentation.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
-
-- Harmonized log output of DICOM attribute names:
- Don't mix keywords (CamelCase) with attribute names anymore. Always use the
- official attribute names in log messages, i.e. with space characters. Of
- course, this only applies to manually written messages. In case the name
- is derived automatically from the attribute tag, the official keyword from
- the DICOM data dictionary (PS 3.6) is used.
- Affects: dcmsr/libsrc/dsrcodvl.cc
- dcmsr/libsrc/dsrcsidl.cc
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrsc3vl.cc
- dcmsr/libsrc/dsrscovl.cc
- dcmsr/libsrc/dsrtcovl.cc
-
-- Added initial version of NCIt code definitions:
- Added initial version of the NCI Thesaurus (Coding Scheme "NCIt") code
- definitions as used/defined by the DICOM standard.
- The code definitions are generated semi-automatically from the machine-readable
- DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That
- means that the definitions will be updated from time to time as the standard
- evolves. However, please be warned that the names of the constants/defines
- might change in the future (hopefully, there will be official keywords in the
- standard like they are for the DICOM attribute tags in PS 3.6).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/codes/ncit.h
-
-**** Changes from 2016.01.12 (riesmeier)
-
-- Allowed public access to referenced template:
- Allowed public access (get and set method) to the referenced template that
- is managed by the class DSRIncludedTemplateTreeNode. That way, there is no
- need any more for the inelegant "friend" declaration. Also the API is now
- more consistent with other "node" classes, even though this class is used
- only for internal purposes.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrtpltn.cc
-
-- Fixed minor issues when using C++11 STL:
- Fixed minor issues when compiling with gcc 4.8.4 and C++11 STL enabled.
- In C++11 mode, some implicit type conversions do not seem to work, so
- make them more explicit.
- Affects: dcmsr/libsrc/dsrtpltn.cc
- dcmsr/tests/tsrtpl.cc
-
-**** Changes from 2016.01.11 (onken)
-
-- Fixed DCMTK C++11 STL-enabled build:
- Missing include led to failures since std::cout could not be found any more.
- Affects: ofstd/libsrc/ofmath.cc
-
-**** Changes from 2016.01.11 (riesmeier)
-
-- Fixed another issue with createExpandedSubTree():
- When an empty "included template" content item was processed, i.e. removed
- from the resulting document tree, the next content item was skipped by
- mistake. This was detected when enhancing a test case for the upcoming
- support of TID 1411 (which is included in TID 1500 - Row 8).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/libsrc/dsrdocst.cc
-
-- Avoid checking the pointer returned by getNode():
- Avoid checking the pointer returned by getNode() method if it is clear that
- it cannot be NULL, e.g. because the internal cursor has already been checked
- for validity or a previous call of an iteration method returned a non-zero
- value.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/tests/tsrtree.cc
-
-- Enhanced derived implementation of countNodes():
- Enhanced implementation of countNodes() in derived document tree classes by
- providing two optional flags that allow for specifying how to count
- and process "included templates", e.g. whether the content of included (but
- not expanded) sub-templates is counted like a normal subtree with all of its
- nodes.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
-
-- Added new method isCursorValid():
- Added method that checks whether the internal cursor of a document tree,
- which points to the current content item, is valid. This new method is also
- available to the derived SR template classes.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/libsrc/dsrdocst.cc
-
-**** Changes from 2016.01.10 (onken)
-
-- Fixed typo in error message.
- Affects: dcmfg/libsrc/fginterface.cc
-
-- Fixed bug when packaging binary segmentations:
- Segmentations bits are filled into the byte from right to left, i.e. starting
- from the least significant bit of the first byte to the most significant bit
- of the last byte in the Pixel Data element. The old implementation filled the
- bytes in the correct order, however, the bits have been filled in from the
- wrong order. This was discovered since another implementation was available for
- interoperability testing.
- Acknowledgement: This work has been supported by the "QIICR" project.
- Affects: dcmseg/libsrc/segutils.cc
-
-- Fixed comment.
- Affects: dcmseg/libsrc/segdoc.cc
-
-**** Changes from 2016.01.08 (riesmeier)
-
-- Updated Makefile dependencies.
- Affects: dcmsr/libcmr/Makefile.dep
- dcmsr/libsrc/Makefile.dep
-
-- Fixed issue expanding empty included template:
- Fixed an issue that occurred when trying to expand a document tree that
- contains an empty included template. This resulted in an error status
- returned by DSRDocumentSubTree::createExpandedSubTree().
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/libsrc/dsrdocst.cc
-
-- Added support for CID 6147, 7181, 7464 and 7469:
- Added support for Context Group CID 6147 (Response Criteria), CID 7181
- (Abstract Multi-dimensional Image Model Component Units), CID 7464 (General
- Region of Interest Measurement Modifiers) and 7469 (Generic Intensity and
- Size Measurements), which will be needed for using the upcoming template
- class of TID 1411 (Volumetric ROI Measurements) within TID 1500 (Measurement
- Report). As always, all these new files were generated automatically.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
- dcmsr/libcmr/cid6147.cc
- dcmsr/libcmr/cid7181.cc
- dcmsr/libcmr/cid7464.cc
- dcmsr/libcmr/cid7469.cc
- Affects: dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.in
-
-- Regenerated context groups with new script version:
- Regenerated all context group header and source files with a new version
- of the XSLT script. There was only a single change in the name of an enum.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/libcmr/cid100.cc
- dcmsr/libcmr/cid10013.cc
- dcmsr/libcmr/cid10033.cc
- dcmsr/libcmr/cid11.cc
- dcmsr/libcmr/cid244.cc
- dcmsr/libcmr/cid29.cc
- dcmsr/libcmr/cid4020.cc
- dcmsr/libcmr/cid4021.cc
- dcmsr/libcmr/cid4031.cc
- dcmsr/libcmr/cid42.cc
- dcmsr/libcmr/cid7021.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
-
-- Fixed imprecise documentation of parameter:
- Distinguish more clearly between "numeric value" and "measurements".
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
- dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/libsrc/dsrnumvl.cc
-
-**** Changes from 2016.01.07 (riesmeier)
-
-- Fixed minor Doxygen-related issues:
- Also updated the copyright date (where appropriate).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/libsrc/dsrdoctn.cc
-
-- Added new method hasExtendedCodedEntries():
- Added new method hasExtendedCodedEntries() to the context group base
- class, which allows for checking whether the group has any extended,
- i.e. non-standard coded entries. Also changed two virtual functions
- to "inline" (as it was intended).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
- dcmsr/libsrc/dsrctxgr.cc
- dcmsr/tests/tsrcmr.cc
-
-- Introduced new printExtended() method:
- Extracted output of extended information on a content item from the general
- print() method of the DSRDocumentSubTree class and moved this code to the
- new printExtended() method of the DSRDocumentTreeNode class. In other words,
- the resulting output is the same but the internal structure is now clearer.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctn.cc
-
-- Fixed wrong call of gotoLastEntryFromNodeList():
- Replaced wrong call of gotoLastEntryFromNodeList() by gotoEntryFromNodeList().
- In practice, this should make no difference but now the correct function is
- called.
- Affects: dcmsr/libcmr/tid1500.cc
-
-**** Changes from 2016.01.06 (riesmeier)
-
-- Added full support for qualitative evaluations:
- Added full support for qualitative evaluations (TID 1500 - Row 13 and 14),
- e.g. for categorial observations that are related to the entire subject of
- the report rather than specific measurement groups (DICOM PS 3.16).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
- dcmsr/libcmr/tid1500.cc
- dcmsr/tests/tsrcmr.cc
-
-- Added new method isComplete() to coded entry class:
- Added new method isComplete() to DSRCodedEntryValue, which checks whether
- the three mandatory components of a code are non-empty. This is a much more
- basic check than isValid() provides.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/libsrc/dsrcodvl.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrcodvl.cc
-
-- Added new condition constant and fixed memory leak:
- Introduced new condition constant that is used when no image library entry
- descriptors have been added (i.e. copied from a given dataset). Also fixed
- a possible memory leak that could occur in such a case.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
- dcmsr/libcmr/tid1600.cc
-
-- Added new parameter to gotoLastEntryFromNodeList():
- Added optional parameter "firstPos" to gotoLastEntryFromNodeList(), which
- allows for stopping the search process at a particular node list entry.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
- dcmsr/libcmr/tid1500.cc
- dcmsr/libsrc/dsrctpl.cc
-
-- Added optional "check" parameter to addContentItem:
- Added optional "check" parameter to convenience methods addContentItem()
- and addChildContentItem().
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
-
-- Enhanced hasXXX() by adding an optional parameter:
- Enhanced hasImagingMeasurements() and hasQualitativeEvaluations() by adding
- an optional parameter that allows for checking whether the respective content
- item has any children (i.e. real content). Since the child nodes are optional
- the default is not to check for children.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
- dcmsr/include/dcmtk/dcmsr/dsrctpl.h
- dcmsr/libcmr/tid1500.cc
- dcmsr/libsrc/dsrctpl.cc
- dcmsr/tests/tsrcmr.cc
-
-- Slightly reworked use of xxx_RESULT helper macros:
- Introduced new helper macros GOOD_RESULT and BAD_RESULT. Replaced helper
- macro DELETE_ERROR by an appropriate use of the new macro BAD_RESULT.
- In general, used the helper macros more often in order to increase the
- readability of the source code.
- Affects: dcmsr/libcmr/tid1001.cc
- dcmsr/libcmr/tid1204.cc
- dcmsr/libcmr/tid1500.cc
- dcmsr/libcmr/tid1600.cc
-
-- Changed variable name for reasons of consistency.
- Affects: dcmsr/libcmr/srnumvl.cc
-
-- Added preliminary support for TID 1500 - Row 12:
- Added preliminary support for the conditional CONTAINER content item
- "Qualitative Evaluations" (TID 1500 - Row 12), which seems to be required
- according to the condition given in the template definition table. Support
- for the child content items (CODE and TEXT) will follow in a separate commit.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/tid1500.cc
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tsrcmr.cc
-
-- Added initial version of UMLS code definitions:
- Added initial version of Unified Medical Language System (Coding Scheme
- "UMLS") code definitions as used/defined by the DICOM standard.
- The code definitions are generated automatically from the machine-readable
- DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That
- means that the definitions will be updated from time to time as the standard
- evolves. However, please be warned that the names of the constants/defines
- might change in the future (hopefully, there will be official keywords in the
- standard like they are for the DICOM attribute tags in PS 3.6).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/codes/umls.h
-
-**** Changes from 2016.01.05 (riesmeier)
-
-- Added links to implemented SR templates:
- Added links to the currently implemented SR templates to the Doxygen
- documentation of the "dcmsr" module.
- Affects: dcmsr/docs/dcmsr.dox
-
-- Added 1st version of TID 1500 (Measurement Report):
- Added first version of TID 1500 (Measurement Report) and included templates.
- The focus of this initial commit was on the general structure of this SR
- template and the mandatory content items and included templates (TID 1204,
- 1001, 1600). There is also a new test case that demonstrates how to use the
- new TID1500_MeasurementReport class. Further enhancements will follow.
- Acknowledgement: This work and also the previous commits on the "dcmsr"
- module have been supported in part by the "QIICR" project. See CREDITS file
- for details.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
- dcmsr/libcmr/tid1500.cc
- Affects: dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrcmr.cc
-
-- Used another document type for a test case:
- Used another document type for the test case "dcmsr_changeDocumentType_2" in
- order to avoid a warning message that the template identification is not set.
- Affects: dcmsr/tests/tsrdoc.cc
-
-- Added further output methods to template classes:
- Added write(), writeXML() and renderHTML() method to template-related classes.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
- dcmsr/libsrc/dsrtpltn.cc
-
-- Moved further output methods to subtree class:
- Moved write(), writeXML() and renderHTML() method from document tree to
- subtree class. This is a preparatory step that will be completed with the
- next commit.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
-
-- Print the annotation text for included templates:
- As for all other types of content items, the optional annotation text is now
- also printed for the internal "included template" type.
- Affects: dcmsr/libsrc/dsrtpltn.cc
-
-- Call clear() method of both base classes:
- Made sure that the clear() method of both base classes is called, i.e. also
- DSRTemplateCommon::clear() which clears the internally managed node list.
- Affects: dcmsr/libsrc/dsrrtpl.cc
-
-- Avoid calling getSelectedValue() explicitly.
- Affects: dcmsr/libcmr/tid1001.cc
- dcmsr/libcmr/tid1204.cc
-
-- Enhanced reserveEntriesInNodeList():
- Added optional parameter to reserveEntriesInNodeList() that allows for
- initializing the entries of the node list with a value of 0.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
- dcmsr/libsrc/dsrctpl.cc
-
-- Fixed minor inconsistencies in comments.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h
- dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
-
-- Updated copyright dates.
- Affects: COPYRIGHT
-
-**** Changes from 2015.12.30 (riesmeier)
-
-- Added support for expanding a document tree:
- Added support for expanding a document tree, i.e. to replace all included
- templates by their content (i.e. the subtree that is managed by the class).
- Also added a new test case that uses (and checks) this new feature.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrtpl.cc
-
-- Added support for including templates into a tree:
- Added support for including - not inserting - templates into a document tree
- or subtree. That means, the template-specific API is still available to the
- user even though the tree structure that is managed by the template class
- has been "inserted" into a (sub)tree. In order to achieve this, a new value
- type (internal) has been added: VT_includedTemplate. Further related changes
- will follow.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
- dcmsr/libsrc/dsrtpltn.cc
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libcmr/Makefile.dep
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/Makefile.dep
-
-- Included standard header "assert":
- Added missing standard header "assert.h" or "cassert" in order to compile
- when HAVE_STL and HAVE_STD_STRING are defined. This header file is needed
- for Linux systems with gcc (and probably others).
- Also fixed some typos and Doxygen related issues.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
-
-**** Changes from 2015.12.28 (riesmeier)
-
-- Added support for replacing a node in a tree:
- Added support for replacing the current node (and all of its child nodes)
- of a tree by a given node (which might be the root of a subtree). This new
- feature is needed for the upcoming enhanced SR template support.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrtree.cc
-
-- Added mapping resource to IOD constraint checker:
- Replaced getRootTemplateIdentifier() by getRootTemplateIdentification()
- which returns the mapping resource in addition to the identifier of the
- root template (if any). Before, the DICOM Content Mapping Resource (DCMR)
- was implicitly assumed when calling the getRootTemplateIdentifier() method.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsracqcc.h
- dcmsr/include/dcmtk/dcmsr/dsrbascc.h
- dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h
- dcmsr/include/dcmtk/dcmsr/dsrchecc.h
- dcmsr/include/dcmtk/dcmsr/dsrcolcc.h
- dcmsr/include/dcmtk/dcmsr/dsrcomcc.h
- dcmsr/include/dcmtk/dcmsr/dsrenhcc.h
- dcmsr/include/dcmtk/dcmsr/dsrimpcc.h
- dcmsr/include/dcmtk/dcmsr/dsriodcc.h
- dcmsr/include/dcmtk/dcmsr/dsrkeycc.h
- dcmsr/include/dcmtk/dcmsr/dsrmaccc.h
- dcmsr/include/dcmtk/dcmsr/dsrmamcc.h
- dcmsr/include/dcmtk/dcmsr/dsrprocc.h
- dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h
- dcmsr/include/dcmtk/dcmsr/dsrspecc.h
- dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h
- dcmsr/libsrc/dsracqcc.cc
- dcmsr/libsrc/dsrbascc.cc
- dcmsr/libsrc/dsrc3dcc.cc
- dcmsr/libsrc/dsrchecc.cc
- dcmsr/libsrc/dsrcolcc.cc
- dcmsr/libsrc/dsrcomcc.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrenhcc.cc
- dcmsr/libsrc/dsrimpcc.cc
- dcmsr/libsrc/dsrkeycc.cc
- dcmsr/libsrc/dsrmaccc.cc
- dcmsr/libsrc/dsrmamcc.cc
- dcmsr/libsrc/dsrprocc.cc
- dcmsr/libsrc/dsrrrdcc.cc
- dcmsr/libsrc/dsrspecc.cc
- dcmsr/libsrc/dsrxrdcc.cc
-
-**** Changes from 2015.12.21 (riesmeier)
-
-- Added "inline" specifier to isRootTemplate().
- Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
-
-- Use "const" specifier for pointer parameters:
- Use "const" specifier for pointer parameters (where appropriate).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
-
-- Fixed wrong use of gotoXXX() function call:
- Replaced call of gotoLastEntryFromNodeList() by gotoEntryFromNodeList().
- This change should make no difference since the method where this function
- is called always checks whether the requested entry exists in the list of
- node IDs.
- Affects: dcmsr/libcmr/tid1600.cc
-
-- Added explicit type cast to avoid warnings:
- Added explicit type cast in order to avoid compiler warnings reported by
- gcc 4.8.4 with additional flags.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dibaslut.h
- dcmimgle/include/dcmtk/dcmimgle/diovpln.h
- dcmrt/libsrc/drmdose.cc
-
-**** Changes from 2015.12.18 (onken)
-
-- Disable Visual Studios min()/max() macros:
- The DCMTK version of min() and max() defined in oflimits.h n conflicts with the
- Visual Studio versions that are pre-defined in Windows. Thus, they are now
- disabled in a Visual Studio build.
- Affects: CMake/osconfig.h.in
-
-- Added missing DLL export macro to OFMath class.
- Affects: ofstd/include/dcmtk/ofstd/ofmath.h
-
-**** Changes from 2015.12.17 (onken)
-
-- Always use isnan() and isinf() from OFMath.
- Affects: ofstd/libsrc/ofstd.cc
-
-- Removed superfluous DLL export macro:
- Renoved DLL export macro from static inline functions causing compiler errors
- in shared builds.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
-
-**** Changes from 2015.12.16 (onken)
-
-- Regenerated dependencies for autoconf.
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/libi2d/Makefile.dep
- dcmdata/libsrc/Makefile.dep
- dcmdata/tests/Makefile.dep
- dcmfg/libsrc/Makefile.dep
- dcmimage/apps/Makefile.dep
- dcmimage/libsrc/Makefile.dep
- dcmimgle/apps/Makefile.dep
- dcmimgle/libsrc/Makefile.dep
- dcmiod/libsrc/Makefile.dep
- dcmjpeg/apps/Makefile.dep
- dcmjpeg/libsrc/Makefile.dep
- dcmjpls/apps/Makefile.dep
- dcmjpls/libcharls/Makefile.dep
- dcmjpls/libsrc/Makefile.dep
- dcmnet/apps/Makefile.dep
- dcmnet/libsrc/Makefile.dep
- dcmnet/tests/Makefile.dep
- dcmpstat/apps/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmpstat/tests/Makefile.dep
- dcmqrdb/apps/Makefile.dep
- dcmqrdb/libsrc/Makefile.dep
- dcmrt/apps/Makefile.dep
- dcmrt/libsrc/Makefile.dep
- dcmrt/tests/Makefile.dep
- dcmseg/libsrc/Makefile.dep
- dcmseg/tests/Makefile.dep
- dcmsign/apps/Makefile.dep
- dcmsign/libsrc/Makefile.dep
- dcmsr/apps/Makefile.dep
- dcmsr/libcmr/Makefile.dep
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/Makefile.dep
- dcmtls/libsrc/Makefile.dep
- dcmwlm/apps/Makefile.dep
- dcmwlm/libsrc/Makefile.dep
- dcmwlm/tests/Makefile.dep
- oflog/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.dep
- ofstd/tests/Makefile.dep
- ofstd/tests/taddsub.cc
-
-- Moved math functions from OFStandard to OFMath:
- Commit 1b6bb7 added oflimit.h dependency to ofstd.h in order to implement some
- new methods in OFStandard. However, oflimits.h relies on arith.h which is
- created very early by arith.cc in a special build step. However, arith.cc
- already relies on ofstd.h so a circular dependency was created. This has been
- fixed by moving those functions (isnan and isinf) into an new class "OFMath"
- which is declared in a separate header file ofmath.h. Before, ofstd.h defined
- the functions and ofmath.cc already implemented them as part of OFStandard.
- Thus the methods also moved from class OFStandard to OFMath.
- Added: ofstd/include/dcmtk/ofstd/ofmath.h
- Affects: config/arith.cc
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofmath.cc
- ofstd/libsrc/ofstd.cc
- ofstd/tests/tlimits.cc
-
-**** Changes from 2015.12.15 (riesmeier)
-
-- Further enhanced implementation of TID 1600:
- Further enhanced implementation of TID 1600 (Image Library), e.g. since this
- template is extensible, the structure of content items might deviate from
- the definition in DICOM PS 3.16 (Content Mapping Resource). Also there is
- now a way of recreating the root content item of this template after the
- clear() method has been called.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
- dcmsr/include/dcmtk/dcmsr/dsrctpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libcmr/tid1600.cc
- dcmsr/libsrc/dsrctpl.cc
- dcmsr/libsrc/dsrstpl.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/tsrcmr.cc
-
-**** Changes from 2015.12.14 (onken)
-
-- Fixed possible underflows and overflows:
- At several places in the code a wrong length of ACSE data structures received
- over the network can cause overflows or underflows when processing those
- data structures. Related checks have been added at various places in order
- to prevent such (possible) attacks.
- Thanks to Kevin Basista for the report.
- Added: ofstd/tests/taddsub.cc
- Affects: dcmnet/libsrc/dulparse.cc
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/tests/tests.cc
- ofstd/tests/tofstd.cc
-
-- Fixed issues with binary segmentations:
- Fixed memory leak when creating binary segmentations as well as possible write
- to non-initialized memory. Also fixed extraction of binary segmentation frames
- for some objects. Fixed typo.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmseg/libsrc/segdoc.cc
-
-- Simpler API to extract binary segmentation frame:
- Acknowledgement: This work has been supported by the "QIICR" project.
- Affects: dcmseg/include/dcmtk/dcmseg/segutils.h
- dcmseg/libsrc/segutils.cc
-
-**** Changes from 2015.12.11 (riesmeier)
-
-- Added set() methods for various template rows:
- Added new methods that allow for setting various modality-specific content
- items manually. At the moment, only some content items for TID 1607 (Image
- Library Entry Descriptors for PET) are supported. Further items will follow.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/tid1600.cc
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tsrcmr.cc
-
-- Added new condition constant for template errors:
- Added new condition constant that can be used if the "Value Set Constraint"
- of a particular SR template row is violated.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrtypes.cc
-
-- Added new function gotoNamedChildNode():
- Added new helper function gotoNamedChildNode() which sets the internal cursor
- of the document (sub)tree to a named node starting from the first children of
- the current node. This avoid calling multiple other functions and checking of
- return values.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
-
-- Added output stream operators:
- Added output stream operator<<() to class DSRCodedEntryValue and
- DSRNumericMeasurementValue. Internally, the print() method is used.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/libsrc/dsrcodvl.cc
- dcmsr/libsrc/dsrnumvl.cc
-
-- Added comparison operator "not equal":
- Added implementation of comparison operator!=() to class DSRCodedEntryValue.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/libsrc/dsrcodvl.cc
- dcmsr/tests/tsrcodvl.cc
-
-- Added new functions getCursor() and setCursor():
- Added new protected helper functions getCursor() and setCursor(), which can
- be used to store and reset a particular cursor position within a derived
- class (e.g. one of the SR template classes). This is much more efficient
- than iterating over the tree and searching for a particular node ID.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
-
-- Added new functions gotoParent() and gotoChild():
- Added new helper functions gotoParent() and gotoChild() to the basic tree
- node cursor class. The functionality is identical to goUp() and goDown().
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
-
-**** Changes from 2015.12.08 (onken)
-
-- Fixed typo in configure step also in configure.in.
- Affects: config/configure
- config/configure.in
-
-- Fixed decsription of configure option and typo:
- Fixed escription of internal dictionary option and removed a superfluous line
- leading to a (non-critical) error when executing config/configure.
- Affects: config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
-
-- Fixed issue with some binary segmentations:
- Some binary segmentation objects, whose number of pixels are not dividable by
- 8, could not be correctly read or written since the standard requires to not
- have any unused bits between the frames when encoding them in the Pixel Data
- element. The corresponding routines have been re-written to reflect this
- requirement. Thanks to Andrey Fedorov <andrey.fedorov@gmail.com> and David
- Flade <fladedavid@gmail.com> for the report.
- Acknowledgement: This work has been supported by the "QIICR" project.
- Added: dcmseg/tests/CMakeLists.txt
- dcmseg/tests/Makefile.dep
- dcmseg/tests/tests.cc
- dcmseg/tests/tutils.cc
- Affects: dcmseg/CMakeLists.txt
- dcmseg/Makefile.in
- dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/include/dcmtk/dcmseg/segtypes.h
- dcmseg/include/dcmtk/dcmseg/segutils.h
- dcmseg/libsrc/segdoc.cc
- dcmseg/libsrc/segtypes.cc
- dcmseg/libsrc/segutils.cc
- dcmseg/tests/Makefile.in
-
-**** Changes from 2015.12.07 (riesmeier)
-
-- Updated "dcmrt" classes based on DICOM 2015c:
- Updated automatically generated IOD and sequence C++ classes for the various
- RT objects based on the current edition of the DICOM standard (2015c).
- Added: dcmrt/include/dcmtk/dcmrt/seq/drtbss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdias.h
- dcmrt/include/dcmtk/dcmrt/seq/drtecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtqds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h
- dcmrt/libsrc/drtbss.cc
- dcmrt/libsrc/drtcpis.cc
- dcmrt/libsrc/drtdias.cc
- dcmrt/libsrc/drtecs.cc
- dcmrt/libsrc/drtpdecs.cc
- dcmrt/libsrc/drtqds.cc
- dcmrt/libsrc/drtwrsrs.cc
- Affects: COPYRIGHT
- dcmrt/apps/Makefile.dep
- dcmrt/include/dcmtk/dcmrt/drtdose.h
- dcmrt/include/dcmtk/dcmrt/drtimage.h
- dcmrt/include/dcmtk/dcmrt/drtionpl.h
- dcmrt/include/dcmtk/dcmrt/drtiontr.h
- dcmrt/include/dcmtk/dcmrt/drtplan.h
- dcmrt/include/dcmtk/dcmrt/drtstrct.h
- dcmrt/include/dcmtk/dcmrt/drttreat.h
- dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtads.h
- dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtags.h
- dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtarics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtas7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtass.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbads.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h
- dcmrt/include/dcmtk/dcmrt/seq/drtccs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtces.h
- dcmrt/include/dcmtk/dcmrt/seq/drtchs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcims.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drteas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtes.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
- dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
- dcmrt/include/dcmtk/dcmrt/seq/drtians.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtibls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtibs.h
- dcmrt/include/dcmtk/dcmrt/seq/drticpds.h
- dcmrt/include/dcmtk/dcmrt/seq/drticps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtircs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtitts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtoas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtois.h
- dcmrt/include/dcmtk/dcmrt/seq/drtopis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtporis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtras.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrims.h
- dcmrt/include/dcmtk/dcmrt/seq/drtris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrses.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtshds.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsns.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtss.h
- dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drttms0.h
- dcmrt/include/dcmtk/dcmrt/seq/drttms9.h
- dcmrt/include/dcmtk/dcmrt/seq/drttscds.h
- dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h
- dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h
- dcmrt/include/dcmtk/dcmrt/seq/drttts.h
- dcmrt/include/dcmtk/dcmrt/seq/drtvls.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtws.h
- dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
- dcmrt/libsrc/CMakeLists.txt
- dcmrt/libsrc/Makefile.dep
- dcmrt/libsrc/Makefile.in
- dcmrt/libsrc/drtaadcs.cc
- dcmrt/libsrc/drtadcs.cc
- dcmrt/libsrc/drtads.cc
- dcmrt/libsrc/drtafs.cc
- dcmrt/libsrc/drtags.cc
- dcmrt/libsrc/drtajcs.cc
- dcmrt/libsrc/drtarics.cc
- dcmrt/libsrc/drtas1.cc
- dcmrt/libsrc/drtas5.cc
- dcmrt/libsrc/drtas6.cc
- dcmrt/libsrc/drtas7.cc
- dcmrt/libsrc/drtass.cc
- dcmrt/libsrc/drtbads.cc
- dcmrt/libsrc/drtbas.cc
- dcmrt/libsrc/drtbcps.cc
- dcmrt/libsrc/drtbl2.cc
- dcmrt/libsrc/drtbl5.cc
- dcmrt/libsrc/drtbldls.cc
- dcmrt/libsrc/drtbldps.cc
- dcmrt/libsrc/drtblds1.cc
- dcmrt/libsrc/drtblds5.cc
- dcmrt/libsrc/drtblds6.cc
- dcmrt/libsrc/drtbldts.cc
- dcmrt/libsrc/drtbrcss.cc
- dcmrt/libsrc/drtbrdrs.cc
- dcmrt/libsrc/drtbrs.cc
- dcmrt/libsrc/drtbs.cc
- dcmrt/libsrc/drtbvcps.cc
- dcmrt/libsrc/drtcbars.cc
- dcmrt/libsrc/drtccs.cc
- dcmrt/libsrc/drtcctus.cc
- dcmrt/libsrc/drtcdrs.cc
- dcmrt/libsrc/drtces.cc
- dcmrt/libsrc/drtchs.cc
- dcmrt/libsrc/drtcims.cc
- dcmrt/libsrc/drtcis.cc
- dcmrt/libsrc/drtcncs.cc
- dcmrt/libsrc/drtcos.cc
- dcmrt/libsrc/drtcpas.cc
- dcmrt/libsrc/drtcps.cc
- dcmrt/libsrc/drtcs.cc
- dcmrt/libsrc/drtcsas.cc
- dcmrt/libsrc/drtcshs.cc
- dcmrt/libsrc/drtcsis.cc
- dcmrt/libsrc/drtcss.cc
- dcmrt/libsrc/drtdcs.cc
- dcmrt/libsrc/drtdimcs.cc
- dcmrt/libsrc/drtdimrs.cc
- dcmrt/libsrc/drtdirs.cc
- dcmrt/libsrc/drtdose.cc
- dcmrt/libsrc/drtdrs.cc
- dcmrt/libsrc/drtds.cc
- dcmrt/libsrc/drtdspcs.cc
- dcmrt/libsrc/drtdss.cc
- dcmrt/libsrc/drtdvhs.cc
- dcmrt/libsrc/drtdvrrs.cc
- dcmrt/libsrc/drteas.cc
- dcmrt/libsrc/drtes.cc
- dcmrt/libsrc/drtfds.cc
- dcmrt/libsrc/drtfes.cc
- dcmrt/libsrc/drtfgs.cc
- dcmrt/libsrc/drtfgss.cc
- dcmrt/libsrc/drtfms.cc
- dcmrt/libsrc/drtfsss.cc
- dcmrt/libsrc/drtgas.cc
- dcmrt/libsrc/drthsdrs.cc
- dcmrt/libsrc/drtiais.cc
- dcmrt/libsrc/drtians.cc
- dcmrt/libsrc/drtiblds.cc
- dcmrt/libsrc/drtibls.cc
- dcmrt/libsrc/drtibs.cc
- dcmrt/libsrc/drticpds.cc
- dcmrt/libsrc/drticps.cc
- dcmrt/libsrc/drtics.cc
- dcmrt/libsrc/drtiis.cc
- dcmrt/libsrc/drtimage.cc
- dcmrt/libsrc/drtionpl.cc
- dcmrt/libsrc/drtiontr.cc
- dcmrt/libsrc/drtipiqs.cc
- dcmrt/libsrc/drtircs.cc
- dcmrt/libsrc/drtiseis.cc
- dcmrt/libsrc/drtitts.cc
- dcmrt/libsrc/drtiwps.cc
- dcmrt/libsrc/drtiws.cc
- dcmrt/libsrc/drtlsds.cc
- dcmrt/libsrc/drtlsds6.cc
- dcmrt/libsrc/drtlsds7.cc
- dcmrt/libsrc/drtmacds.cc
- dcmrt/libsrc/drtmas.cc
- dcmrt/libsrc/drtmdrs.cc
- dcmrt/libsrc/drtmls.cc
- dcmrt/libsrc/drtmps.cc
- dcmrt/libsrc/drtmss.cc
- dcmrt/libsrc/drtmucs.cc
- dcmrt/libsrc/drtoas.cc
- dcmrt/libsrc/drtois.cc
- dcmrt/libsrc/drtopis.cc
- dcmrt/libsrc/drtos.cc
- dcmrt/libsrc/drtpbcs.cc
- dcmrt/libsrc/drtpcs.cc
- dcmrt/libsrc/drtpcxs.cc
- dcmrt/libsrc/drtpfms.cc
- dcmrt/libsrc/drtpics.cc
- dcmrt/libsrc/drtplan.cc
- dcmrt/libsrc/drtporcs.cc
- dcmrt/libsrc/drtporis.cc
- dcmrt/libsrc/drtppcs.cc
- dcmrt/libsrc/drtprsis.cc
- dcmrt/libsrc/drtpscs.cc
- dcmrt/libsrc/drtpsics.cc
- dcmrt/libsrc/drtpss.cc
- dcmrt/libsrc/drtpsss.cc
- dcmrt/libsrc/drtpvis.cc
- dcmrt/libsrc/drtras.cc
- dcmrt/libsrc/drtrbas2.cc
- dcmrt/libsrc/drtrbas8.cc
- dcmrt/libsrc/drtrbls.cc
- dcmrt/libsrc/drtrbos1.cc
- dcmrt/libsrc/drtrbos6.cc
- dcmrt/libsrc/drtrbos7.cc
- dcmrt/libsrc/drtrbs2.cc
- dcmrt/libsrc/drtrbs4.cc
- dcmrt/libsrc/drtrbs8.cc
- dcmrt/libsrc/drtrcdrs.cc
- dcmrt/libsrc/drtrcos.cc
- dcmrt/libsrc/drtrcps.cc
- dcmrt/libsrc/drtrcs.cc
- dcmrt/libsrc/drtrdros.cc
- dcmrt/libsrc/drtrdrs1.cc
- dcmrt/libsrc/drtrdrs6.cc
- dcmrt/libsrc/drtrdrs8.cc
- dcmrt/libsrc/drtrds.cc
- dcmrt/libsrc/drtrecs.cc
- dcmrt/libsrc/drtrfgs.cc
- dcmrt/libsrc/drtrfors.cc
- dcmrt/libsrc/drtrics.cc
- dcmrt/libsrc/drtrims.cc
- dcmrt/libsrc/drtris.cc
- dcmrt/libsrc/drtrlsds.cc
- dcmrt/libsrc/drtrmdrs.cc
- dcmrt/libsrc/drtrms.cc
- dcmrt/libsrc/drtrmss6.cc
- dcmrt/libsrc/drtrmss7.cc
- dcmrt/libsrc/drtrpcs.cc
- dcmrt/libsrc/drtrpis.cc
- dcmrt/libsrc/drtrppcs.cc
- dcmrt/libsrc/drtrpphs.cc
- dcmrt/libsrc/drtrpps.cc
- dcmrt/libsrc/drtrppss.cc
- dcmrt/libsrc/drtrps.cc
- dcmrt/libsrc/drtrris1.cc
- dcmrt/libsrc/drtrris6.cc
- dcmrt/libsrc/drtrris9.cc
- dcmrt/libsrc/drtrrms.cc
- dcmrt/libsrc/drtrros.cc
- dcmrt/libsrc/drtrrpcs.cc
- dcmrt/libsrc/drtrrros.cc
- dcmrt/libsrc/drtrrs.cc
- dcmrt/libsrc/drtrrshs.cc
- dcmrt/libsrc/drtrrtps.cc
- dcmrt/libsrc/drtrrtps3.cc
- dcmrt/libsrc/drtrrtps4.cc
- dcmrt/libsrc/drtrrtps5.cc
- dcmrt/libsrc/drtrscs.cc
- dcmrt/libsrc/drtrsers.cc
- dcmrt/libsrc/drtrses.cc
- dcmrt/libsrc/drtrshs.cc
- dcmrt/libsrc/drtrshs6.cc
- dcmrt/libsrc/drtrshs7.cc
- dcmrt/libsrc/drtrsis.cc
- dcmrt/libsrc/drtrsns.cc
- dcmrt/libsrc/drtrsos.cc
- dcmrt/libsrc/drtrsrs.cc
- dcmrt/libsrc/drtrss.cc
- dcmrt/libsrc/drtrsss.cc
- dcmrt/libsrc/drtrsts.cc
- dcmrt/libsrc/drtrtrs2.cc
- dcmrt/libsrc/drtrtrs4.cc
- dcmrt/libsrc/drtrvis.cc
- dcmrt/libsrc/drtrws.cc
- dcmrt/libsrc/drtrwvms.cc
- dcmrt/libsrc/drtscris.cc
- dcmrt/libsrc/drtsdcs.cc
- dcmrt/libsrc/drtsds.cc
- dcmrt/libsrc/drtshds.cc
- dcmrt/libsrc/drtsis.cc
- dcmrt/libsrc/drtsns.cc
- dcmrt/libsrc/drtspccs.cc
- dcmrt/libsrc/drtspcs.cc
- dcmrt/libsrc/drtss.cc
- dcmrt/libsrc/drtssrs.cc
- dcmrt/libsrc/drtstrct.cc
- dcmrt/libsrc/drttms0.cc
- dcmrt/libsrc/drttms9.cc
- dcmrt/libsrc/drttreat.cc
- dcmrt/libsrc/drttscds.cc
- dcmrt/libsrc/drttsibs.cc
- dcmrt/libsrc/drttsmds.cc
- dcmrt/libsrc/drttts.cc
- dcmrt/libsrc/drtvls.cc
- dcmrt/libsrc/drtwps.cc
- dcmrt/libsrc/drtwrs.cc
- dcmrt/libsrc/drtws.cc
- dcmrt/libsrc/drtxrs.cc
- dcmrt/tests/Makefile.dep
-
-- Handle EINTR raised by connect() or select():
- The EINTR error (system call was interrupted by a signal that was caught)
- might also be raised by a call of connect() or select(), which was not yet
- handled appropriately.
- Thanks to Thomas Sondergaard <thomas.sondergaard@karoshealth.com> and
- Alexander Karaivanov <alexander.karaivanov@karoshealth.com> for the report
- and suggested fix.
- Affects: dcmnet/libsrc/dulfsm.cc
-
-- Check return value of listen() for errors:
- Introduced check of return value of listen() call in order to detect e.g.
- when listening on a certain port that is already in use (EADDRINUSE).
- This kind of error has been reported for various Linux distributions,
- e.g. RHEL5.3 and CentOS 7.
- Thanks to Thomas Sondergaard <thomas.sondergaard@karoshealth.com> and
- Alexander Karaivanov <alexander.karaivanov@karoshealth.com> for the report
- and suggested fix.
- Affects: dcmnet/libsrc/dul.cc
-
-- Fixed numerous typos.
- Affects: dcmnet/libsrc/dul.cc
- dcmnet/libsrc/dulfsm.cc
-
-**** Changes from 2015.12.04 (riesmeier)
-
-- Added comment on optional elements to be supported:
- Added comment on optional data elements to be supported in the future.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
-
-- Fixed wrong cardinality check on type 2 sequence:
- Fixed wrong cardinality check on type 2 element Performed Procedure Code
- Sequence (0040,A372). The DICOM standard says: "Zero or more Items shall
- be included in this Sequence."
- Affects: dcmsr/libsrc/dsrdoc.cc
-
-**** Changes from 2015.12.01 (riesmeier)
-
-- Updated documentation on recently added VR "UC":
- Updated documentation regarding the value representation (VR) "Unlimited
- Characters" (UC), which was missing at various places, especially when
- listing the VRs that are affected by Specific Character Set (0008,0005).
- Affects: dcmdata/apps/dcm2xml.cc
- dcmdata/docs/dcm2xml.man
- dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcsequen.h
- dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsr2xml.cc
- dcmsr/docs/dsr2html.man
- dcmsr/docs/dsr2xml.man
-
-**** Changes from 2015.11.25 (onken)
-
-- Replaced type "bool" through "OFBool":
- Some occurrences of bool have been checked in by one of the last commits
- (72538a3). Since bool is not used in DCMTK so far (except for code integrated
- from external sources), it was replaced by the DCMTK-specific OFBool type.
- Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
-
-**** Changes from 2015.11.18 (onken)
-
-- Add operators "<", "<=", ">" and ">=" for dcmdata:
- Added operators "<", "<=", ">" and ">=" for DcmElement and DcmItem classes in
- dcmdata in order to allow comparison of elements or items (i.e. lists of
- elements). The operators use the compare() functions introduced several weeks
- ago. Also fixed doxygen documentation issue.
- Acknowledgement: This work has been supported by the "QIICR" project.
- Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/tests/tvrcomp.cc
-
-**** Changes from 2015.11.17 (riesmeier)
-
-- Added text on IOD-specific template constraints:
- Added text from DICOM PS 3.3 on template constraints to SR IOD checker
- classes. This might be helpful when certain templates are referenced.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrchecc.h
- dcmsr/include/dcmtk/dcmsr/dsrcolcc.h
- dcmsr/include/dcmtk/dcmsr/dsrimpcc.h
- dcmsr/include/dcmtk/dcmsr/dsrkeycc.h
- dcmsr/include/dcmtk/dcmsr/dsrmaccc.h
- dcmsr/include/dcmtk/dcmsr/dsrmamcc.h
- dcmsr/include/dcmtk/dcmsr/dsrprocc.h
- dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h
- dcmsr/include/dcmtk/dcmsr/dsrspecc.h
- dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h
-
-- Fixed incorrect constraint for root template:
- According to DICOM PS 3.3, the root template TID 3001 "may be" used for the
- Procedure Log IOD but it is not required (i.e. no constraint).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrprocc.h
- dcmsr/libsrc/dsrprocc.cc
-
-- Fixed typos and updated references in comments.
- Affects: dcmsr/libsrc/dsrc3dcc.cc
- dcmsr/libsrc/dsrcomcc.cc
- dcmsr/libsrc/dsrimpcc.cc
-
-- Check Acquisition Context SR contstraints:
- Added support for checking the relationship content constraints of the
- recently added Acquisition Context SR IOD (Supplement 187).
- Added: dcmsr/include/dcmtk/dcmsr/dsracqcc.h
- dcmsr/libsrc/dsracqcc.cc
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
- dcmsr/libsrc/dsrtypes.cc
-
-- Added minimal support for Supplement 187:
- Added minimal support for the recently approved Supplement 187 (Preclinical
- Small Animal Imaging Acquisition Context), i.e. added new Storage SOP Class
- to "dcmdata", "dcmnet" and "dcmqrdb". Also added new SR document type to
- "dcmsr". Full support for this new Structured Rreporting IOD will follow in
- a future commit.
- The official status of this Supplement is "Draft Final Text - Waiting for
- Codes" (WC), i.e. the document is final but some machine-readable codes are
- still missing.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
- dcmqrdb/libsrc/dcmqrdbi.cc
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrtypes.cc
-
-- Added DICOMDIR support for Supplement 184:
- Added support for new Storage SOP Class from Supplement 184 (Brachytherapy
- Delivery Instruction) to DICOMDIR generation code.
- Also fixed a minor issue with the "RT Beams Delivery Instruction Storage"
- SOP Class in this context.
- Affects: dcmdata/libsrc/dcddirif.cc
-
-**** Changes from 2015.11.16 (riesmeier)
-
-- Added support for new UID from Supplement 184:
- Added support for new Storage SOP Class UID from Supplement 184
- (Brachytherapy Delivery Instruction).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added support for recently approved CPs:
- Added support for CP-1364, CP-1431, CP-1432, CP-1457, CP-1478 (WC) and
- CP-1487 to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-- Added support for Supplement 184 to dictionary:
- Added support for the final text version of Supplement 184 (Brachytherapy
- Delivery Instruction) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-**** Changes from 2015.11.16 (onken)
-
-- Use tag constants for better readability.
- Affects: dcmdata/tests/tvrcomp.cc
-
-- Print warning when overwriting an existing file:
- Make sure that movescu and getscu print out a warning when storing a received
- file using a filename that is already taken by an existing file. This resulting
- behaviour (warning and overwriting the old file) is now consistent with
- storescp.
- Affects: dcmnet/apps/movescu.cc
- dcmnet/libsrc/scu.cc
-
-**** Changes from 2015.11.13 (riesmeier)
-
-- Added support for further Asian character sets:
- Added support for further Asian character sets, e.g. Thai, Japanese, Korean
- and Chinese (including ISO 2022 code extensions). The character set mapping
- that is used for HTML/XHTML and XML format is based on Table D-1 in DICOM PS
- 3.18 Annex D (current version from Supplement 174 - RESTful Rendering).
- Affects: dcmsr/docs/dsr2html.man
- dcmsr/docs/dsr2xml.man
- dcmsr/docs/xml2dsr.man
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Changed checking of unsupported character sets:
- Changed the way unsupported character sets, which are specified by option
- --charset-assume, are checked. This will facilitate the addition of new
- character sets (in the future).
- Affects: dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsr2xml.cc
-
-- Support multiple values for SpecificCharacterSet:
- Added support for multiple values being used for Specific Character Set
- (0008,0005). This will allow for specifying ISO 2022 based character sets
- as needed for Japanese, Korean and Chinese (i.e. code extensions).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/libsrc/dsrdoc.cc
-
-- Fixed "Type of modification" field:
- Fixed value of "Type of modification" field for recently added macro
- ENABLE_BUILTIN_DICTIONARY. Now it is consistent with other similar macros.
- Affects: config/docs/macros.txt
-
-**** Changes from 2015.11.13 (onken)
-
-- Renamed some handle...() methods for consisteny:
- The handle...() methods for FIND, MOVE and ACTION only receive the
- corresponding message but do not handle them further (e.g. they do not send
- a response). Thus the methods have been renamed to "receive...()" following
- the scheme already used for the STORE message before.
- Thanks to Ing-Long Eric Kuo <draconpern@hotmail.com> for the report.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.cc
-
-**** Changes from 2015.11.12 (riesmeier)
-
-- Report an error on missing "Rows" or "Columns":
- Output a more specific error message to the logger if the mandatory attribute
- Rows (0028,0010) and/or Columns (0028,0011) is missing.
- Affects: dcmimgle/libsrc/diimage.cc
-
-**** Changes from 2015.11.09 (riesmeier)
-
-- Enhanced documentation on option --charset-assume:
- Made it more explicit that the old terms (latin-1, greek, etc.) are still
- supported for option --charset-assume (for reasons of backward compatibility).
- Affects: dcmdata/docs/dcm2xml.man
- dcmsr/docs/dsr2html.man
- dcmsr/docs/dsr2xml.man
-
-**** Changes from 2015.11.03 (onken)
-
-- Fixed further possible issues with Segment Number.
- Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/include/dcmtk/dcmseg/segment.h
- dcmseg/libsrc/segdoc.cc
- dcmseg/libsrc/segment.cc
-
-**** Changes from 2015.11.03 (eichelberg)
-
-- Fixed dcmdata_VRCompare test:
- Fixed dcmdata_VRCompare unit test to catch a regression of the bug
- in DcmItem::compare() fixed earlier today.
- Affects: dcmdata/tests/tvrcomp.cc
-
-- Fixed bug in DcmItem::compare():
- Fixed bug in DcmItem::compare() leading to incorrect comparison results.
- Thanks to Robert Habrich <habrich@image-systems.biz> for the bug report and patch.
- Affects: dcmdata/libsrc/dcitem.cc
-
-**** Changes from 2015.11.03 (onken)
-
-- Fixed segment access via Segment Number:
- Fixed segment access via Segment Number which now assumes that the first
- Segment Number is not 0 as in the underlying vector, but starts with 1.
- Thanks to Andrey Fedorov <andrey.fedorov@gmail.com> for the report.
- Affects: dcmseg/libsrc/segdoc.cc
-
-**** Changes from 2015.10.09 (riesmeier)
-
-- Check further dependence of command line options:
- Made sure that option --attr-template-id is only used together with option
- --write-template-id, i.e. check the same dependence as for option
- --template-envelope. This is because --attr-template-id would have no effect
- otherwise, which might be unexpected to the user.
- Affects: dcmsr/apps/dsr2xml.cc
-
-**** Changes from 2015.10.08 (riesmeier)
-
-- Added guard to fix issue with llvm-gcc-4.2:
- Added guard to fix linker error with llvm-gcc-4.2 on Mac OS X. This guard
- checks for the use of a Clang compiler, which requires explicit template
- instantiation (see commit a3dc5b5) while other compilers do not.
- Thanks to Bill Lorensen <bill.lorensen@gmail.com> for the report and
- Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> for the patch.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
-
-**** Changes from 2015.10.08 (onken)
-
-- Fixed error message.
- Affects: dcmiod/libsrc/iodutil.cc
-
-**** Changes from 2015.10.01 (riesmeier)
-
-- Fixed issue with Clang 3.0/3.1 on Mac OS X:
- Fixed linker error with Clang 3.0/3.1 on Mac OS X with support for "shared
- libs" enabled. These older versions seem to require explicit instantiation
- of the template class DSRTree<DSRDocumentTreeNode>, which serves as the
- base class of DSRDocumentSubTree.
- Thanks to Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> for
- the patch.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
-
-**** Changes from 2015.09.25 (riesmeier)
-
-- Updated comments for TID 1607:
- Updated comments for TID 1607 (Image Library Entry Descriptors for PET)
- based on feedback and a proposed CP from David Clunie.
- Affects: dcmsr/libcmr/tid1600.cc
-
-- Fixed code meaning for UCUM code "deg":
- Fixed code meaning for UCUM code "deg" (based on a proposed CP from David
- Clunie, editor of the DICOM standard).
- Affects: dcmsr/include/dcmtk/dcmsr/codes/ucum.h
-
-- Made static method checkSOPInstance() virtual:
- Made static method checkSOPInstance() virtual so derived classes can
- overwrite (specialize) it. Also added a comment explaining this.
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
-
-- Fixed possible memory leak:
- Made sure that all locally allocated memory is freed before returning from
- a method with an error status. This possible memory leak was found in
- DcmSCU::sendSTORERequest().
- Affects: dcmnet/libsrc/scu.cc
-
-- Report an error if DICOM file cannot be loaded:
- Report an error to the log output if a SOP instance to be sent (i.e. which
- is part of the transfer list) cannot be loaded from the referenced DICOM file.
- Affects: dcmnet/libsrc/dstorscu.cc
-
-- Changed API to use OFFilename instead of OFString:
- Changed type of parameter of some methods that take a filename to use an
- instance of OFFilename instead of OFString. This allows for passing also
- a wide character string (on Windows) as well as a C string.
- This is an onging process, so further API changes may follow.
- Affects: dcmdata/include/dcmtk/dcmdata/dcdatutl.h
- dcmdata/libsrc/dcdatutl.cc
- dcmnet/include/dcmtk/dcmnet/dstorscu.h
- dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/dstorscu.cc
- dcmnet/libsrc/scu.cc
-
-- Fixed incorrect header and comments:
- The helper functions were extracted from the DcmStoragesSCU class, so the
- copyright header and comments were not correct. Also the name of the DCMTK
- module was incorrect (it is "dcmdata" and not "dcmiod").
- Affects: dcmdata/include/dcmtk/dcmdata/dcdatutl.h
- dcmdata/libsrc/dcdatutl.cc
-
-- Fixed automatically generated CHANGES entry.
- Affects: docs/CHANGES.361
-
-- Removed suffix "String" from "Other..." VRs:
- Supplement 181 (Tractography Results Storage SOP Class) introduces a new
- value representation (VR) "Other Long" (OL) and, thereby, removes the suffix
- "String" from all "Other..." (Ox) VRs.
- See DCMTK's issue tracker: Conformance #664
- Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/include/dcmtk/dcmdata/dcvrobow.h
- dcmdata/include/dcmtk/dcmdata/dcvrod.h
- dcmdata/include/dcmtk/dcmdata/dcvrof.h
-
-- Updated latest tested CMake version:
- Updated information on latest CMake version that has been tested to "3.3.2".
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2015.09.24 (schlamelcher)
-
-- Updated CHANGES.361 for new development snapshot.
- Affects: docs/CHANGES.361
-
-- Updated DCMTK_ABI_VERSION for new development snapshot.
- Affects: CMake/dcmtkPrepare.cmake
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/dcm2pdf.1
- doxygen/manpages/man1/dcm2pnm.1
- doxygen/manpages/man1/dcm2xml.1
- doxygen/manpages/man1/dcmcjpeg.1
- doxygen/manpages/man1/dcmcjpls.1
- doxygen/manpages/man1/dcmconv.1
- doxygen/manpages/man1/dcmcrle.1
- doxygen/manpages/man1/dcmdjpeg.1
- doxygen/manpages/man1/dcmdjpls.1
- doxygen/manpages/man1/dcmdrle.1
- doxygen/manpages/man1/dcmdspfn.1
- doxygen/manpages/man1/dcmdump.1
- doxygen/manpages/man1/dcmftest.1
- doxygen/manpages/man1/dcmgpdir.1
- doxygen/manpages/man1/dcmj2pnm.1
- doxygen/manpages/man1/dcml2pnm.1
- doxygen/manpages/man1/dcmmkcrv.1
- doxygen/manpages/man1/dcmmkdir.1
- doxygen/manpages/man1/dcmmklut.1
- doxygen/manpages/man1/dcmodify.1
- doxygen/manpages/man1/dcmp2pgm.1
- doxygen/manpages/man1/dcmprscp.1
- doxygen/manpages/man1/dcmprscu.1
- doxygen/manpages/man1/dcmpschk.1
- doxygen/manpages/man1/dcmpsmk.1
- doxygen/manpages/man1/dcmpsprt.1
- doxygen/manpages/man1/dcmpsrcv.1
- doxygen/manpages/man1/dcmpssnd.1
- doxygen/manpages/man1/dcmqridx.1
- doxygen/manpages/man1/dcmqrscp.1
- doxygen/manpages/man1/dcmqrti.1
- doxygen/manpages/man1/dcmquant.1
- doxygen/manpages/man1/dcmrecv.1
- doxygen/manpages/man1/dcmscale.1
- doxygen/manpages/man1/dcmsend.1
- doxygen/manpages/man1/dcmsign.1
- doxygen/manpages/man1/dcod2lum.1
- doxygen/manpages/man1/dconvlum.1
- doxygen/manpages/man1/drtdump.1
- doxygen/manpages/man1/dsr2html.1
- doxygen/manpages/man1/dsr2xml.1
- doxygen/manpages/man1/dsrdump.1
- doxygen/manpages/man1/dump2dcm.1
- doxygen/manpages/man1/echoscu.1
- doxygen/manpages/man1/findscu.1
- doxygen/manpages/man1/getscu.1
- doxygen/manpages/man1/img2dcm.1
- doxygen/manpages/man1/movescu.1
- doxygen/manpages/man1/pdf2dcm.1
- doxygen/manpages/man1/storescp.1
- doxygen/manpages/man1/storescu.1
- doxygen/manpages/man1/termscu.1
- doxygen/manpages/man1/wlmscpfs.1
- doxygen/manpages/man1/xml2dcm.1
- doxygen/manpages/man1/xml2dsr.1
-
-**** Changes from 2015.09.23 (riesmeier)
-
-- Added three new DCMTK modules to README:
- Added the new DCMTK modules dcmfg, dcmiod and dcmseg to the README file.
- Affects: README
-
-**** Changes from 2015.09.18 (riesmeier)
-
-- Fixed order of modules in main HTML file:
- The order of DCMTK modules in the main HTML documentation file was almost
- alphabetical. Now, the order should be as it always was intended.
- Affects: doxygen/htmldocs.dox
-
-- Fixed various minor issues in module descriptions.
- Affects: dcmfg/docs/dcmfg.dox
- dcmiod/docs/dcmiod.dox
- dcmseg/docs/dcmseg.dox
-
-- Updated currently supported compiler versions:
- Updated compiler versions for Linux and Windows operating system usually
- supported by the current development version (aka "snapshot").
- Affects: INSTALL
-
-- Check for recently approved multi-frame images:
- Updated check for multi-frame images regarding some recently approved
- multi-frame image IODs (i.e. their associated SOP Class UIDs), which were
- missing. Also added a comment explaining that it is not always clear what
- DICOM PS 3.11 (Media Storage Application Profiles) means with "multi-frame
- Media Image Storage SOP Classes" and similar descriptions.
- Affects: dcmdata/libsrc/dcddirif.cc
-
-- Added support for new UIDs from Supplement 156:
- Added support for new Storage SOP Class UIDs from Supplement 156 (Planar
- MPR Volumetric Presentation State).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrtypes.cc
-
-- Added support for Supplement 156 to dictionary:
- Added support for the final text version of Supplement 156 (Planar MPR
- Volumetric Presentation State) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-- Added support for recently approved CPs:
- Added support for CP-1441, CP-1454, CP-1458 and CP-1461 to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictbi.cc
-
-**** Changes from 2015.09.17 (onken)
-
-- Enable private tags in builtin dictionary on CMake:
- CMake did not allow the use of the private tag option together with the builtin
- dictionary. Since that combination works fine, this restriction was removed.
- Affects: CMake/dcmtkPrepare.cmake
-
-- Fixed another typo.
- Affects: CMake/dcmtkPrepare.cmake
-
-- Fixed typo and made documentation more consistent.
- Affects: config/configure.in
- config/docs/macros.txt
-
-- Fixed typo in CMake script that can cause warnings.
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2015.09.16 (onken)
-
-- Simplified builtin dictionary infrastructure:
- DCMTK has three mechanisms to populate its global data dictionary, one of them
- being the builtin dictionary that is compiled into the object code. Now, always
- dcdictbi.cc is used as source for the builtin dictionary. dcdictzz.cc as well
- as various make targets are not required any more.
- mkdictbi.cc and mkdeftag.cc can still be used to re-create dcdictbi.cc and
- dcdeftag.h respectively (the latter containing tag constants). New make targets
- updatebuiltindict and updatedeftag compile those tools and create the new
- source code based on dicom.dic and private.dic.
- Further details can be found in dcmdata/docs/datadict.txt
- Removed: dcmdata/libsrc/dcdictbi.nul
- dcmdata/libsrc/dcdictzz.cc
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/configure.in
- config/docs/macros.txt
- config/include/dcmtk/config/osconfig.h.in
- dcmdata/docs/datadict.txt
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/Makefile.in
- dcmdata/libsrc/dcdictbi.cc
- dcmdata/libsrc/mkdeftag.cc
- dcmdata/libsrc/mkdictbi.cc
- dcmpstat/libsrc/Makefile.dep
-
-**** Changes from 2015.09.15 (onken)
-
-- Renamed dictionary configuration build options:
- Renamed the configuration option used for enabling or disabling builtin
- dictionary, external dictionary and automated loading of the external private
- dictionary private tag. The build configuration options are now called
- enable/disable instead of with/without since the later is only to be used for
- configuring support for external packages like ZLIB or OpenSSL. Also fixed
- some typos.
- Affects: CMake/DCMTKConfig.cmake.in
- CMake/DCMTKConfig.cmake26.in
- CMake/GenerateDCMTKConfigure.cmake
- CMake/dcmtkPrepare.cmake
- CMake/osconfig.h.in
- config/Makefile.def.in
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- dcmdata/docs/datadict.txt
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.in
- dcmdata/libsrc/mkdictbi.cc
-
-**** Changes from 2015.09.12 (riesmeier)
-
-- Added "YXLON" to the new CREDITS file.
- Affects: CREDITS
-
-**** Changes from 2015.09.11 (riesmeier)
-
-- Added CREDITS file:
- Added CREDITS file that contains a list of individuals, companies and
- organizations we would like to thank for supporting the development and
- maintenance of the DCMTK. Of course, this list is not (yet) complete but
- will be extended over time.
- Added: CREDITS
- Affects: CMakeLists.txt
- Makefile
- config/rootconf
-
-**** Changes from 2015.09.03 (onken)
-
-- Use static_cast instead of dynamic_cast:
- In DCMTK there is a rule not to use dynamic_cast at all even if it is
- already available in the toolkit via OFdynamic_cast. Thus all calls have
- been replaced with OFstatic_cast calls instead.
- Affects: dcmiod/libsrc/iodutil.cc
- dcmiod/libsrc/modimagepixel.cc
- dcmiod/libsrc/modmultiframedimension.cc
-
-**** Changes from 2015.09.02 (onken)
-
-- Replaced tab characters with spaces.
- Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h
- dcmiod/libsrc/modbase.cc
-
-**** Changes from 2015.09.02 (riesmeier)
-
-- Introduced global definitions for certain tags:
- Introduced global definitions for Item and Sequence Delimitation Item tags
- where the (internal) VR is already passed to the DcmTag constructor.
- Using these definitions avoids the time-consuming VR lookup. This improves
- the performance when parsing DICOM objects with very large SQ elements (i.e.
- sequences with thousands of items like in many Enhanced Multi-frame IODs).
- Also renamed the global definitions of "ItemTag" and "InternalUseTag", which
- now also have the common "DCM_" prefix, and passed (internal) VR to them.
- Furthermore, introduced definitions for Pixel Item and Pixel Sequence, which
- makes the source code more readable.
- Affects: dcmdata/apps/dump2dcm.cc
- dcmdata/apps/xml2dcm.cc
- dcmdata/include/dcmtk/dcmdata/dcpixseq.h
- dcmdata/include/dcmtk/dcmdata/dcpxitem.h
- dcmdata/include/dcmtk/dcmdata/dctag.h
- dcmdata/libi2d/i2d.cc
- dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcmetinf.cc
- dcmdata/libsrc/dcpixseq.cc
- dcmdata/libsrc/dcrlecce.cc
- dcmdata/libsrc/dcsequen.cc
- dcmjpeg/libsrc/djcodece.cc
- dcmjpls/libsrc/djcodece.cc
-
-**** Changes from 2015.09.01 (riesmeier)
-
-- Check logger for debug output of template tree:
- Check whether the debug logger is enabled (instead of the define "DEBUG") when
- printing the contents of the template tree to the console.
- Added: dcmsr/tests/gmon.out
- Affects: dcmsr/tests/Makefile.dep
- dcmsr/tests/tsrcmr.cc
-
-- Removed version suffix "3" from dictionary entries.
- Affects: dcmdata/libsrc/dcdict.cc
-
-- Added comment that "Big Endian" is retired:
- Added comment that the "Explicit VR Big Endian" transfer syntax has been
- retired. This is mainly for reasons of consistency with the other retired
- transfer syntaxes that are defined in this header file.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
-
-**** Changes from 2015.08.28 (riesmeier)
-
-- Fixed "cardinality" for SQ elements in comments:
- Fixed value of "cardinality" for SQ elements in comments ("1-n" for "one or
- more items" instead of "1" as it was before).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
-
-- Fixed various issues in test case:
- Fixed various issues in test case "dcmnet_dimseDump_nullByte", e.g. use the
- attribute Affected SOP Instance UID instead of Patient's Name for the UI
- element in the C-ECHO Request message. Also changed order of parameters in
- OFCHECK_EQUAL() call.
- Affects: dcmnet/tests/tdump.cc
-
-- Made sure that "dicom.dic" is loaded for tests:
- Made sure that the data dictionary that is shippped with the DCMTK is loaded
- before the test cases in the "dcmnet" module are started. This prevents that
- some tests fail if the VR (and/or the attribute name) of particular tags are
- unknown.
- Affects: dcmnet/tests/Makefile.in
-
-**** Changes from 2015.08.28 (onken)
-
-- Added mising "check-exhaustive" targets:
- Added missing "check-exhaustive" targets to new modules dcmiod, dcmfg and
- dcmseg.
- Affects: dcmfg/Makefile.in
- dcmiod/Makefile.in
- dcmiod/tests/Makefile.in
- dcmseg/Makefile.in
-
-- Added more files to be ignored by git:
- Added "*.*~" since it is used by some editors for temporary files.
- Affects: .gitignore
-
-**** Changes from 2015.08.27 (onken)
-
-- Added shared library export maro to IODModule:
- The shared library export macro was missing for the IODModule class which
- triggered (at least) warnings in Visual Studo 2010.
- Affects: dcmiod/include/dcmtk/dcmiod/modbase.h
-
-- Updated dictionary build and code documentation.
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/dcmtkPrepare.cmake
- config/configure
- config/configure.in
- dcmdata/docs/datadict.txt
- dcmdata/include/dcmtk/dcmdata/dcdict.h
-
-**** Changes from 2015.08.27 (riesmeier)
-
-- Made sure that tree node annotations are copied:
- Made sure that tree node annotations are copied/cloned when a copy or clone
- of a tree node or a (sub)tree is created. This makes sure that the additional
- textual information (e.g. a user-defined label or the template ID/row number)
- is also available in the copy/clone. As always: enhanced existing test cases.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/tests/tsrcmr.cc
-
-- Added support for clearing tree node annotations:
- Added support for clearing tree node annotations, either individually or
- for all nodes in a tree. Also enhanced existing test cases in this regard.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtnant.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/tests/tsrtree.cc
-
-- Added support for Context Group CID 100 and 7021:
- Added support for Context Group CID 100 (Quantitative Diagnostic Imaging
- Procedures) and CID 7021 (Measurement Report Document Titles), which will
- be needed for the upcoming template class of TID 1500 (Measurement Report).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
- dcmsr/libcmr/cid100.cc
- dcmsr/libcmr/cid7021.cc
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
- dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
- dcmsr/libcmr/init.cc
-
-**** Changes from 2015.08.26 (riesmeier)
-
-- Added support for annotating content items:
- Added support for textual annotations, which can be used to label content
- items with user-defined information. This might facilitate the navigation
- within the document tree and is especially useful for document structures
- based on templates. Therefore, the template classes in the "cmr" (Content
- Mapping Resource) submodule annotate all content items with a predefined
- text of the format "TID xxxx - Row nn".
- Added: dcmsr/include/dcmtk/dcmsr/dsrtnant.h
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
- dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h
- dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
- dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/tid1001.cc
- dcmsr/libcmr/tid1204.cc
- dcmsr/libcmr/tid1600.cc
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/dsrcitem.cc
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrcmr.cc
- dcmsr/tests/tsrdoctr.cc
- dcmsr/tests/tsrtree.cc
-
-- Avoid seperator if time component is empty:
- Avoid separator between date and time component of a "DateTime" value if the
- latter is empty. Before, there was a trailing space in the resulting string.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrdt.h
- dcmdata/libsrc/dcvrdt.cc
-
-- Extracted general information from template:
- Extracted general information on template into local macros (#defines).
- The same approach is already used for the context group classes. Also
- made sure that the "type" of the template (extensible or non-extensible)
- is set.
- Affects: dcmsr/libcmr/tid1001.cc
- dcmsr/libcmr/tid1204.cc
- dcmsr/libcmr/tid1600.cc
-
-- Slightly changed conversion operator:
- Slightly changed conversion operator of context group class that returns
- the currently selected coded entry value. The new version of this operator
- avoids the creation of an unwanted copy.
- Also added new tests to check whether the conversion operator actually works.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
- dcmsr/tests/tsrcmr.cc
-
-**** Changes from 2015.08.26 (onken)
-
-- Build flags for internal and external dictionary:
- Introduced build flags for controlling whether DCMTK will use an internal,
- compiled-in and/or an external dictionary. On Windows systems, a
- built-in dictionary (only) is the default, while on Unix only the external one
- is enabled per default. This behaviour is identical to the old one. It is
- possible to enable both options simultanously; then the built-in is loaded
- first, and the external one is loaded afterwards. More details can be found
- in dcmdata/docs/datadict.txt
- Acknowledgement: This work has been supported by the "QIICR" project.
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/dcmtkPrepare.cmake
- config/Makefile.def.in
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- dcmdata/docs/datadict.txt
- dcmdata/include/dcmtk/dcmdata/dcdict.h
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.in
-
-**** Changes from 2015.08.25 (riesmeier)
-
-- Added initial version of TID 1600 (Image Library):
- Added initial version of TID 1600 (Image Library) and included templates
- TID 1601 to 1607. Also added a quite comprehensive test for this new template.
- Please note that there are still a few details in the source code that are
- marked with "tbc" (to be checked) or "tbd" (to be done). Also the class
- documentation contains corresponding notes and warns about this fact.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
- dcmsr/libcmr/tid1600.cc
- Affects: dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrcmr.cc
- dcmsr/tests/tsrcodvl.cc
-
-- Updated Makefile dependencies.
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/libsrc/Makefile.dep
-
-- Introduced type for list of CID 7445 values:
- Introduced type for list of device participating roles (CID 7445).
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
- dcmsr/libcmr/tid1001.cc
-
-- Added initial version of SRT and UCUM codes:
- Added initial version of SNOMED-RT (Coding Scheme "SRT") and Unified Code for
- Units of Measure ("UCUM") code definitions. In contrast to the "DCM" codes,
- which were added only recently to the DCMTK, these two new coding schemes only
- consist of those codes that are needed for TID 1600 to 1607 (Image Library).
- Further codes will be added when needed.
- The code definitions are generated semi-automatically from the machine-readable
- DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That
- means that the definitions will be updated from time to time as the standard
- evolves. However, please be warned that the names of the constants/defines
- might change in the future (hopefully, there will be official keywords in the
- standard like they are for the DICOM attribute tags in PS 3.6).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/codes/srt.h
- dcmsr/include/dcmtk/dcmsr/codes/ucum.h
-
-**** Changes from 2015.08.24 (riesmeier)
-
-- Added enhanced versions of CID 10013 and 10033:
- Added derived classes for CID10013_CTAcquisitionType and
- CID10033_CTReconstructionAlgorithm, which provide enhanced functionality,
- e.g. a mapping of Defined Terms to coded entries (from the respective
- context group). These new classes will be needed for TID 1605 (Image
- Library Entry Descriptors for CT).
- Also added new test cases in order to make sure that these classes
- work correctly (i.e. as expected).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/cid10013e.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033e.h
- dcmsr/libcmr/cid10013e.cc
- dcmsr/libcmr/cid10033e.cc
- Affects: dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrcmr.cc
-
-- Updated Makefile dependencies.
- Affects: dcmiod/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.dep
-
-- Fixed inconsistencies regarding the use of OFMap:
- Fixed various inconsistenties regarding the use of OFMap and OFMake_pair().
- Affects: dcmsr/libcmr/cid10013.cc
- dcmsr/libcmr/cid10033.cc
- dcmsr/libcmr/cid11.cc
- dcmsr/libcmr/cid244.cc
- dcmsr/libcmr/cid29.cc
- dcmsr/libcmr/cid4020.cc
- dcmsr/libcmr/cid4021.cc
- dcmsr/libcmr/cid4031.cc
- dcmsr/libcmr/cid42.cc
- dcmsr/libcmr/cid5000.cc
- dcmsr/libcmr/cid5001.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
-
-- Added methods to read/write to/from sequence items:
- Added public methods that allow for reading from and writing to a given
- sequence item. These methods are needed to support code modifiers.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/libsrc/dsrcodvl.cc
-
-- Added new optional parameter "vm" to readSequence:
- Added new optional parameter "vm" to the readSequence() method, which allows
- for specifying the expected value multiplicity (i.e. cardinality) of the
- sequence to be read. The default behavior remains the same (i.e. "vm = 1").
- This change will allow for reading code sequences with multiple items, e.g.
- containing modifiers of a higher level coded entry.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/libsrc/dsrcodvl.cc
-
-- Fixed copyright header in module "dcmsr":
- Fixed copyright header in module "dcmsr": All files that were added after
- 1 December 2012 and authored by J. Riesmeier now have a different copyright
- holder. Of course, the license terms are the same (New BSD License), and
- OFFIS is still the maintainer of the source code.
- With other words, nothing changes for the user.
- Affects: COPYRIGHT
- dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/include/dcmtk/dcmsr/cmr/define.h
- dcmsr/include/dcmtk/dcmsr/cmr/init.h
- dcmsr/include/dcmtk/dcmsr/cmr/logger.h
- dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
- dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
- dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h
- dcmsr/include/dcmtk/dcmsr/codes/dcm.h
- dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h
- dcmsr/include/dcmtk/dcmsr/dsrctpl.h
- dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
- dcmsr/include/dcmtk/dcmsr/dsrimgse.h
- dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h
- dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/libcmr/cid10013.cc
- dcmsr/libcmr/cid10033.cc
- dcmsr/libcmr/cid11.cc
- dcmsr/libcmr/cid244.cc
- dcmsr/libcmr/cid244e.cc
- dcmsr/libcmr/cid29.cc
- dcmsr/libcmr/cid29e.cc
- dcmsr/libcmr/cid4020.cc
- dcmsr/libcmr/cid4021.cc
- dcmsr/libcmr/cid4031.cc
- dcmsr/libcmr/cid4031e.cc
- dcmsr/libcmr/cid42.cc
- dcmsr/libcmr/cid5000.cc
- dcmsr/libcmr/cid5001.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
- dcmsr/libcmr/init.cc
- dcmsr/libcmr/logger.cc
- dcmsr/libcmr/srnumvl.cc
- dcmsr/libcmr/tid1001.cc
- dcmsr/libcmr/tid1204.cc
- dcmsr/libsrc/dsrc3dcc.cc
- dcmsr/libsrc/dsrctpl.cc
- dcmsr/libsrc/dsrctxgr.cc
- dcmsr/libsrc/dsrimgse.cc
- dcmsr/libsrc/dsrrrdcc.cc
- dcmsr/libsrc/dsrrtpl.cc
- dcmsr/libsrc/dsrstpl.cc
- dcmsr/tests/tsrcmr.cc
- dcmsr/tests/tsrcodvl.cc
- dcmsr/tests/tsrdoc.cc
- dcmsr/tests/tsrdoctr.cc
- dcmsr/tests/tsrnumvl.cc
- dcmsr/tests/tsrtpl.cc
-
-- Added name prefix to class ContentMappingResource:
- Added name prefix "CMR_" to class ContentMappingResource in order to be
- consistent with other classes in this module.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
- dcmsr/libcmr/init.cc
- dcmsr/tests/tsrcmr.cc
-
-**** Changes from 2015.08.23 (onken)
-
-- Made copyright header consistent in new modules.
- Affects: dcmfg/include/dcmtk/dcmfg/fg.h
- dcmfg/include/dcmtk/dcmfg/fgbase.h
- dcmfg/include/dcmtk/dcmfg/fgdefine.h
- dcmfg/include/dcmtk/dcmfg/fgderimg.h
- dcmfg/include/dcmtk/dcmfg/fgfact.h
- dcmfg/include/dcmtk/dcmfg/fgfracon.h
- dcmfg/include/dcmtk/dcmfg/fgframevoilut.h
- dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h
- dcmfg/include/dcmtk/dcmfg/fginterface.h
- dcmfg/include/dcmtk/dcmfg/fgpixmsr.h
- dcmfg/include/dcmtk/dcmfg/fgplanor.h
- dcmfg/include/dcmtk/dcmfg/fgplanorvol.h
- dcmfg/include/dcmtk/dcmfg/fgplanpo.h
- dcmfg/include/dcmtk/dcmfg/fgplanposvol.h
- dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
- dcmfg/include/dcmtk/dcmfg/fgseg.h
- dcmfg/include/dcmtk/dcmfg/fgtypes.h
- dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h
- dcmfg/include/dcmtk/dcmfg/stack.h
- dcmfg/include/dcmtk/dcmfg/stackinterface.h
- dcmfg/libsrc/fg.cc
- dcmfg/libsrc/fgbase.cc
- dcmfg/libsrc/fgderimg.cc
- dcmfg/libsrc/fgfact.cc
- dcmfg/libsrc/fgfracon.cc
- dcmfg/libsrc/fgframevoilut.cc
- dcmfg/libsrc/fgimagedatatype.cc
- dcmfg/libsrc/fginterface.cc
- dcmfg/libsrc/fgpixmsr.cc
- dcmfg/libsrc/fgplanor.cc
- dcmfg/libsrc/fgplanorvol.cc
- dcmfg/libsrc/fgplanpo.cc
- dcmfg/libsrc/fgplanposvol.cc
- dcmfg/libsrc/fgrealworldvaluemapping.cc
- dcmfg/libsrc/fgseg.cc
- dcmfg/libsrc/fgtypes.cc
- dcmfg/libsrc/fgusimagedescription.cc
- dcmfg/libsrc/stack.cc
- dcmfg/libsrc/stackinterface.cc
- dcmseg/include/dcmtk/dcmseg/segdef.h
- dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/include/dcmtk/dcmseg/segment.h
- dcmseg/include/dcmtk/dcmseg/segtypes.h
- dcmseg/include/dcmtk/dcmseg/segutils.h
- dcmseg/libsrc/segdoc.cc
- dcmseg/libsrc/segment.cc
- dcmseg/libsrc/segtypes.cc
- dcmseg/libsrc/segutils.cc
-
-- Removed unused link libraries.
- Affects: dcmseg/libsrc/CMakeLists.txt
-
-- Fixed compilers errors (mostly STL-specific).
- Affects: dcmfg/libsrc/fg.cc
- dcmfg/libsrc/fginterface.cc
- dcmfg/libsrc/stack.cc
- dcmfg/libsrc/stackinterface.cc
- dcmiod/include/dcmtk/dcmiod/iodutil.h
- dcmiod/libsrc/iodrules.cc
- dcmiod/libsrc/modbase.cc
- ofstd/include/dcmtk/ofstd/oftraits.h
-
-**** Changes from 2015.08.23 (riesmeier)
-
-- Fixed typo and other minor issues in comments.
- Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h
-
-**** Changes from 2015.08.22 (onken)
-
-- Fixed various doxygen formatting issues.
- Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h
- dcmfg/include/dcmtk/dcmfg/fgbase.h
- dcmfg/include/dcmtk/dcmfg/fgderimg.h
- dcmfg/include/dcmtk/dcmfg/fgfact.h
- dcmfg/include/dcmtk/dcmfg/fgfracon.h
- dcmfg/include/dcmtk/dcmfg/fgframevoilut.h
- dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h
- dcmfg/include/dcmtk/dcmfg/fginterface.h
- dcmfg/include/dcmtk/dcmfg/fgpixmsr.h
- dcmfg/include/dcmtk/dcmfg/fgplanor.h
- dcmfg/include/dcmtk/dcmfg/fgplanorvol.h
- dcmfg/include/dcmtk/dcmfg/fgplanpo.h
- dcmfg/include/dcmtk/dcmfg/fgplanposvol.h
- dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
- dcmfg/include/dcmtk/dcmfg/fgseg.h
- dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h
- dcmiod/include/dcmtk/dcmiod/iodcommn.h
- dcmiod/include/dcmtk/dcmiod/iodmacro.h
- dcmiod/include/dcmtk/dcmiod/iodrules.h
- dcmiod/include/dcmtk/dcmiod/iodtypes.h
- dcmiod/include/dcmtk/dcmiod/iodutil.h
- dcmiod/include/dcmtk/dcmiod/modbase.h
- dcmiod/include/dcmtk/dcmiod/modenhusseries.h
- dcmiod/include/dcmtk/dcmiod/modgeneralseries.h
- dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h
- dcmiod/include/dcmtk/dcmiod/modhelp.h
- dcmiod/include/dcmtk/dcmiod/modimagepixel.h
- dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h
- dcmiod/include/dcmtk/dcmiod/modsopcommon.h
- dcmiod/libsrc/iodmacro.cc
- dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/include/dcmtk/dcmseg/segtypes.h
- dcmseg/libsrc/segdoc.cc
-
-- Fixed mostly constness for some compilers:
- Fixed constness of iterators and parameter in derived method.
- Affects: dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
- dcmfg/libsrc/fgrealworldvaluemapping.cc
- dcmfg/libsrc/stack.cc
- dcmfg/libsrc/stackinterface.cc
- dcmiod/include/dcmtk/dcmiod/iodmacro.h
- dcmiod/include/dcmtk/dcmiod/modbase.h
- dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
- dcmiod/include/dcmtk/dcmiod/modenhusimage.h
- dcmiod/libsrc/iodmacro.cc
- dcmiod/libsrc/modcommoninstanceref.cc
- dcmiod/libsrc/modenhusimage.cc
- dcmseg/libsrc/segdoc.cc
-
-- Removed unused method.
- Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/libsrc/segdoc.cc
-
-- Fixed possible DICOM VR problems.
- Affects: dcmiod/include/dcmtk/dcmiod/modimagepixel.h
- dcmiod/libsrc/modimagepixel.cc
- dcmiod/libsrc/modmultiframefg.cc
-
-- Fixed iterator constness.
- Affects: dcmiod/include/dcmtk/dcmiod/iodrules.h
- dcmiod/libsrc/iodrules.cc
-
-**** Changes from 2015.08.21 (onken)
-
-- Fixed iterator dereference.
- Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h
-
-- Removed more accidentially checked in test files:
- Removed more dcmseg module test files that have been checked in
- accidentially.
- Removed: dcmseg/tests/CMakeLists.txt
- dcmseg/tests/tests.cc
- dcmseg/tests/tpack.cc
-
-- Removed accidentially checked in test files:
- Removed dcmseg module test files that have been checked in accidentially.
- Removed: dcmseg/apps.tar.gz
- dcmseg/apps/CMakeLists.txt
- dcmseg/apps/makeseg.cc
- dcmseg/apps/rwseg.cc
-
-- Introduced new modules dcmiod, dcmfg and dcmseg:
- dcmiod is a module that makes it easy to work with common DICOM IOD modules
- and IODs being composed of them. When writing modules it is ensured that
- basic checks are performed regarding the presence of required attributes and
- their values as well as the validity of values. Classes like DcmIODCommon and
- DcmIODImage can be used to derive user-defined classes that implement specific
- DICOM IODs, making it easier to concentrate on the specifics of a particular
- IOD.
- The dcmfg module facilitates working with functional group that have been
- introduced to DICOM in the context of the "Enhanced" family of IOD objects
- that contain multiple frames that are described via shared and per-frame
- functional groups. This class offers a generic interface to create, modify,
- load and store such functional groups. Also, it supports a dozen of
- functional groups directly by offering classes with related getter and setter
- methods.
- Finally, the dcmseg module makes use of dcmiod and dcmfg in order to
- implement an Enhanced DICOM object, the Segmenation IOD. Since most of the
- underlying data elements are already provided by dcmiod and dcmfg, dcmseg
- only consists of a single class and some helpers.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- QIICR is supported by NIH National Cancer Institute, award U24 CA180918.
- Added: dcmdata/include/dcmtk/dcmdata/dcdatutl.h
- dcmdata/libsrc/dcdatutl.cc
- dcmfg/CMakeLists.txt
- dcmfg/Makefile.in
- dcmfg/configure
- dcmfg/data/Makefile.in
- dcmfg/docs/Makefile.in
- dcmfg/docs/dcmfg.dox
- dcmfg/etc/Makefile.in
- dcmfg/include/CMakeLists.txt
- dcmfg/include/Makefile.in
- dcmfg/include/dcmtk/dcmfg/fg.h
- dcmfg/include/dcmtk/dcmfg/fgbase.h
- dcmfg/include/dcmtk/dcmfg/fgdefine.h
- dcmfg/include/dcmtk/dcmfg/fgderimg.h
- dcmfg/include/dcmtk/dcmfg/fgfact.h
- dcmfg/include/dcmtk/dcmfg/fgfracon.h
- dcmfg/include/dcmtk/dcmfg/fgframevoilut.h
- dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h
- dcmfg/include/dcmtk/dcmfg/fginterface.h
- dcmfg/include/dcmtk/dcmfg/fgpixmsr.h
- dcmfg/include/dcmtk/dcmfg/fgplanor.h
- dcmfg/include/dcmtk/dcmfg/fgplanorvol.h
- dcmfg/include/dcmtk/dcmfg/fgplanpo.h
- dcmfg/include/dcmtk/dcmfg/fgplanposvol.h
- dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
- dcmfg/include/dcmtk/dcmfg/fgseg.h
- dcmfg/include/dcmtk/dcmfg/fgtypes.h
- dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h
- dcmfg/include/dcmtk/dcmfg/stack.h
- dcmfg/include/dcmtk/dcmfg/stackinterface.h
- dcmfg/libsrc/CMakeLists.txt
- dcmfg/libsrc/Makefile.dep
- dcmfg/libsrc/Makefile.in
- dcmfg/libsrc/fg.cc
- dcmfg/libsrc/fgbase.cc
- dcmfg/libsrc/fgderimg.cc
- dcmfg/libsrc/fgfact.cc
- dcmfg/libsrc/fgfracon.cc
- dcmfg/libsrc/fgframevoilut.cc
- dcmfg/libsrc/fgimagedatatype.cc
- dcmfg/libsrc/fginterface.cc
- dcmfg/libsrc/fgpixmsr.cc
- dcmfg/libsrc/fgplanor.cc
- dcmfg/libsrc/fgplanorvol.cc
- dcmfg/libsrc/fgplanpo.cc
- dcmfg/libsrc/fgplanposvol.cc
- dcmfg/libsrc/fgrealworldvaluemapping.cc
- dcmfg/libsrc/fgseg.cc
- dcmfg/libsrc/fgtypes.cc
- dcmfg/libsrc/fgusimagedescription.cc
- dcmfg/libsrc/stack.cc
- dcmfg/libsrc/stackinterface.cc
- dcmfg/tests/Makefile.in
- dcmiod/CMakeLists.txt
- dcmiod/Makefile.in
- dcmiod/configure
- dcmiod/data/Makefile.in
- dcmiod/docs/Makefile.in
- dcmiod/docs/dcmiod.dox
- dcmiod/etc/Makefile.in
- dcmiod/include/CMakeLists.txt
- dcmiod/include/Makefile.in
- dcmiod/include/dcmtk/dcmiod/iodcommn.h
- dcmiod/include/dcmtk/dcmiod/ioddef.h
- dcmiod/include/dcmtk/dcmiod/iodimage.h
- dcmiod/include/dcmtk/dcmiod/iodmacro.h
- dcmiod/include/dcmtk/dcmiod/iodrules.h
- dcmiod/include/dcmtk/dcmiod/iodtypes.h
- dcmiod/include/dcmtk/dcmiod/iodutil.h
- dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h
- dcmiod/include/dcmtk/dcmiod/modbase.h
- dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
- dcmiod/include/dcmtk/dcmiod/modenhequipment.h
- dcmiod/include/dcmtk/dcmiod/modenhusimage.h
- dcmiod/include/dcmtk/dcmiod/modenhusseries.h
- dcmiod/include/dcmtk/dcmiod/modequipment.h
- dcmiod/include/dcmtk/dcmiod/modfor.h
- dcmiod/include/dcmtk/dcmiod/modgeneralimage.h
- dcmiod/include/dcmtk/dcmiod/modgeneralseries.h
- dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h
- dcmiod/include/dcmtk/dcmiod/modhelp.h
- dcmiod/include/dcmtk/dcmiod/modimagepixel.h
- dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h
- dcmiod/include/dcmtk/dcmiod/modmultiframefg.h
- dcmiod/include/dcmtk/dcmiod/modpatient.h
- dcmiod/include/dcmtk/dcmiod/modpatientstudy.h
- dcmiod/include/dcmtk/dcmiod/modsegmentationseries.h
- dcmiod/include/dcmtk/dcmiod/modsopcommon.h
- dcmiod/include/dcmtk/dcmiod/modsynchronisation.h
- dcmiod/include/dcmtk/dcmiod/modusfor.h
- dcmiod/libsrc/CMakeLists.txt
- dcmiod/libsrc/Makefile.dep
- dcmiod/libsrc/Makefile.in
- dcmiod/libsrc/iodcommn.cc
- dcmiod/libsrc/iodimage.cc
- dcmiod/libsrc/iodmacro.cc
- dcmiod/libsrc/iodrules.cc
- dcmiod/libsrc/iodtypes.cc
- dcmiod/libsrc/iodutil.cc
- dcmiod/libsrc/modacquisitioncontext.cc
- dcmiod/libsrc/modbase.cc
- dcmiod/libsrc/modcommoninstanceref.cc
- dcmiod/libsrc/modenhequipment.cc
- dcmiod/libsrc/modenhusimage.cc
- dcmiod/libsrc/modenhusseries.cc
- dcmiod/libsrc/modequipment.cc
- dcmiod/libsrc/modfor.cc
- dcmiod/libsrc/modgeneralimage.cc
- dcmiod/libsrc/modgeneralseries.cc
- dcmiod/libsrc/modgeneralstudy.cc
- dcmiod/libsrc/modhelp.cc
- dcmiod/libsrc/modimagepixel.cc
- dcmiod/libsrc/modmultiframedimension.cc
- dcmiod/libsrc/modmultiframefg.cc
- dcmiod/libsrc/modpatient.cc
- dcmiod/libsrc/modpatientstudy.cc
- dcmiod/libsrc/modsegmentationseries.cc
- dcmiod/libsrc/modsopcommon.cc
- dcmiod/libsrc/modsynchronization.cc
- dcmiod/libsrc/modusfor.cc
- dcmiod/tests/Makefile.in
- dcmseg/CMakeLists.txt
- dcmseg/Makefile.in
- dcmseg/apps.tar.gz
- dcmseg/apps/CMakeLists.txt
- dcmseg/apps/makeseg.cc
- dcmseg/apps/rwseg.cc
- dcmseg/configure
- dcmseg/data/Makefile.in
- dcmseg/docs/Makefile.in
- dcmseg/docs/dcmseg.dox
- dcmseg/etc/Makefile.in
- dcmseg/include/CMakeLists.txt
- dcmseg/include/Makefile.in
- dcmseg/include/dcmtk/dcmseg/segdef.h
- dcmseg/include/dcmtk/dcmseg/segdoc.h
- dcmseg/include/dcmtk/dcmseg/segment.h
- dcmseg/include/dcmtk/dcmseg/segtypes.h
- dcmseg/include/dcmtk/dcmseg/segutils.h
- dcmseg/libsrc/CMakeLists.txt
- dcmseg/libsrc/Makefile.dep
- dcmseg/libsrc/Makefile.in
- dcmseg/libsrc/segdoc.cc
- dcmseg/libsrc/segment.cc
- dcmseg/libsrc/segtypes.cc
- dcmseg/libsrc/segutils.cc
- dcmseg/tests/CMakeLists.txt
- dcmseg/tests/Makefile.in
- dcmseg/tests/tests.cc
- dcmseg/tests/tpack.cc
- oflog/tests/Makefile.dep
- Removed: dcmdata/include/dcmtk/dcmdata/modhelp.h
- dcmdata/libsrc/modhelp.cc
- Affects: CMakeLists.txt
- Makefile
- config/modules
- dcmdata/apps/Makefile.dep
- dcmdata/include/dcmtk/dcmdata/dcelem.h
- dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/include/dcmtk/dcmdata/dcpath.h
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/Makefile.in
- dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dcerror.cc
- dcmdata/libsrc/dcpath.cc
- dcmdata/tests/Makefile.in
- dcmimage/apps/Makefile.dep
- dcmimage/libsrc/Makefile.dep
- dcmjpeg/apps/Makefile.dep
- dcmjpls/apps/Makefile.dep
- dcmnet/apps/Makefile.dep
- dcmnet/include/dcmtk/dcmnet/dstorscu.h
- dcmnet/libsrc/Makefile.dep
- dcmnet/libsrc/dstorscu.cc
- dcmpstat/apps/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmqrdb/apps/Makefile.dep
- dcmsign/apps/Makefile.dep
- dcmsign/libsrc/Makefile.dep
- dcmtls/libsrc/Makefile.dep
- dcmwlm/apps/Makefile.dep
- doxygen/htmldocs.dox
- ofstd/include/dcmtk/ofstd/oftraits.h
- ofstd/libsrc/Makefile.dep
-
-**** Changes from 2015.08.20 (riesmeier)
-
-- Added cleanup() function to context group classes:
- Added static cleanup() function to all context group classes. There is also
- a global cleanupAllContextGroups() function that allows for a "clean" program
- exit, e.g. when using a tool such as "valgrind" to check for memory leaks.
- Also added a new "test case" that cleans up all context groups at the end.
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/include/dcmtk/dcmsr/cmr/init.h
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/cid10013.cc
- dcmsr/libcmr/cid10033.cc
- dcmsr/libcmr/cid11.cc
- dcmsr/libcmr/cid244.cc
- dcmsr/libcmr/cid29.cc
- dcmsr/libcmr/cid4020.cc
- dcmsr/libcmr/cid4021.cc
- dcmsr/libcmr/cid4031.cc
- dcmsr/libcmr/cid42.cc
- dcmsr/libcmr/cid5000.cc
- dcmsr/libcmr/cid5001.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
- dcmsr/libcmr/init.cc
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrcmr.cc
-
-- Added enhanced versions of CID 29, 244 and 4031:
- Added derived classes for CID29_AcquisitionModality, CID244_Laterality and
- CID4031_CommonAnatomicRegions, which provide enhanced functionality, e.g. a
- mapping of Defined Terms or Enumerated Values to coded entries (from the
- respective context group). In contrast to the base classes, these new
- classes are written manually.
- As always: also added new test cases in order to make sure that these classes
- work correctly (i.e. as expected).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h
- dcmsr/libcmr/cid244e.cc
- dcmsr/libcmr/cid29e.cc
- dcmsr/libcmr/cid4031e.cc
- Affects: dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrcmr.cc
-
-- Added "Extensible SR" to known document types:
- Added the Extensible SR IOD / SOP Class, which was introduced only recently
- with Supplement 186, to the list of known (but not yet supported) document
- types. Full support for this IOD / SOP Class will follow in a future commit.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrtypes.cc
-
-- Made sure that IOD constraint checker is used:
- Made sure that constraint checker for the Radiopharmaceutical Radiation
- Dose SR IOD, which was introduced with commit 365951ec, is actually used.
- In order to make sure that a constraint checker will never be forgotten
- again for a newly supported SR document type, the "default" case has been
- replaced in the corresponding switch() statement.
- Affects: dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/dsrtypes.cc
-
-- Added support for Context Group CID 244:
- Added support for Context Group CID 244 (Laterality) that will be needed for
- the upcoming template class of TID 1602 (Image Library Entry Descriptor).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
- dcmsr/libcmr/cid244.cc
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
- dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
- dcmsr/libcmr/init.cc
-
-**** Changes from 2015.08.19 (riesmeier)
-
-- Clarified use of invalid coded entries:
- Added comment on addCodedEntry() of context group base class regarding invalid
- coded entries. Also added new test cases that demonstrate the behavior of the
- comparison operator of the coded entry class.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrcmr.cc
- dcmsr/tests/tsrcodvl.cc
-
-- Added static method setEnhancedEncodingMode():
- Added static method that allows for setting the "enhanced encoding mode".
- This method is protected and can, therefore, only be used by derived classes.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/libcmr/cid10013.cc
- dcmsr/libcmr/cid10033.cc
- dcmsr/libcmr/cid11.cc
- dcmsr/libcmr/cid29.cc
- dcmsr/libcmr/cid4020.cc
- dcmsr/libcmr/cid4021.cc
- dcmsr/libcmr/cid4031.cc
- dcmsr/libcmr/cid42.cc
- dcmsr/libcmr/cid5000.cc
- dcmsr/libcmr/cid5001.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
-
-- Added parameter "pos" to getStringValueFromDataset:
- Added optional parameter "pos" to getStringValueFromDataset(). This allows
- for using this method (instead of the underlying "dcmdata" method) throughout
- the "dcmsr" module.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrsoprf.cc
- dcmsr/libsrc/dsrstrvl.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Added specific logger for submodule "dcmsr/cmr".
- Added: dcmsr/include/dcmtk/dcmsr/cmr/logger.h
- dcmsr/libcmr/logger.cc
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
-
-- Added new command line options to dsrdump:
- Added new command line options --indicate-enhanced and --no-enhanced-mode to
- the tool "dsrdump" in order to allow for using the new print flag introduced
- with the previous commit (i.e. PF_indicateEnhancedEncodingMode).
- Affects: dcmsr/apps/dsrdump.cc
- dcmsr/docs/dsrdump.man
-
-- Introduced new flag to customize the print output:
- Introduced new flag PF_indicateEnhancedEncodingMode that can be used to
- customize the print() output. This new flag allows for indicating with a
- "*" that the enhanced encoding mode is used for a code. In doing so, the
- "printInvalid" parameter has been replaced by a more general numeric
- "flags" parameter.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrcodtn.cc
- dcmsr/libsrc/dsrcodvl.cc
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Fixed wrong comment.
- Affects: dcmrt/libsrc/drttypes.cc
-
-**** Changes from 2015.08.18 (riesmeier)
-
-- Added comment on reserved error codes (for "cmr").
- Affects: dcmsr/libsrc/dsrtypes.cc
-
-- Fixed typos in comment.
- Affects: ofstd/libsrc/ofcond.cc
-
-- Added new mode for adding nodes to the tree:
- Added new mode that allows for adding a node (and its subtree) below the
- current node before its first child node (if any). This new mode might be
- useful when inserting nodes (or subtrees) into an existing tree structure.
- For example, this new mode will be used for the upcoming template TID 1600.
- Also added new test cases and enhanced existing ones to check whether the new
- "add mode" works as expected.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrtree.cc
-
-- Added method to look up a context group entry:
- Added method that can be used to look up a coded entry from a context group.
- This method, therefore, allows for retrieving the "official" code meaning or
- for automatically setting the "enhanced encoding mode".
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
- dcmsr/libcmr/cid10013.cc
- dcmsr/libcmr/cid10033.cc
- dcmsr/libcmr/cid11.cc
- dcmsr/libcmr/cid29.cc
- dcmsr/libcmr/cid4020.cc
- dcmsr/libcmr/cid4021.cc
- dcmsr/libcmr/cid4031.cc
- dcmsr/libcmr/cid42.cc
- dcmsr/libcmr/cid5000.cc
- dcmsr/libcmr/cid5001.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
- dcmsr/libsrc/dsrctxgr.cc
-
-- Added new helper method gotoEntryFromNodeList().
- Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
- dcmsr/libsrc/dsrctpl.cc
-
-- Added missing DCMTK_DCMDATA_EXPORT macro:
- Added missing DCMTK_DCMDATA_EXPORT macro to EC_CODE_CannotConvertToXML.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
-
-- Do not set empty concept name codes:
- Do not set empty concept names in addContentItem() and addChildContentItem().
- Affects: dcmsr/libsrc/dsrdocst.cc
-
-- Introduced condition constant EC_NotYetImplemented.
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
- dcmsr/libcmr/tid1001.cc
- ofstd/include/dcmtk/ofstd/ofcond.h
- ofstd/libsrc/ofcond.cc
-
-- Fixed issue reported by Clang 3.5 on OpenBSD:
- Fixed compiler warning on wrong comparison reported by Clang 3.5 on
- OpenBSD 5.7: "comparison of array ... not equal to a null pointer is
- always true [-Wtautological-pointer-compare]". This warning pointed
- to a real issue.
- Affects: dcmpstat/libsrc/dviface.cc
-
-**** Changes from 2015.08.17 (riesmeier)
-
-- Added easier method to set a composite reference:
- Added method that allows for setting a composite reference from a given DICOM
- dataset (i.e. using the data element value for SOP Class UID and SOP Instance
- UID). Before, there was a need to call two separate methods for this purpose.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
- dcmsr/libsrc/dsrcomvl.cc
-
-- Added general information on coding scheme "DCM":
- Added general information on coding scheme "DCM", i.e. additional defines for
- the name, description and UID that can be used throughout the toolkit. These
- details are extracted automatically from a machine-readable version of the
- DICOM standard (PS 3.16-2015c).
- This is also another step towards supporting further coding schemes.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
-
-- Added support for Context Group CID 29:
- Added support for Context Group CID 29 (Acquisition Modality) that will be
- needed for the upcoming template class of TID 1602 (Image Library Entry
- Descriptors) according to CP-1468 (Add defined CID for modality in image
- library), which is part of the next voting package (VP)
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
- dcmsr/libcmr/cid29.cc
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
- dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
- dcmsr/libcmr/init.cc
-
-**** Changes from 2015.08.12 (riesmeier)
-
-- Added check for CID 42 to NUM values:
- Added check for CID 42 (Numeric Value Qualifier) to Numeric Measurement Values,
- i.e. whether the coded entry used for the optional Numeric Value Qualifier Code
- Sequence is contained in the corresponding Context Group. Since support for the
- DICOM Content Mapping Resource has been implemented in an optional extension to
- the DICOM Structured Reporting module "dcmsr" (namely "libcmr"), a new class
- has been derived from DSRNumericMeasurementValue for this purpose. This initial
- implementation can be used as a "template" for similar use cases.
- Also added new test that makes sure that the internal processing is correct.
- This test case also shows how to use the new class.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
- dcmsr/libcmr/srnumvl.cc
- Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrcmr.cc
-
-- Enhanced handling of empty Measured Value Sequence:
- Enhanced handling of Numeric Measurement Values being absent (i.e. both
- Numeric Value and Measurement Unit have an empty value). This is valid
- according to the DICOM standard and should, therefore, also be supported
- when calling the isValid() or setValue() methods of the class managing
- Numeric Measurement Values in an SR document. It is recommend but not
- required to specifiy the reason for the absence of the Measured Value
- Sequence (where these values are stored in a DICOM dataset) in the optional
- Numeric Value Qualifier Code Sequence (which is also supported, of course).
- Also added new test that makes sure that the internal processing is correct.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/tests/tsrnumvl.cc
- Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/tests/CMakeLists.txt
- dcmsr/tests/Makefile.in
- dcmsr/tests/tests.cc
-
-**** Changes from 2015.08.11 (riesmeier)
-
-- Fixed various typos in comments.
- Affects: dcmdata/libsrc/dcfilefo.cc
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrctxgr.cc
-
-**** Changes from 2015.08.10 (riesmeier)
-
-- Added support for further Context Groups:
- Added support for further Context Groups that are needed for the upcoming
- template class of TID 1600 (Image Library), i.e. CID 11, 4020, 4021, 4031,
- 10013 and 10033.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
- dcmsr/libcmr/cid10013.cc
- dcmsr/libcmr/cid10033.cc
- dcmsr/libcmr/cid11.cc
- dcmsr/libcmr/cid4020.cc
- dcmsr/libcmr/cid4021.cc
- dcmsr/libcmr/cid4031.cc
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
- dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
- dcmsr/libcmr/init.cc
-
-**** Changes from 2015.08.01 (riesmeier)
-
-- Fixed wrong exit code on invalid input file:
- Fixed wrong exit code (0) in case the input file cannot be read.
- Thanks to forum user "nikkoara" for the report.
- Affects: dcmdata/apps/dcm2xml.cc
- dcmsr/apps/dsr2xml.cc
-
-**** Changes from 2015.07.30 (riesmeier)
-
-- Removed superfluous OFStringStream_ends statement:
- Removed superfluous OFStringStream_ends statement in order to avoid a compiler
- warning of type "expression result unused" reported by Clang 3.0.
- Affects: dcmnet/libsrc/scpcfg.cc
-
-**** Changes from 2015.07.28 (riesmeier)
-
-- Fixed wrong documentation of return value:
- Fixed wrong (or at least imprecise) comment on the return value of one of the
- setObservationDateTime() methods in DSRByReferenceTreeNode.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrreftn.h
-
-**** Changes from 2015.07.27 (riesmeier)
-
-- Updated copyright date.
- Affects: COPYRIGHT
-
-**** Changes from 2015.07.27 (onken)
-
-- Fixed iterator type.
- Affects: dcmnet/libsrc/dcasccfg.cc
-
-**** Changes from 2015.07.24 (schlamelcher)
-
-- Fixed building via GCC 4.2 on OpenBSD:
- Added some configure tests to detect missing functionality on GCC 4.2 resp.
- OpenBSD (e.g. differences between OpenSSL and LibreSSL).
- Modified OFoptional to disable default constructor detection if the compiler
- does not support it and adjusted the unit test accordingly.
- Modified OFrvalue's unit test to workaround a problem with GCC 4.2's obsolete
- rvalue to lvalue reference conversion semantics and added a warning to the
- documentation.
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/aclocal.m4
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- dcmtls/libsrc/tlslayer.cc
- ofstd/include/dcmtk/ofstd/ofoption.h
- ofstd/include/dcmtk/ofstd/ofutil.h
- ofstd/tests/tmem.cc
- ofstd/tests/toption.cc
-
-- Fixed a problem in DcmAttributeFilter's unit test:
- Most of DcmAttributeFilter's unit test was disabled by an ifdef guard on all
- compilers except for Visual Studio, which was meant to only disable these
- checks on Visual Studio 6.
- Affects: dcmdata/tests/tfilter.cc
-
-- Fixed inconsistent defines in CMake's osconfig.h.
- Affects: CMake/osconfig.h.in
-
-**** Changes from 2015.07.24 (onken)
-
-- Make sure presentation contexts do not interfer:
- A bug i fixed where adding a presentation context using transfer syntaxes
- influenced the transfer syntaxes of other, already existing presentation
- contexts.
- Affects: dcmnet/include/dcmtk/dcmnet/assoc.h
- dcmnet/include/dcmtk/dcmnet/dcasccfg.h
- dcmnet/include/dcmtk/dcmnet/dccfpcmp.h
- dcmnet/include/dcmtk/dcmnet/dccfprmp.h
- dcmnet/include/dcmtk/dcmnet/dccftsmp.h
- dcmnet/include/dcmtk/dcmnet/scpcfg.h
- dcmnet/libsrc/assoc.cc
- dcmnet/libsrc/dcasccff.cc
- dcmnet/libsrc/dcasccfg.cc
- dcmnet/libsrc/dccfpcmp.cc
- dcmnet/libsrc/dccfprmp.cc
- dcmnet/libsrc/dccftsmp.cc
- dcmnet/libsrc/scpcfg.cc
-
-**** Changes from 2015.07.20 (riesmeier)
-
-- Added function that initializes all context groups:
- Added global function that initializes all supported context groups with a
- single call. This might be useful when most of the context groups are used
- within a multi-threaded application. See API documentation for details.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/init.h
- dcmsr/libcmr/init.cc
- Affects: dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
-
-- Added support for CID 42 (Numeric Value Qualifier):
- Added support for Context Group CID 42 (Numeric Value Qualifier), which is the
- Defined Context Group (DCID) to be used for the Numeric Value Qualifier Code
- Sequence, an optional extension of the NUM (numeric measurement) content item.
- Also fixed minor deviations in the comment text of all other Context Groups.
- A new test case for CID 42 shows how the conversion operator, which has been
- introduced with the previous commit, can be used.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
- dcmsr/libcmr/cid42.cc
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
- dcmsr/libcmr/cid5000.cc
- dcmsr/libcmr/cid5001.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrcmr.cc
-
-- Added conversion operator to context group class:
- Added conversion operator that returns the currently selected coded entry
- value to the context group base class DSRContextGroup. This avoids calling
- the getSelectedValue() method manually in certain cases.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
-
-**** Changes from 2015.07.17 (schlamelcher)
-
-- Fixed building on FreeBSD with C++11 enabled:
- Modified DCMTK_TRY_COMPILE to respect C++11 compiler flags if C++11 was
- enabled.
- Introduced additional configure tests to check for FreeBSD (and OpenBSD)
- specific behavior regarding alignment specifiers.
- Fixed a problem in ofxml.cc where the wrong kind of zero value was used (NULL
- instead of 0).
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/dcmtkPrepare.cmake
- CMake/osconfig.h.in
- config/aclocal.m4
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- ofstd/include/dcmtk/ofstd/ofalign.h
- ofstd/libsrc/ofxml.cc
-
-- Fixed building on FreeBSD:
- Added a configure test to accomodate for some FreeBSD specific behavior.
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/arith.cc
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
-
-**** Changes from 2015.07.17 (riesmeier)
-
-- Enhanced documentation of createNewSOPInstance().
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
-
-**** Changes from 2015.07.16 (schlamelcher)
-
-- Fixed cross compiling via MinGW and Wine.
- Affects: CMake/dcmtkUseWine.cmake
-
-- Fixed problems with previous commit:
- Fixed compiling with Visual Studio and MinGW, which was broken by the previous
- commit.
- Affects: config/arith.cc
- ofstd/libsrc/ofmath.cc
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2015.07.15 (schlamelcher)
-
-- Refactored handling of some <cmath> functions:
- Added configure tests to detect wether isinf(), isnan() and finite() are
- declared inside the std namespace or in the global scope. Updated the
- implementation of OFStandard::isinf() and OFStandard::isnan() respectively.
- Moved implementation to new file ofmath.cc and shared this implementation
- for generating arith.h.
- This fixes problems on OpenBSD and FreeBSD.
- Added: ofstd/libsrc/ofmath.cc
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/Makefile.in
- config/arith.cc
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- ofstd/include/dcmtk/ofstd/ofstdinc.h
- ofstd/libsrc/CMakeLists.txt
- ofstd/libsrc/Makefile.in
- ofstd/libsrc/ofstd.cc
-
-- Updated default compiler flags:
- Updated compiler flags to fit the requirements of recent versions of OpenBSD.
- Also took care of some deprecation warnings emitted by newer versions of GCC.
- Affects: CMake/dcmtkPrepare.cmake
- config/configure
- config/configure.in
-
-**** Changes from 2015.07.13 (riesmeier)
-
-- Renamed ANNOUNCE file (removed version suffix):
- Removed version suffix (".361") from ANNOUNCE file for reasons of consistency
- with the CHANGES file in the main directory. Only the files in the "docs"
- subfolder will keep their version suffix.
- Added: ANNOUNCE
- Removed: ANNOUNCE.361
- Affects: CMakeLists.txt
- Makefile
- config/rootconf
-
-**** Changes from 2015.07.09 (onken)
-
-- Disable built-in dictionary for CMake Unix builds:
- On Unix, DCMTK is traditionally built without a built-in dictionary that is
- compiled into the binaries, using automake. Instead, the dictionary is read
- during runtime from a well-known file under the installation directory.
- However, this behaviour was not correctly adapted when porting the existing
- CMake build toolchain from Windows to Unix so that using CMake under Unix also
- resulted in a built-in dictionary. This commit makes sure CMake under Unix now
- shows the same behaviour as the existing automake build. In the near future we
- will also add a CMake option to toggle between built-in and file-based
- dictionary.
- Affects: dcmdata/libsrc/CMakeLists.txt
-
-- Fixed installation and added CHANGES file.
- Added: CHANGES
- Affects: CMakeLists.txt
- Makefile
- config/rootconf
-
-**** Changes from 2015.07.08 (riesmeier)
-
-- Allow for disabling check on "DICOM file format":
- Added new mode that allows for disabling the check on the "DICOM file
- format", i.e. whether the input file contains file meta information
- (as it is required by part 10 of the standard for all DICOM files).
- As it is true for all disableXXXCheck() methods, please use this new mode
- with care. It has been introduced to allow for registering files without
- meta-header to a DICOMDIR, not to be used on a DICOM storage medium but
- for local storage (e.g. as an index for all "DICOM files" that reside in
- a certain directory of the filesystem).
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/libsrc/dcddirif.cc
-
-- Consistently use "file-set" and "file format":
- Consistently use spelling "file-set" and "file format" in comments.
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/libsrc/dcddirif.cc
-
-- Improved documentation of disableXXXCheck():
- Improved documentation of the various disableXXXCheck() methods by using
- the Doxygen command "@warning" to emphasize that the resulting DICOMDIR file
- will probably violate the rules for the selected application profile.
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
-
-- Enhanced check on empty dataset:
- Enhanced check on empty dataset by also calling DcmDataset::card(). This is
- required since the previous check "dataset == NULL" was never true (even for
- DICOM files with an empty dataset).
- Affects: dcmdata/libsrc/dcddirif.cc
-
-- Fixed issue in OFStandard::combineDirAndFilename():
- Fixed issue with "hidden files" in OFStandard::combineDirAndFilename(). On
- Unix systems, hidden files/directories start with a "." in the file/directory
- name. These names were treated incorrectly by the abovementioned function,
- which caused unexpected behavior when calling searchDirectoryRecursively() on
- a directory that contains hidden files or directories. Also added a new test
- case for this misbehavior.
- Thanks to DCMTK forum user "Paul Groot" for the original report.
- Affects: ofstd/libsrc/ofstd.cc
- ofstd/tests/tofstd.cc
-
-- Added static initialization function (MT-safe):
- Added static initialization function to context group classes in order to
- make sure that the internally managed list of standard coded entries is
- created before it is actually used. This function should be called in case
- of multi-threaded applications (e.g. before any threads are started).
- Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/libcmr/cid5000.cc
- dcmsr/libcmr/cid5001.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
-
-**** Changes from 2015.07.07 (riesmeier)
-
-- Fixed issue with wrong quotation marks:
- Regenerated source files of automatically created Context Group classes in
- order to fix an issue with wrong quotation marks. Strangely enough, the
- compiler(s) accepted a constant character string as a OFBool parameter.
- Affects: dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
-
-**** Changes from 2015.07.06 (eichelberg)
-
-- Removed unsupported wwwapps and perl scripts from module dcmwlm:
- Removed the wwwapps tools and accompanying perl scripts that were
- developed for the CAR 1996 modality worklist showcase, and largely
- unused and unsupported.
- Removed: dcmwlm/docs/CMakeLists.txt
- dcmwlm/docs/wwwapp.txt
- dcmwlm/images/offis.gif
- dcmwlm/perl/changepw.pl
- dcmwlm/perl/checkvr.ph
- dcmwlm/perl/isocode.ph
- dcmwlm/perl/layout.ph
- dcmwlm/perl/lock.ph
- dcmwlm/perl/log.ph
- dcmwlm/perl/main.pl
- dcmwlm/perl/password.ph
- dcmwlm/perl/patidel.pl
- dcmwlm/perl/patiedit.pl
- dcmwlm/perl/patient.pl
- dcmwlm/perl/prefs.ph
- dcmwlm/perl/procdel.pl
- dcmwlm/perl/procedit.pl
- dcmwlm/perl/procedur.pl
- dcmwlm/perl/procstep.pl
- dcmwlm/perl/prstdel.pl
- dcmwlm/perl/prstedit.pl
- dcmwlm/perl/statdel.pl
- dcmwlm/perl/statedit.pl
- dcmwlm/perl/station.pl
- dcmwlm/perl/urldecod.ph
- dcmwlm/perl/workdel.pl
- dcmwlm/perl/workedit.pl
- dcmwlm/perl/worklist.pl
- dcmwlm/perl/write.ph
- dcmwlm/wwwapps/CMakeLists.txt
- dcmwlm/wwwapps/Makefile.dep
- dcmwlm/wwwapps/Makefile.in
- dcmwlm/wwwapps/preplock.cc
- dcmwlm/wwwapps/readoviw.cc
- dcmwlm/wwwapps/readwlst.cc
- dcmwlm/wwwapps/writwlst.cc
- Affects: dcmwlm/CMakeLists.txt
- dcmwlm/Makefile.in
- dcmwlm/docs/Makefile.in
- dcmwlm/docs/dcmwlm.dox
-
-**** Changes from 2015.07.05 (riesmeier)
-
-- Updated data dictionary for DICOM 2015c edition:
- Updated data dictionary for the latest edition of the DICOM standard, which
- has been released on 2015-07-04. This includes the new tags from Supplement
- 180 as well as those from CP 1321, 1322, 1402, 1411 and 1438.
- The total number of entries in the DICOM data dictionary is now 3900.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Updated "DCM" codes for DICOM 2015c edition:
- Updated DICOM Controlled Terminology Definitions (Coding Scheme "DCM") for
- the official 2015c edition of the DICOM standard. Please note that a few
- names (IEC codes) changed.
- Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
-
-**** Changes from 2015.07.03 (riesmeier)
-
-- Added first specific Templates and Context Groups:
- Added first specific Template and Context Group classes, namely CID 5000,
- 5001, 7445, 7452 and 7453 as well as TID 1001 and 1204. Please note that
- apart from some special cases (like CID 5000 - Languages and CID 5001 -
- Countries) most Context Group classes can be generated automatically from
- a machine-readable DocBook/XML version of DICOM PS 3.16 (DICOM Content
- Mapping Resource) - and this is how it was actually done :-) The above
- mentioned Context Groups are the first examples only.
- The new classes are not part of the "dcmsr" library but contained in a new
- one ("cmr" - Content Mapping resource). This allows one to continue using
- the underlying "dcmsr" classes without linking the overhead of the growing
- "cmr" library to an application (if there is no need to do so).
- The new test cases for some of the Template and Context Group classes show
- how they can be used. Further sophisticated examples will follow.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
- dcmsr/include/dcmtk/dcmsr/cmr/define.h
- dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
- dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h
- dcmsr/libcmr/CMakeLists.txt
- dcmsr/libcmr/Makefile.dep
- dcmsr/libcmr/Makefile.in
- dcmsr/libcmr/cid5000.cc
- dcmsr/libcmr/cid5001.cc
- dcmsr/libcmr/cid7445.cc
- dcmsr/libcmr/cid7452.cc
- dcmsr/libcmr/cid7453.cc
- dcmsr/libcmr/tid1001.cc
- dcmsr/libcmr/tid1204.cc
- dcmsr/tests/tsrcmr.cc
- Affects: dcmsr/CMakeLists.txt
- dcmsr/Makefile.in
- dcmsr/apps/Makefile.dep
- dcmsr/include/Makefile.in
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/CMakeLists.txt
- dcmsr/tests/Makefile.dep
- dcmsr/tests/Makefile.in
- dcmsr/tests/tests.cc
-
-- Added initial version of DCM code definitions:
- Added initial version of DICOM Controlled Terminology Definitions (Coding
- Scheme "DCM", Version "01"). These code definitions use the simple and
- lightweight DSRBasicCodedEntry class. Also the definitions are no global
- constants but specified with the compiler directive #define. So, there
- should no performance overhead (with initialization at programn start).
- The code definitions are generated automatically from the machine-readable
- DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That
- means that the definitions will be updated from time to time as the standard
- evolves. However, please be warned that the names of the constants/defines
- might change in the future (hopefully, there will be official keywords in the
- standard like they are for the DICOM attribute tags in PS 3.6).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
- Affects: dcmsr/include/Makefile.in
-
-- Added base class for context groups:
- Added base class for context groups. This is for the initial support only.
- Specific context groups from the DCMR (DICOM Content Mapping Resource) will
- follow. The class supports an arbitrary list of coded entries (if the group
- is extensible); it also supports the selection of a particular entry.
- Acknowledgement: This work and also the previous commits that are related
- to the "dcmsr" module have been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
- dcmsr/libsrc/dsrctxgr.cc
- Affects: dcmsr/docs/dcmsr.dox
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
- dcmsr/libsrc/dsrtypes.cc
-
-- Added mechanism for remembering node positions:
- Added mechanism that can be used to remember certain positions in a template.
- This is especially useful when the order of content items is significant.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
- dcmsr/libsrc/dsrctpl.cc
-
-- Removed explicit name of base class from call:
- Removed explicit name of base class when calling a method (since it is not
- needed).
- Affects: dcmsr/libsrc/dsrrtpl.cc
- dcmsr/libsrc/dsrstpl.cc
-
-- Made constructor and destructor "protected":
- Moved constructor and destructor to "protected" section. Also removed
- derivation from base class DSRTypes (since this is not needed).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
-
-**** Changes from 2015.07.02 (riesmeier)
-
-- Added initial support for Supplement 180:
- Added initial support for Supplement 180 (MPEG-4 AVC/H.264 Transfer Syntax),
- i.e. added definition of three new transfer syntaxes. Support for the new
- Media Storage Application Profiles that are introduced with this Supplement
- will follow. Also some of the networking tools still need to be adapted.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/include/dcmtk/dcmdata/dcxfer.h
- dcmdata/libsrc/dcuid.cc
- dcmdata/libsrc/dcxfer.cc
- dcmnet/apps/echoscu.cc
- dcmnet/apps/storescp.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmnet/libsrc/dimse.cc
-
-- Added initial support for Supplement 186:
- Added initial support for Supplement 186 (Extensible SR Storage SOP Class),
- i.e. added definition of new Storage SOP Class UID. Full support for this
- new Structured Reporting SOP Class will follow.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-**** Changes from 2015.07.02 (schlamelcher)
-
-- Updated man pages:
- The man pages were not updated for the recent snapshot due to a problem with
- Doxygen version 1.8.8 (that has been fixed in previous commit 3f27b).
- This commit incorporates the changes since DCMTK-3.6.1_20150217 into the
- current development version "better late than never".
- Affects: doxygen/manpages/man1/dcm2pdf.1
- doxygen/manpages/man1/dcm2pnm.1
- doxygen/manpages/man1/dcm2xml.1
- doxygen/manpages/man1/dcmcjpeg.1
- doxygen/manpages/man1/dcmcjpls.1
- doxygen/manpages/man1/dcmconv.1
- doxygen/manpages/man1/dcmcrle.1
- doxygen/manpages/man1/dcmdjpeg.1
- doxygen/manpages/man1/dcmdjpls.1
- doxygen/manpages/man1/dcmdrle.1
- doxygen/manpages/man1/dcmdspfn.1
- doxygen/manpages/man1/dcmdump.1
- doxygen/manpages/man1/dcmftest.1
- doxygen/manpages/man1/dcmgpdir.1
- doxygen/manpages/man1/dcmj2pnm.1
- doxygen/manpages/man1/dcml2pnm.1
- doxygen/manpages/man1/dcmmkcrv.1
- doxygen/manpages/man1/dcmmkdir.1
- doxygen/manpages/man1/dcmmklut.1
- doxygen/manpages/man1/dcmodify.1
- doxygen/manpages/man1/dcmp2pgm.1
- doxygen/manpages/man1/dcmprscp.1
- doxygen/manpages/man1/dcmprscu.1
- doxygen/manpages/man1/dcmpschk.1
- doxygen/manpages/man1/dcmpsmk.1
- doxygen/manpages/man1/dcmpsprt.1
- doxygen/manpages/man1/dcmpsrcv.1
- doxygen/manpages/man1/dcmpssnd.1
- doxygen/manpages/man1/dcmqridx.1
- doxygen/manpages/man1/dcmqrscp.1
- doxygen/manpages/man1/dcmqrti.1
- doxygen/manpages/man1/dcmquant.1
- doxygen/manpages/man1/dcmrecv.1
- doxygen/manpages/man1/dcmscale.1
- doxygen/manpages/man1/dcmsend.1
- doxygen/manpages/man1/dcmsign.1
- doxygen/manpages/man1/dcod2lum.1
- doxygen/manpages/man1/dconvlum.1
- doxygen/manpages/man1/drtdump.1
- doxygen/manpages/man1/dsr2html.1
- doxygen/manpages/man1/dsr2xml.1
- doxygen/manpages/man1/dsrdump.1
- doxygen/manpages/man1/dump2dcm.1
- doxygen/manpages/man1/echoscu.1
- doxygen/manpages/man1/findscu.1
- doxygen/manpages/man1/getscu.1
- doxygen/manpages/man1/img2dcm.1
- doxygen/manpages/man1/movescu.1
- doxygen/manpages/man1/pdf2dcm.1
- doxygen/manpages/man1/storescp.1
- doxygen/manpages/man1/storescu.1
- doxygen/manpages/man1/termscu.1
- doxygen/manpages/man1/wlmscpfs.1
- doxygen/manpages/man1/xml2dcm.1
- doxygen/manpages/man1/xml2dsr.1
-
-- Updated Doxygen configuration files:
- The Doxygen configuration files were updated to support Doxygen version 1.8.8.
- Especially adjustments in regard to the changed file extension handling
- semantics were made. This fixes an error where the documentation for the
- application binaries was not generated when using Doxygen version 1.8.8.
- Affects: doxygen/htmldocs.cfg
- doxygen/manpages.cfg
-
-**** Changes from 2015.06.30 (riesmeier)
-
-- Check whether a template is extensible:
- Check more thoroughly whether a template is actually extensible before
- inserting a subtemplate into it. Return with an error when appropriate.
- Acknowledgement: This work and also the previous commits that are related
- to the "dcmsr" module have been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrctpl.cc
- dcmsr/libsrc/dsrrtpl.cc
- dcmsr/libsrc/dsrstpl.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/tsrtpl.cc
-
-- Added new and enhanced existing swap() function:
- Added new and enhanced existing fast, non-throwing swap() function in various
- classes. Also used OFswap (a wrapper around std::swap) where appropriate.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrcitem.cc
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
-
-- Fixed issue with addNode() in basic tree class:
- Fixed issue with addNode() method in basic tree class: When adding a new node
- before or after the current node, and this new node has siblings (i.e. it is
- actually a subtree without a dedicated root node), the connection to the
- existing tree was not always correct. Also added test cases for this purpose.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrtree.cc
-
-- Made getAndRemoveRootNode() public:
- Made method getAndRemoveRootNode() public in tree classes.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrdocst.cc
-
-- Added new comparison method to DSRCodedEntryValue:
- Added new comparison method to class DSRCodedEntryValue, which allows for
- comparing directly with an instance of the DSRBasicCodedEntry class, i.e.
- without converting it implicitly into an instance of DSRCodedEntryValue.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/libsrc/dsrcodvl.cc
-
-- Added new option for print() method:
- Added new option for print() method that allows for printing the node ID at
- the beginning of each line. This might be useful for debugging purposes.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrreftn.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Added missing empty() method to OFMap.
- Affects: ofstd/include/dcmtk/ofstd/ofmap.h
-
-**** Changes from 2015.06.30 (schlamelcher)
-
-- Moved CHANGES.361 to /docs:
- Starting after the latest snapshot (DCMTK-3.6.1_20150629) the CHANGES.361
- file is no longer maintained manually. From now on it will resided inside
- /docs and will only be updated for each snapshot (based on the Git commit
- messages).
- Added: docs/CHANGES.361
- Removed: CHANGES.361
-
-**** Changes from 2015.06.29 (schlamelcher)
-
-- Updated DCMTK_ABI_VERSION for new development snapshot.
- Affects: CMake/dcmtkPrepare.cmake
-
-- Updated Makefile dependencies.
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/libsrc/Makefile.dep
- dcmimage/apps/Makefile.dep
- dcmimage/libsrc/Makefile.dep
- dcmjpeg/apps/Makefile.dep
- dcmjpls/apps/Makefile.dep
- dcmnet/apps/Makefile.dep
- dcmpstat/apps/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmqrdb/apps/Makefile.dep
- dcmsign/apps/Makefile.dep
- dcmsign/libsrc/Makefile.dep
- dcmsr/apps/Makefile.dep
- dcmtls/libsrc/Makefile.dep
- dcmwlm/apps/Makefile.dep
- ofstd/libsrc/Makefile.dep
-
-**** Changes from 2015.06.23 (schlamelcher)
-
-- Added additional configuration methods for DCMTLS:
- Introduced the methods addVerificationFlags() and getNativeHandle() to
- DCMTLS for fine-tuning the OpenSSL settings and/or implementing missing
- functionality by directly accessing the underlying OpenSSL context handle.
- Thanks to Dr. Martin Korp <Martin.Korp@ith-icoserve.com> and
- Peter Klotz <Peter.Klotz@ith-icoserve.com> for the suggestions and their
- assistance during implementation.
- Affects: CMake/CheckFunctionWithHeaderExists.cmake
- CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/aclocal.m4
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- dcmtls/include/dcmtk/dcmtls/tlslayer.h
- dcmtls/libsrc/tlslayer.cc
-
-**** Changes from 2015.06.14 (riesmeier)
-
-- Fixed bug in time normalization code:
- Fixed bug in methods setTimeInSeconds() and setTimeInHours() that showed up
- when the parameter "normalize" is true (which is the default) and the given
- time value is not within the valid range.
- Thanks to forum user "sfzhang" for the bug report and suggested fix.
- Affects: ofstd/libsrc/oftime.cc
- ofstd/tests/tofdatim.cc
-
-**** Changes from 2015.06.10 (riesmeier)
-
-- New class for "Basic Coded Entry Attributes":
- Introduced new class for the "Basic Coded Entry Attributes" (according to the
- DICOM standard). This class should be used to define code constants since it
- is a lightweight structure that does not carry any overhead and also does not
- perform any unnecessary checks. Enhanced documentation of existing code class.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/libsrc/dsrcodvl.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrcodvl.cc
-
-**** Changes from 2015.06.09 (riesmeier)
-
-- Added support for long code values (CP-1031):
- Added initial support for long code values according to CP-1031. By default,
- the type of a code value (short, long or URN) is determined automatically,
- e.g. when setting the value of a DSRCodedEntryValue instance. However, the
- type can also be specified manually. Please note that for some methods, the
- position of the optional "check" parameter moved after the new "codeValueType"
- parameter. Support for the optional Equivalent Code Sequence (0008,0121) is
- still missing.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/tests/tsrcodvl.cc
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrcodvl.cc
- dcmsr/tests/CMakeLists.txt
- dcmsr/tests/Makefile.dep
- dcmsr/tests/Makefile.in
- dcmsr/tests/tests.cc
-
-- Do not check invalid UID values for IMAGE node:
- Disable check of invalid UID values ("0") for IMAGE node in key image note
- (ki) and simple image report (si) DICOM SR sample document.
- Affects: dcmsr/tests/mkreport.cc
-
-- Fixed source code and/or comment formatting.
- Affects: dcmdata/libsrc/dcvrda.cc
- dcmsr/tests/tsrtpl.cc
-
-- Introduced new error code "Unknow VR":
- Introduced new error code for "Unknow VR: Tag not found in data dictionary"
- in order to avoid getting a generic "Illegal Call" when an old version of the
- data dictionary is used that does not yet contain the requested attribute tag
- passed to one of DcmItem's putAndInsertXXX() methods or insertEmptyElement().
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/libsrc/dcerror.cc
- dcmdata/libsrc/dcitem.cc
-
-- Avoid using "check" parameter of SR code class:
- Do not use the "check" parameter from the constructor of DSRCodedEntryValue
- (explicitly) but rely on the default value.
- This is because the order of parameters will change in a subsequent commit.
- Affects: dcmpstat/libsrc/dviface.cc
-
-**** Changes from 2015.05.22 (riesmeier)
-
-- Set observation date/time from element:
- Added helper method thats allows for setting the observation date/time of an
- SR content item from a given data element.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrreftn.cc
-
-- Added helpers for setting a value from element:
- Added helper methods that allow for setting a string value of an SR content
- item from a given data element. This works for the following value types:
- COMPOSITE, DATE, DATETIME, IMAGE, NUM, PNAME, TEXT, TIME, UIDREF, WAVEFORM.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
- dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrstrvl.cc
-
-- Moved various methods to protected section:
- Moved inherited methods that cannot be used for by-reference relationships
- and that always return EC_IllegalCall to the protected section of the class.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/libsrc/dsrreftn.cc
-
-- Set observation date/time from dataset:
- Added helper method thats allows for setting the observation date/time of an
- SR content item from a dataset (by specifying the tag of the data element).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/libsrc/dsrdoctn.cc
-
-**** Changes from 2015.05.21 (riesmeier)
-
-- Added helpers for setting a value from dataset:
- Added helper methods that allow for setting a string value of an SR content
- item from a dataset, i.e. by specifying the attribute tag of a data element.
- This works for the following value types (at least for certain aspects):
- COMPOSITE, DATE, DATETIME, IMAGE, NUM, PNAME, TEXT, TIME, UIDREF, WAVEFORM.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
- dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrstrvl.cc
-
-- Added initial support for SR templates:
- Added initial support for SR templates by introducing two general classes for
- root and non-root templates. These general classes can e.g. be used to derive
- specific classes for particular templates from DICOM Part 16 (DCMR).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
- dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
- dcmsr/include/dcmtk/dcmsr/dsrstpl.h
- dcmsr/libsrc/dsrctpl.cc
- dcmsr/libsrc/dsrrtpl.cc
- dcmsr/libsrc/dsrstpl.cc
- dcmsr/tests/tsrtpl.cc
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/docs/dcmsr.dox
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/CMakeLists.txt
- dcmsr/tests/Makefile.dep
- dcmsr/tests/Makefile.in
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
-
-**** Changes from 2015.05.18 (riesmeier)
-
-- Replace the document tree of an SR document:
- Added method that allows one to replace the document tree of an SR document.
- Therefore, introduced an assignment operator to the various tree classes.
- This is another step towards the enhanced support for DICOM SR templates.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoc.cc
- dcmsr/tests/tsrtree.cc
-
-**** Changes from 2015.05.14 (riesmeier)
-
-- Added hasTemplateIdentification() method:
- Added hasTemplateIdentification() helper method to document tree node class.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctn.cc
-
-- Fixed issue with interpolation algorithm:
- Fixed integer overflow issue with bilinear interpolation algorithm (image
- magnification), i.e. if "interpolate" parameter of createScaledImage() is 3.
- Thanks to Ing-Long Eric Kuo <draconpern@hotmail.com> for the report.
- Affects: dcmimgle/include/dcmtk/dcmimgle/discalet.h
-
-**** Changes from 2015.04.30 (riesmeier)
-
-- Pass OFList parameter by-reference not by-value.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/include/dcmtk/dcmnet/scpcfg.h
- dcmnet/libsrc/scp.cc
- dcmnet/libsrc/scpcfg.cc
-
-**** Changes from 2015.04.24 (riesmeier)
-
-- Added support for optional Mapping Resource UID:
- Added support for the optional Mapping Resource UID (0008,0118) to DICOM SR
- implementation. This attribute has been introduced only recently with CP-1417
- (Clarify use and declaration of private mapping resource).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/data/dsr2xml.xsd
- dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/libsrc/dsrcitem.cc
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrreftn.cc
-
-- Ignore empty value for XML element 'charset':
- Ignore empty value for element 'charset' when reading an SR document from XML
- file. Report a more appropriate warning than "Character Set '' not supported".
- Affects: dcmsr/libsrc/dsrdoc.cc
-
-**** Changes from 2015.04.23 (eichelberg)
-
-- Updated makefile to always use the dicom.dic provided in dcmdata/docs
- for the dcmdata unit tests, even if an installed dictionary exists elsewhere.
- Avoids a failure of two tests due to an old dictionary file being used.
- Affects: dcmdata/tests/Makefile.in
-
-**** Changes from 2015.04.22 (eichelberg)
-
-- Fixed minor bug in DICOM upper layer FSM that affected the situation where
- over a just opened TCP connection both sides would send an A-ASSOCIATE-RQ
- PDU simultaneously (which should never happen anyway).
- Thanks to Mathieu Malaterre for the report.
- Affects: dcmnet/libsrc/dulfsm.cc
-
-**** Changes from 2015.04.20 (riesmeier)
-
-- Updated data dictionary for DICOM 2015b edition:
- Updated data dictionary for the latest edition of the DICOM standard, which
- has been released on 2015-04-16. Since the data dictionary was already
- up-to-date regarding the recently approved Supplements and CPs, there are no
- changes apart from the "Version" column.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2015.04.17 (riesmeier)
-
-- Fixed warning C4800 reported by Visual Studio:
- Fixed warning message "C4800: 'int': forcing value to bool 'true' or 'false'
- (performance warning)" reported by Microsoft Visual Studio.
- Affects: dcmsr/libsrc/dsrcodvl.cc
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrsc3vl.cc
- dcmsr/libsrc/dsrstrvl.cc
- ofstd/libsrc/ofstd.cc
-
-- Fixed issue with VR checker for PN values:
- Fixed issue with VR checker reporting empty Person Name (PN) values or values
- like "Unspecified^^^^=^^^^=^^^^" as an error. Also added further test cases.
- Affects: dcmdata/libsrc/vrscanl.c
- dcmdata/libsrc/vrscanl.h
- dcmdata/libsrc/vrscanl.l
- dcmdata/tests/tchval.cc
-
-**** Changes from 2015.04.08 (riesmeier)
-
-- Added method for counting number of child nodes:
- Added method that counts the number of children of a particular tree node.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrtree.cc
-
-- Added regression test for DSRTree::getPosition():
- Added regression test for checking that DSRTree::getPosition() still works
- correctly after adding a new tree node below the current one.
- Affects: dcmsr/tests/tests.cc
- dcmsr/tests/tsrtree.cc
-
-- Fixed wrong position counter in tree node:
- Fixed issue with position counter not being incremented correctly when adding
- a new tree node below the current one. This mainly showed up when checking
- the position string directly after adding the new node to the tree.
- Thanks to Timothy Pitt <tim@vaquita.co.uk> for the report and suggested fix.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
-
-**** Changes from 2015.04.02 (riesmeier)
-
-- Enhanced output to debug logger:
- Output invalid template and context identifier to debug logger (if enabled).
- Affects: dcmsr/libsrc/dsrcodvl.cc
- dcmsr/libsrc/dsrdoctn.cc
-
-- Distinguish b/w invalid content items and values:
- Distinguish more clearly between invalid content items and invalid values of
- content items, which is of some interest when dealing with incorrectly encoded
- SR documents. Introduced new hasValidValue() method to the tree node classes.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodtn.h
- dcmsr/include/dcmtk/dcmsr/dsrcomtn.h
- dcmsr/include/dcmtk/dcmsr/dsrcontn.h
- dcmsr/include/dcmtk/dcmsr/dsrdattn.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrdtitn.h
- dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
- dcmsr/include/dcmtk/dcmsr/dsrnumtn.h
- dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h
- dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h
- dcmsr/include/dcmtk/dcmsr/dsrscotn.h
- dcmsr/include/dcmtk/dcmsr/dsrtcotn.h
- dcmsr/include/dcmtk/dcmsr/dsrtextn.h
- dcmsr/include/dcmtk/dcmsr/dsrtimtn.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/include/dcmtk/dcmsr/dsruidtn.h
- dcmsr/include/dcmtk/dcmsr/dsrwavtn.h
- dcmsr/libsrc/dsrcodtn.cc
- dcmsr/libsrc/dsrcomtn.cc
- dcmsr/libsrc/dsrcontn.cc
- dcmsr/libsrc/dsrdattn.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdtitn.cc
- dcmsr/libsrc/dsrimgtn.cc
- dcmsr/libsrc/dsrnumtn.cc
- dcmsr/libsrc/dsrpnmtn.cc
- dcmsr/libsrc/dsrreftn.cc
- dcmsr/libsrc/dsrsc3tn.cc
- dcmsr/libsrc/dsrscotn.cc
- dcmsr/libsrc/dsrtcotn.cc
- dcmsr/libsrc/dsrtextn.cc
- dcmsr/libsrc/dsrtimtn.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/libsrc/dsruidtn.cc
- dcmsr/libsrc/dsrwavtn.cc
-
-**** Changes from 2015.04.01 (riesmeier)
-
-- Optionally accept invalid content item values:
- If a certain read flag is set, further violations of the DICOM standard are
- accepted when reading an invalid SR document. For example, when the numeric
- value of a NUM content item violates the maximum length. This might be useful
- in order to make sure that the other information of the content item is read
- (like the measurement unit).
- Thanks to forum user "ichimura.t" for the original report.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrcodvl.cc
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrsc3vl.cc
- dcmsr/libsrc/dsrstrvl.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Added read flag to all readXXX() methods:
- Added "flag" parameter used to customize the reading process of all read() and
- readXML() methods. This will facilitate the handling of incorrectly encoded SR
- documents in the future (by providing corresponding workarounds). Also fixed
- optionality of existing "flag" parameters throughout the SR library.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodtn.h
- dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/include/dcmtk/dcmsr/dsrcomtn.h
- dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
- dcmsr/include/dcmtk/dcmsr/dsrcontn.h
- dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
- dcmsr/include/dcmtk/dcmsr/dsrdattn.h
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/include/dcmtk/dcmsr/dsrdtitn.h
- dcmsr/include/dcmtk/dcmsr/dsrimgfr.h
- dcmsr/include/dcmtk/dcmsr/dsrimgse.h
- dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
- dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/include/dcmtk/dcmsr/dsrnumtn.h
- dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h
- dcmsr/include/dcmtk/dcmsr/dsrrefin.h
- dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/include/dcmtk/dcmsr/dsrsc3gr.h
- dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h
- dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h
- dcmsr/include/dcmtk/dcmsr/dsrscogr.h
- dcmsr/include/dcmtk/dcmsr/dsrscotn.h
- dcmsr/include/dcmtk/dcmsr/dsrscovl.h
- dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
- dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
- dcmsr/include/dcmtk/dcmsr/dsrtcodt.h
- dcmsr/include/dcmtk/dcmsr/dsrtcosp.h
- dcmsr/include/dcmtk/dcmsr/dsrtcotn.h
- dcmsr/include/dcmtk/dcmsr/dsrtcoto.h
- dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
- dcmsr/include/dcmtk/dcmsr/dsrtextn.h
- dcmsr/include/dcmtk/dcmsr/dsrtimtn.h
- dcmsr/include/dcmtk/dcmsr/dsruidtn.h
- dcmsr/include/dcmtk/dcmsr/dsrwavch.h
- dcmsr/include/dcmtk/dcmsr/dsrwavtn.h
- dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
- dcmsr/libsrc/dsrcodtn.cc
- dcmsr/libsrc/dsrcodvl.cc
- dcmsr/libsrc/dsrcomtn.cc
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrcontn.cc
- dcmsr/libsrc/dsrcsidl.cc
- dcmsr/libsrc/dsrdattn.cc
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdtitn.cc
- dcmsr/libsrc/dsrimgfr.cc
- dcmsr/libsrc/dsrimgse.cc
- dcmsr/libsrc/dsrimgtn.cc
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrnumtn.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrpnmtn.cc
- dcmsr/libsrc/dsrrefin.cc
- dcmsr/libsrc/dsrreftn.cc
- dcmsr/libsrc/dsrsc3gr.cc
- dcmsr/libsrc/dsrsc3tn.cc
- dcmsr/libsrc/dsrsc3vl.cc
- dcmsr/libsrc/dsrscogr.cc
- dcmsr/libsrc/dsrscotn.cc
- dcmsr/libsrc/dsrscovl.cc
- dcmsr/libsrc/dsrsoprf.cc
- dcmsr/libsrc/dsrstrvl.cc
- dcmsr/libsrc/dsrtcodt.cc
- dcmsr/libsrc/dsrtcosp.cc
- dcmsr/libsrc/dsrtcotn.cc
- dcmsr/libsrc/dsrtcoto.cc
- dcmsr/libsrc/dsrtcovl.cc
- dcmsr/libsrc/dsrtextn.cc
- dcmsr/libsrc/dsrtimtn.cc
- dcmsr/libsrc/dsruidtn.cc
- dcmsr/libsrc/dsrwavch.cc
- dcmsr/libsrc/dsrwavtn.cc
- dcmsr/libsrc/dsrwavvl.cc
-
-**** Changes from 2015.03.27 (riesmeier)
-
-- Added further test cases for VR checker.
- Affects: dcmdata/tests/tchval.cc
-
-- Fixed test after after implementing CP-1425:
- Since CP-1425 permits the horizontal tab character for DICOM text VRs, the
- test case "UT-03" needs to be fixed, too. Also added a new test case "UT-04",
- which checks for the (still invalid) vertical tab character,
- Affects: dcmdata/tests/tchval.cc
-
-- Added support for recently approved CP-1425:
- The recently approved CP-1425 permits the horizontal tab character (HT) in
- DICOM's text VRs (LT, ST, UT). Adapted the VR scanner and the character set
- conversion code (handling of additional control character) accordingly.
- Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
- dcmdata/libsrc/dcspchrs.cc
- dcmdata/libsrc/vrscanl.c
- dcmdata/libsrc/vrscanl.l
-
-- Added support for new UIDs from Supplement 173:
- Added support for new Storage SOP Class UIDs from Supplement 173 (Wide Field
- Ophthalmic Photography Image Storage SOP Classes).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added support for Supplement 173 to dictionary:
- Added support for the final text version of Supplement 173 (Wide Field
- Ophthalmic Photography Image Storage SOP Classes) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Added support for recently approved CPs:
- Added support for CP-1420, CP-1430 and CP-1434 to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2015.03.26 (riesmeier)
-
-- Enhanced use of DSRCodingSchemeIdentificationList:
- Added new method that facilitates adding coding schemes with frequently used
- additional information to the list. This avoids calling the various setXXX()
- methods directly after addItem().
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
- dcmsr/libsrc/dsrcsidl.cc
-
-**** Changes from 2015.03.18 (schlamelcher)
-
-- Modified fallback implementation of OFtuple:
- OFtuple's fallback implementation now also works on older versions of GCC.
- It was necessary to implement a workaround for accessing the type of
- template base classes in derived classes without explicitly stating their
- template parameters.
- Affects: ofstd/include/dcmtk/ofstd/oftuple.h
- ofstd/include/dcmtk/ofstd/variadic/tuple.h
- ofstd/include/dcmtk/ofstd/variadic/tuplefrd.h
- ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
-
-- Moved some utility functions inside OFStandard:
- The functions getUserName() and getHostName() are now implemented inside
- OFStandard, instead of being reimplemented everywhere they are needed.
- Affects: dcmdata/libsrc/mkdeftag.cc
- dcmdata/libsrc/mkdictbi.cc
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2015.03.16 (schlamelcher)
-
-- Fixed a CMake problem with paths containing spaces.
- Affects: CMake/GenerateDCMTKConfigure.cmake
-
-**** Changes from 2015.03.03 (riesmeier)
-
-- Output message to logger on wrong pixel data class:
- Output an error message to the logger in case the internal class used for the
- Pixel Data element has the wrong type when calling chooseRepresentation().
- This is usually caused by a wrong VR for the Pixel Data element (not OB/OW).
- Thanks to forum user "Shaeto" for the original report.
- Affects: dcmdata/libsrc/dcdatset.cc
-
-**** Changes from 2015.02.27 (riesmeier)
-
-- Updated outdated API documentation:
- Updated outdated documentation of parameter "overrideKeys" in private method
- findSCU(). Also fixed some other minor documentation issues (e.g. typos).
- Affects: dcmnet/include/dcmtk/dcmnet/dfindscu.h
- dcmnet/libsrc/dfindscu.cc
-
-**** Changes from 2015.02.19 (riesmeier)
-
-- Updated Makefile dependencies again:
- Rebuilt Makefile dependencies in order to get rid of unwanted libxml headers.
- Affects: dcmdata/apps/Makefile.dep
- dcmsr/apps/Makefile.dep
- dcmsr/libsrc/Makefile.dep
-
-**** Changes from 2015.02.17 (schlamelcher)
-
-- Updated DCMTK_ABI_VERSION for new development snapshot.
- Affects: CMake/dcmtkPrepare.cmake
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/*
-
-- Updated Autoconf dependencies:
- Fixed a problem regarding the Autoconf dependency generation and updated
- the dependencies.
- Affects: Makefile
- config/Makefile.in
- config/rootconf
- dcmdata/apps/Makefile.dep
- dcmdata/libsrc/Makefile.dep
- dcmimage/apps/Makefile.dep
- dcmimage/libsrc/Makefile.dep
- dcmimgle/apps/Makefile.dep
- dcmimgle/libsrc/Makefile.dep
- dcmjpeg/apps/Makefile.dep
- dcmjpeg/libsrc/Makefile.dep
- dcmjpls/apps/Makefile.dep
- dcmjpls/libcharls/Makefile.dep
- dcmjpls/libsrc/Makefile.dep
- dcmnet/apps/Makefile.dep
- dcmnet/libsrc/Makefile.dep
- dcmnet/tests/Makefile.dep
- dcmpstat/apps/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmpstat/tests/Makefile.dep
- dcmqrdb/apps/Makefile.dep
- dcmqrdb/libsrc/Makefile.dep
- dcmrt/apps/Makefile.dep
- dcmrt/libsrc/Makefile.dep
- dcmrt/tests/Makefile.dep
- dcmsign/apps/Makefile.dep
- dcmsign/libsrc/Makefile.dep
- dcmsr/apps/Makefile.dep
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/Makefile.dep
- dcmtls/libsrc/Makefile.dep
- dcmwlm/apps/Makefile.dep
- dcmwlm/libsrc/Makefile.dep
- dcmwlm/tests/Makefile.dep
- dcmwlm/wwwapps/Makefile.dep
- oflog/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.dep
- ofstd/tests/Makefile.dep
-
-- Revised cleanup of temporary unit test files:
- Regarded the temporary file testfile.$$$, generated by the exhaustive
- testcase ofstd_OFFile, in the CMake and Autoconf cleanup configuration.
- Affects: ofstd/tests/CMakeLists.txt
- ofstd/tests/Makefile.in
-
-**** Changes from 2015.02.16 (schlamelcher)
-
-- Modified CMake minimum version as required:
- Determined the minimum CMake version supportable with minor workarounds and
- implemented these required workarounds. Adjusted minimum CMake version
- appropriately.
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/dcmtkMacros.cmake
- CMake/dcmtkTryCompile.cmake
- CMake/dcmtkUseAndroidSDK.cmake
- CMakeLists.txt
-
-**** Changes from 2015.02.13 (schlamelcher)
-
-- Corrections regarding recent commits:
- Corrected some typos inside the Android toolchain file and related CMake
- scripts.
- Added the Android toolchain file's copyright notice to the COPYRIGHT file.
- Added workarounds for missing CMake macros and functionality in older CMake
- versions.
- Increased minimum required CMake version inside the Android toolchain file,
- to reflect the actually verified requirements.
- New CMake minimum version for assisted cross compiling: 2.8.3.
- Affects: CMake/CTest/CTestCustom.cmake
- CMake/CTest/dcmtkCTestConfig.cmake.in
- CMake/GenerateDCMTKConfigure.cmake
- CMake/android.toolchain.cmake
- CMake/dcmtkTryRun.cmake
- CMake/dcmtkUseAndroidSDK.cmake
- CMake/dcmtkUseWine.cmake
- COPYRIGHT
-
-**** Changes from 2015.02.12 (schlamelcher)
-
-- Introduced check-exhaustive targets to Autoconf:
- Added check-exhaustive and <module>-check-exhaustive targets to the
- Autoconf scripts, which allow running the unit tests flagged as
- exhaustive in addition to the fast testcases.
- Affects: Makefile
- config/Makefile.in
- config/rootconf
- dcmdata/Makefile.in
- dcmdata/tests/Makefile.in
- dcmimage/Makefile.in
- dcmimage/tests/Makefile.in
- dcmimgle/Makefile.in
- dcmimgle/tests/Makefile.in
- dcmjpeg/Makefile.in
- dcmjpeg/tests/Makefile.in
- dcmjpls/Makefile.in
- dcmjpls/tests/Makefile.in
- dcmnet/Makefile.in
- dcmnet/tests/Makefile.in
- dcmpstat/Makefile.in
- dcmpstat/tests/Makefile.in
- dcmqrdb/Makefile.in
- dcmqrdb/tests/Makefile.in
- dcmrt/Makefile.in
- dcmrt/tests/Makefile.in
- dcmsign/Makefile.in
- dcmsign/tests/Makefile.in
- dcmsr/Makefile.in
- dcmsr/tests/Makefile.in
- dcmtls/Makefile.in
- dcmtls/tests/Makefile.in
- dcmwlm/Makefile.in
- dcmwlm/tests/Makefile.in
- oflog/Makefile.in
- oflog/tests/Makefile.in
- ofstd/Makefile.in
- ofstd/tests/Makefile.in
-
-- Fixed a const correctness problem within DCMTLS:
- A recent commit regarding trusted client certificates contained a const
- correctness problem which prevented building under OS X.
- Affects: dcmtls/libsrc/tlslayer.cc
-
-**** Changes from 2015.02.11 (schlamelcher)
-
-- Introduced cross compiling support for Android:
- Worked around some limitations when building for Android, for instance by
- creating some configure tests that detect the absence of some operating
- system functionality and enable existing or new fallback implementations in
- their stead.
- Added assisted cross compiling support to the CMake scripts, using a
- specially adjusted version of an Android toolchain configuration file
- borrowed from the OpenCV project. Also adding some code to (remote-)
- control the Android device emulator (that is part of the official Android
- SDK) and integrate it into the CMake build system. This allows the
- configure- and unit tests to run on the emulated target device.
- Added: CMake/CTest/CTestCustom.cmake
- CMake/CTest/dcmtkCTestConfig.cmake.in
- CMake/CTest/dcmtkCTestMacros.cmake
- CMake/CTest/dcmtkCTestRunAndroid.cmake.in
- CMake/android.toolchain.cmake
- CMake/dcmtkUseAndroidSDK.cmake
- Affects: CMake/CheckFunctionWithHeaderExists.cmake
- CMake/GenerateDCMTKConfigure.cmake
- CMake/dcmtkUseWine.cmake
- CMake/dcmtkMacros.cmake
- CMake/dcmtkPrepare.cmake
- CMake/dcmtkTryCompile.cmake
- CMake/dcmtkTryRun.cmake
- CMake/osconfig.h.in
- CMakeLists.txt
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- dcmdata/libsrc/dcuid.cc
- oflog/include/dcmtk/oflog/config/defines.h
- oflog/include/dcmtk/oflog/thread/impl/syncimpl.h
- ofstd/libsrc/ofstd.cc
- ofstd/libsrc/oftempf.cc
- ofstd/libsrc/ofthread.cc
- ofstd/tests/tthread.cc
-
-**** Changes from 2015.02.11 (riesmeier)
-
-- Fixed typos in comments and other minor issues.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvruc.h
- dcmdata/libi2d/i2d.cc
-
-**** Changes from 2015.02.09 (riesmeier)
-
-- Updated data dictionary for DICOM 2015a edition:
- Updated data dictionary for the latest edition of the DICOM standard, which
- has been released on 2015-02-05. Since the data dictionary was already
- up-to-date regarding the recently approved Supplements and CPs, there are no
- changes apart from the "Version" column.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2015.02.06 (riesmeier)
-
-- Fixed documentation of default TCP buffer length:
- With the previous commit (2423e3d), the default TCP send and receive buffer
- length has been increased from 32K to 64K. This commit now updates the
- documentation of this default value accordingly.
- Affects: config/docs/envvars.txt
-
-**** Changes from 2015.02.05 (schlamelcher)
-
-- Adjusted DCMNET's default socket buffer length:
- The previous default value of 32K was inappropriate for modern hardware,
- the new default will be 64K for now.
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report and
- suggested patch.
- Affects: dcmnet/libsrc/dul.cc
- dcmnet/libsrc/dulfsm.cc
-
-- Added support for trusted client certificates:
- It is now possible to configure trusted client certificate authorities
- within DCMTLS.
- Thanks to Dr. Martin Korp <Martin.Korp@ith-icoserve.com> for the suggested
- patch.
- Affects: dcmtls/include/dcmtk/dcmtls/tlslayer.h
- dcmtls/libsrc/tlslayer.cc
-
-**** Changes from 2015.02.03 (riesmeier)
-
-- Updated latest tested CMake version:
- Updated information on latest CMake version that has been tested to "3.1.1".
- Affects: CMake/dcmtkPrepare.cmake
-
-- Fixed another CMake 3.1.x quotation issue:
- According to the CMake documentation "CMake 3.1 and above no longer implicitly
- dereference variables or interpret keywords in an if() command argument when
- it is a 'Quoted Argument' or a 'Bracket Argument'" (see CMP0054 for details).
- Commit cbfe0d7 only solved the issues for Unix-style systems. Now, CMake 3.1
- (and above) should also run without any warnings on Windows systems.
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2015.02.02 (riesmeier)
-
-- Added missing standard include for assert():
- Added standard include that is missing when compiled with HAVE_STD_STRING and
- HAVE_STL, i.e. without DCMTK's implementations of some C++ standard classes.
- Thanks to Markus Mertens <Markus.Mertens@evkb.de> for the original report.
- Affects: ofstd/libsrc/ofuuid.cc
-
-**** Changes from 2015.01.29 (schlamelcher)
-
-- Fixed some problems regarding DCMTK's C++11 support:
- The GCC Version is now detected employing the same CMake macro as for
- Clang, this works around the missing version suffix of some GCC versions
- when using the previously employed '-dumpversion' argument.
- Fixed evaluating the wrong macro instead of 'DCMTK_USE_CXX11_STL' within
- OFtuple's and OFalign's implementation.
- Fixed problems regarding OFalign's C++11 implementation.
- Modified OFnumeric_limit's unit test to accommodate for some native
- implementation's behavior to set 'is_modulo' to false when it can't
- be guaranteed (e.g. for optimization purposes).
- Affects: CMake/dcmtkPrepare.cmake
- ofstd/include/dcmtk/ofstd/ofalign.h
- ofstd/include/dcmtk/ofstd/oftuple.h
- ofstd/tests/tlimits.cc
-
-**** Changes from 2015.01.26 (goldhammer)
-
-- Replaced deprecated CMake expressions:
- The auto-dereference behavior of the if() command was deprecated in CMake
- 3.1.0. Replaced affected expressions with IF(DEFINED) as appropriate.
- Thanks to Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
- for the original report and suggested fix.
- Affects: CMake/CheckFunctionWithHeaderExists.cmake
- CMake/dcmtkTryCompile.cmake
- CMake/GenerateDCMTKConfigure.cmake
-
-**** Changes from 2015.01.22 (riesmeier)
-
-- Removed outdated name suffix from EXS_xxx constant:
- Removed outdated name suffix "TransferSyntax" from EXS_xxx constant in code
- example.
- Affects: dcmjpeg/docs/dcmjpeg.dox
-
-**** Changes from 2015.01.20 (riesmeier)
-
-- Added Mapping Resource UID from CP-1417:
- Added DICOM Content Mapping Resource UID introduced with CP-1417.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
-
-- Added support for recently approved CPs:
- Added support for CP-1031 and CP-1417 to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Added support for new value representation "UC":
- Added support for new value representation "Unlimited Characters" (UC) that
- has been introduced only recently with CP-1031 (Support long code values).
- Added: dcmdata/include/dcmtk/dcmdata/dcvruc.h
- dcmdata/libsrc/dcvruc.cc
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/include/dcmtk/dcmdata/dcchrstr.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcsequen.h
- dcmdata/include/dcmtk/dcmdata/dctk.h
- dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/libi2d/Makefile.dep
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/Makefile.in
- dcmdata/libsrc/dcchrstr.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcvr.cc
- dcmdata/libsrc/vrscanl.c
- dcmdata/libsrc/vrscanl.h
- dcmdata/libsrc/vrscanl.l
- dcmdata/tests/Makefile.dep
- dcmdata/tests/tchval.cc
- dcmdata/tests/telemlen.cc
- dcmdata/tests/tests.cc
-
-**** Changes from 2015.01.15 (schlamelcher)
-
-- Introduced basic support for assisted cross compiling:
- Currently, assistance for cross compiling is only available when using
- CMake and creating Windows targets utilizing the MinGW cross compiler.
- Configure- and unit tests are executed via Wine, therefore Wine is required
- for the build process and testing.
- Added: CMake/dcmtkTryRun.cmake
- CMake/dcmtkUseWine.cmake
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/dcmtkMacros.cmake
- CMake/osconfig.h.in
- config/arith.cc
-
-- Fixed possible arith.h generation problem on MinGW:
- MinGW's custom SEH handling macros don't seem to work reliably on every
- MinGW "distribution". Implemented an even dirtier solution not relying
- on these macros and therefore working.
- The detection of some floating point functions like 'isinf' gave wrong
- results for some MinGW "distributions" in the past. This also affected
- the respective implementation inside OFStandard.
- Affects: config/arith.cc
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2014.12.11 (riesmeier)
-
-- Changed attribute used for the "FD" test:
- Changed attribute used for the Floating Point Double (FD) test from Physical
- Delta X (0018,602C) to Inversion Times (0018,9079) because only the latter
- allows for storing multiple values (value multiplicity = 1-n).
- Affects: dcmdata/tests/tvrfd.cc
-
-**** Changes from 2014.12.10 (riesmeier)
-
-- Added new test case for VR=FD:
- Added new test case for the VR class DcmFloatingPointDouble in order to make
- sure that the revised version of DcmElement::changeValue(), which is e.g.
- used by DcmFloatingPointDouble::putFloat64(), still works as expected.
- Added: dcmdata/tests/tvrfd.cc
- Affects: dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.dep
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
-
-- Fixed error handling in changeValue():
- Fixed error handling in method changeValue(), i.e. return an error code in
- case the memory could not be allocated by new[] or loadValue() failed.
- Affects: dcmdata/libsrc/dcelem.cc
-
-- Fixed error handling in detachValueField():
- Fixed error handling in method detachValueField(), i.e. return an error code
- in case the memory could not be allocated by new.
- Affects: dcmdata/libsrc/dcelem.cc
-
-- Use "try and catch" block around new[]:
- Use "try and catch" blocks in order to catch the "bad allocation" exception
- thrown by the call of "new" when non-throwing new operator is not available.
- Affects: dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dcelem.cc
- dcmimage/include/dcmtk/dcmimage/dicopxt.h
- dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
- dcmimgle/include/dcmtk/dcmimgle/dimopxt.h
-
-**** Changes from 2014.12.02 (schlamelcher)
-
-- Several fixes regarding OFnumeric_limits:
- The initialization state of FLT_ROUNDS is now dumped to DCMTK_ROUND_STYLE
- during configuration, which can then be evaluated in a compile time
- context. This is necessary to conform closely enough to the C++ standard
- as required by clang.
- Mac OS X's special floating point exception control macros are now applied
- on that platform, instead of the GNU POSIX extensions previously employed
- there as well.
- The existence of '_fpclassf' on the Windows platform is now probed
- regarding the linker as well (previously only the compile time presence was
- tested).
- Affects: CMake/GenerateDCMTKConfigure.cmake
- config/arith.cc
- ofstd/include/dcmtk/ofstd/oflimits.h
-
-**** Changes from 2014.11.28 (riesmeier)
-
-- Fixed typo in comment.
- Affects: dcmimgle/include/dcmtk/dcmimgle/diovlay.h
- ofstd/include/dcmtk/ofstd/ofcast.h
-
-**** Changes from 2014.11.27 (onken)
-
-- Documented DCMTK's C++ cast macros.
- It is noted in particular that OFdynamic_cast should not be used in DCMTK.
- Affects: ofstd/include/dcmtk/ofstd/ofcast.h
-
-**** Changes from 2014.11.25 (schlamelcher)
-
-- Introduced OFnumeric_limits:
- The template OFnumeric_limits provides a standardized way to query various
- properties of fundamental types (e.g. the largest possible value for type
- int is OFnumeric_limits<int>::max()).
- OFnumeric_limits is compatible to C++11's std::numeric_limits.
- Added: config/arith.cc
- ofstd/include/dcmtk/ofstd/oflimits.h
- ofstd/tests/tlimits.cc
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- CMakeLists.txt
- config/Makefile.in
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/include/dcmtk/ofstd/oftraits.h
- ofstd/libsrc/ofstd.cc
- ofstd/tests/CMakeLists.txt
- ofstd/tests/Makefile.in
- ofstd/tests/tests.cc
-
-**** Changes from 2014.11.24 (riesmeier)
-
-- Added support for new UIDs from DICOM 2014c:
- Added support for new SOP Class UIDs from Supplement 171 (Unified Procedure
- Step by REpresentational State Transfer Services) and Supplement 172
- (Parametric Map Storage). Also updated name of well-known UPS SOP instance.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Updated data dictionary for DICOM 2014c edition:
- Updated data dictionary for the latest edition of the DICOM standard, which
- has been released on 2014-11-21.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2014.11.14 (riesmeier)
-
-- Added check for requirements clarified by CP-1401:
- Added check to read() and write() method and report a warning message if the
- Completion Flag is not "COMPLETE" for X-Ray Radiation Dose SR objects.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/libsrc/dsrdoc.cc
-
-**** Changes from 2014.11.13 (riesmeier)
-
-- Fixed wrong validation of PN, LO and SH values:
- According to DICOM PS 3.5, the control characters LF, FF and CR are not
- allowed for LO and SH element values. Also ESC is only allowed for ISO 2022
- encoding (escape sequences), but not for the default character set (ASCII).
- Affects: dcmwlm/libsrc/wlds.cc
-
-- Fixed typo in comment.
- Affects: dcmdata/libsrc/dcchrstr.cc
-
-**** Changes from 2014.11.07 (riesmeier)
-
-- Removed unneeded header include:
- The standard header "cassert" is not needed any longer. So do not include it.
- Affects: ofstd/include/dcmtk/ofstd/ofcond.h
-
-**** Changes from 2014.11.06 (riesmeier)
-
-- Fixed issue when scaling certain images:
- The image scaling methods expandPixel() and reducePixel(), which are used for
- interpolation (c't algorithm), were not working correctly for certain sizes.
- This commit solves an issue that was originally fixed with commit e9c3550,
- but now in a more general and probably more robust manner.
- Thanks to Tilman Vogel <tilman@circlecvi.com> for the original report and
- suggested fix.
- Affects: dcmimgle/include/dcmtk/dcmimgle/discalet.h
-
-**** Changes from 2014.11.01 (riesmeier)
-
-- Added "data correction" options to findscu:
- Added two new options that enable/disable the automatic data correction (e.g.
- removal of trailing padding) to the findscu command line tool. The default
- is still to disable the data correction, i.e. the same behavior as before.
- Thanks to forum user "gerhardh" for the original report.
- Affects: dcmnet/apps/findscu.cc
- dcmnet/docs/findscu.man
-
-**** Changes from 2014.10.31 (riesmeier)
-
-- Updated "dcmrt" classes based on DICOM 2014b:
- Updated automatically generated IOD and sequence c++ classes for the various
- RT objects based on the current edition of the DICOM standard (2014b). This
- time, the official DocBook/XML version has been be used (previously, it was
- an unofficial version of the DICOM 2007 standard edition).
- Please note the "known issues" that are documented in the module description.
- Added: dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtags.h
- dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtarics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
- dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
- dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
- dcmrt/include/dcmtk/dcmrt/seq/drtians.h
- dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
- dcmrt/include/dcmtk/dcmrt/seq/drtois.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
- dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
- dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
- dcmrt/libsrc/drtaadcs.cc
- dcmrt/libsrc/drtafs.cc
- dcmrt/libsrc/drtags.cc
- dcmrt/libsrc/drtajcs.cc
- dcmrt/libsrc/drtarics.cc
- dcmrt/libsrc/drtbvcps.cc
- dcmrt/libsrc/drtcctus.cc
- dcmrt/libsrc/drtcsas.cc
- dcmrt/libsrc/drtdimrs.cc
- dcmrt/libsrc/drtdirs.cc
- dcmrt/libsrc/drtfes.cc
- dcmrt/libsrc/drtgas.cc
- dcmrt/libsrc/drtiais.cc
- dcmrt/libsrc/drtians.cc
- dcmrt/libsrc/drtipiqs.cc
- dcmrt/libsrc/drtiseis.cc
- dcmrt/libsrc/drtois.cc
- dcmrt/libsrc/drtpfms.cc
- dcmrt/libsrc/drtpsics.cc
- dcmrt/libsrc/drtrbs4.cc
- dcmrt/libsrc/drtrecs.cc
- dcmrt/libsrc/drtrppcs.cc
- dcmrt/libsrc/drtrpphs.cc
- dcmrt/libsrc/drtrscs.cc
- dcmrt/libsrc/drtrsers.cc
- dcmrt/libsrc/drtrsrs.cc
- dcmrt/libsrc/drtrtrs2.cc
- dcmrt/libsrc/drtrtrs4.cc
- dcmrt/libsrc/drtrwvms.cc
- dcmrt/libsrc/drtscris.cc
- dcmrt/libsrc/drtsdcs.cc
- dcmrt/libsrc/drtspccs.cc
- dcmrt/libsrc/drtwrs.cc
- dcmrt/libsrc/drtxrs.cc
- Removed: dcmrt/include/dcmtk/dcmrt/seq/drtrtrs.h
- dcmrt/include/dcmtk/dcmrt/seq/drtrbass8.h
- dcmrt/include/dcmtk/dcmrt/seq/drtforrs.h
- dcmrt/libsrc/drtrtrs.cc
- dcmrt/libsrc/drtrbass8.cc
- dcmrt/libsrc/drtforrs.cc
- Affects: COPYRIGHT
- dcmrt/apps/Makefile.dep
- dcmrt/apps/Makefile.in
- dcmrt/docs/dcmrt.dox
- dcmrt/include/dcmtk/dcmrt/*.h
- dcmrt/libsrc/*.cc
- dcmrt/tests/Makefile.dep
- dcmrt/tests/Makefile.in
-
-**** Changes from 2014.10.24 (riesmeier)
-
-- Fixed wrong term "Device Driving Level":
- Replaced wrong term "Device Driving Level" by "Digital Driving Level" (DDL).
- Affects: dcmimgle/apps/dcmdspfn.cc
- dcmimgle/docs/dcmdspfn.man
- dcmimgle/docs/dconvlum.man
- dcmimgle/include/dcmtk/dcmimgle/diciefn.h
- dcmimgle/include/dcmtk/dcmimgle/didispfn.h
- dcmimgle/include/dcmtk/dcmimgle/digsdfn.h
- dcmimgle/libsrc/diciefn.cc
- dcmimgle/libsrc/digsdfn.cc
-
-- Attribute (0040,4005) has not been retired:
- Fixed an issue with Scheduled Procedure Step Start DateTime (0040,4005) being
- retired accidentally by the 2013 edition of the DICOM standard. The editor
- of the DICOM standard, David Clunie, confirmed that this was not intended.
- Affects: dcmdata/data/dicom.dic
- dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2014.10.24 (schlamelcher)
-
-- Fixed autoconf install regarding ofstd variadic:
- Added the location ofstd/variadic to the autoconf install configuration.
- Thanks to Hüseyin Kozan <posta@huseyinkozan.com.tr> for the suggestion.
- Affects: ofstd/include/Makefile.in
-
-**** Changes from 2014.10.17 (riesmeier)
-
-- Added missing documentation for --propose-deflated:
- Apparently, the command line option --propose-deflated (-xd) was not
- documented in the man page.
- Affects: dcmnet/docs/storescu.man
-
-**** Changes from 2014.10.15 (schlamelcher)
-
-- Reintroduced bugfix-comment in dcmjpeg:
- The comment was previously removed because of the misleading date notice,
- it has now been reintroduced without that notice.
- Affects: dcmjpeg/libijg12/jchuff.c
- dcmjpeg/libijg12/jdhuff.c
- dcmjpeg/libijg16/jchuff.c
- dcmjpeg/libijg16/jdhuff.c
- dcmjpeg/libijg8/jchuff.c
- dcmjpeg/libijg8/jdhuff.c
-
-**** Changes from 2014.10.14 (riesmeier)
-
-- RLE images should not use multiple fragments:
- Made it clearer that the DICOM standard does not allow for storing the pixel
- data with multiple fragments per frame when RLE compression is used. Added
- comment/note and report a warning during encoding. Closes DCMTK Bug #396.
- Affects: dcmdata/docs/dcmcrle.man
- dcmdata/include/dcmtk/dcmdata/dcrlecp.h
- dcmdata/libsrc/dcrlecce.cc
-
-**** Changes from 2014.10.09 (schlamelcher)
-
-- Several fixes and additions for yesterday's commits:
- Guarded remaining friend comparison operators of OFoptional via
- OFenable_if. This should finally fix the faulty overload resolution
- problem in Visual Studio.
- Worked around a limitation in MinGW where const objects could not have
- external linkage.
- Corrected template-recursion related problem in OFtuple that prevented
- compiling with Clang.
- Affects: ofstd/include/dcmtk/ofstd/ofoption.h
- ofstd/include/dcmtk/ofstd/oftuple.h
- ofstd/libsrc/ofstd.cc
- ofstd/tests/toption.cc
-
-**** Changes from 2014.10.08 (schlamelcher)
-
-- Small fixes for a previous commit about OFtuple:
- Removed unnecessary additions to the Doxygen configuration file for
- manpages.
- Added OFtuple's testcase to the autoconf configuration.
- Added 'Purpose' statement to OFtuple's header file.
- Affects: doxygen/manpages.cfg
- ofstd/include/dcmtk/ofstd/oftuple.h
- ofstd/tests/Makefile.in
-
-- Introduced move emulation for pre C++11 compilers:
- C++11's move semantics allow more efficient parameter and especially
- return value passing then before. The implemented emulation allows to use
- the primary functionality of move semantics in pre C++11 compilers in a way
- that automatically translates to the appropriate C++11 syntax when C++11
- support is enabled via 'DCMTK_USE_CXX11_STL'.
- The only class utilizing move semantics so far is OFunique_ptr, where move
- semantics are essential to allow using OFunique_ptr objects as parameters
- or return values.
- Affects: ofstd/include/dcmtk/ofstd/ofmem.h
- ofstd/include/dcmtk/ofstd/ofutil.h
- ofstd/tests/tmem.cc
-
-- Introduced OFtuple implementing generic tuples:
- OFtuple is a fixed-size collection of heterogeneous values. It can be
- regarded as a generalization of OFPair.
- OFtuple is similar to C++11's std::tuple and can be replaced by
- std::tuple via enabling 'DCMTK_USE_CXX11_STL'.
- Added: ofstd/include/dcmtk/ofstd/oftuple.h
- ofstd/include/dcmtk/ofstd/variadic/tuple.h
- ofstd/include/dcmtk/ofstd/variadic/tuplefrd.h
- ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
- ofstd/tests/ttuple.cc
- Affects: doxygen/htmldocs.cfg
- doxygen/manpages.cfg
- ofstd/include/dcmtk/ofstd/ofmap.h
- ofstd/include/dcmtk/ofstd/ofutil.h
- ofstd/libsrc/ofstd.cc
- ofstd/tests/CMakeLists.txt
- ofstd/tests/tests.cc
-
-- Modified some of OFoptional's comparison operators:
- All comparison operators with an OFoptional object as left hand side
- argument are now implemented as member methods instead of friend functions.
- This is meant to reduce incorrect overload lookup in some Visual Studio
- compilers.
- Affects: ofstd/include/dcmtk/ofstd/ofoption.h
-
-- Fixed a problem in storescp:
- Storescp aborts if it cannot create files in its working directory.
- This behavior is intended, but it should be omitted if the "--ignore"
- flag was set, which is realized by this commit.
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the suggestion.
- Affects: dcmnet/apps/storescp.cc
-
-- Introduced DcmOutputBufferStream::filled() method:
- This method allows to query the bytes in buffer without flushing it.
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the suggestion.
- Affects: dcmdata/include/dcmtk/dcmdata/dcostrmb.h
- dcmdata/libsrc/dcostrmb.cc
-
-**** Changes from 2014.10.02 (riesmeier)
-
-- Fixed typo in method name:
- Renamed method getConnnectionTimeout() to getConnectionTimeout().
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/include/dcmtk/dcmnet/scpcfg.h
- dcmnet/libsrc/scp.cc
- dcmnet/libsrc/scpcfg.cc
- dcmnet/libsrc/scppool.cc
-
-**** Changes from 2014.09.30 (schlamelcher)
-
-- Fixed a bug in dcmdata:
- Refactoring dcmdata to use unsigned types where possible caused problems
- for some index comparisons. Solved by using iterators instead of indexed
- access.
- Affects: dcmdata/libsrc/dcdict.cc
- dcmdata/libsrc/dcuid.cc
-
-**** Changes from 2014.09.26 (riesmeier)
-
-- Use new VR "UR" for Pixel Data Provider URL:
- Use new VR "UR" (instead of "UT") for the Pixel Data Provider URL (0028,7fe0)
- element because otherwise two test cases of the dcmdata module fail. This is
- because the VR of this attribute changed with CP-1324 (see commit 79c499a).
- Affects: dcmdata/tests/tparser.cc
-
-**** Changes from 2014.09.25 (riesmeier)
-
-- Enhanced rewriting rules in DcmVR::getValidEVR():
- Enhanced rewriting rules in DcmVR::getValidEVR() by mapping post-1993 VRs like
- "UT" to "UN" instead of "OB" if possible (i.e. if not disabled as well).
- Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/libsrc/dcvr.cc
-
-- Added functions to enable/disable post-1993 VRs:
- Added global functions that allow for enabling and disabling the value
- representations (VRs) that have been introduced after the first edition of
- the DICOM standard (1993) with a single call. These new functions make it
- easier to maintain the various command line tools that use the corresponding
- global flags, e.g. dcmEnableUnlimitedTextVRGeneration.
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmcrle.cc
- dcmdata/apps/dcmdrle.cc
- dcmdata/apps/dcmgpdir.cc
- dcmdata/apps/dump2dcm.cc
- dcmdata/apps/mdfconen.cc
- dcmdata/apps/pdf2dcm.cc
- dcmdata/apps/xml2dcm.cc
- dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/libsrc/dcvr.cc
- dcmimage/apps/dcmquant.cc
- dcmimage/apps/dcmscale.cc
- dcmjpeg/apps/dcmcjpeg.cc
- dcmjpeg/apps/dcmdjpeg.cc
- dcmjpls/apps/dcmcjpls.cc
- dcmjpls/apps/dcmdjpls.cc
- dcmnet/apps/findscu.cc
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
- dcmpstat/apps/dcmprscp.cc
- dcmpstat/apps/dcmprscu.cc
- dcmpstat/apps/dcmpsrcv.cc
- dcmpstat/apps/dcmpssnd.cc
- dcmqrdb/apps/dcmqrscp.cc
- dcmqrdb/apps/dcmqrti.cc
- dcmsr/apps/xml2dsr.cc
- dcmwlm/apps/wlcefs.cc
-
-**** Changes from 2014.09.24 (riesmeier)
-
-- Updated data dictionary for DICOM 2014b edition:
- Updated data dictionary for the latest edition of the DICOM standard, which
- has been released on 2014-09-18. Please note that the VR of some existing
- attributes changed from ST or UT to the new VR "UR", which has been added
- specifically for Universal Resource Identifiers/Locators (URI/URL).
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Added support for new value representation "UR":
- Added support for new value representation "Universal Resource Identifier or
- Universal Resource Locator (URI/URL)" (UR) that has been introduced only
- recently with CP-1324 (Add a new Value Representation for URI/URLs).
- Added: dcmdata/include/dcmtk/dcmdata/dcvrur.h
- dcmdata/libsrc/dcvrur.cc
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmcrle.cc
- dcmdata/apps/dcmdrle.cc
- dcmdata/apps/dcmgpdir.cc
- dcmdata/apps/dump2dcm.cc
- dcmdata/apps/mdfconen.cc
- dcmdata/apps/pdf2dcm.cc
- dcmdata/apps/xml2dcm.cc
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dctk.h
- dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/libi2d/Makefile.dep
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/Makefile.in
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcvr.cc
- dcmdata/libsrc/vrscanl.c
- dcmdata/libsrc/vrscanl.h
- dcmdata/libsrc/vrscanl.l
- dcmdata/tests/Makefile.dep
- dcmdata/tests/tchval.cc
- dcmdata/tests/telemlen.cc
- dcmdata/tests/tests.cc
- dcmimage/apps/dcmquant.cc
- dcmimage/apps/dcmscale.cc
- dcmjpeg/apps/dcmcjpeg.cc
- dcmjpeg/apps/dcmdjpeg.cc
- dcmjpls/apps/dcmcjpls.cc
- dcmjpls/apps/dcmdjpls.cc
- dcmnet/apps/findscu.cc
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
- dcmpstat/apps/dcmprscp.cc
- dcmpstat/apps/dcmprscu.cc
- dcmpstat/apps/dcmpsrcv.cc
- dcmpstat/apps/dcmpssnd.cc
- dcmqrdb/apps/dcmqrscp.cc
- dcmqrdb/apps/dcmqrti.cc
- dcmsr/apps/xml2dsr.cc
- dcmwlm/apps/wlcefs.cc
-
-- Fixed typos in comments and other minor issues.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrlt.h
- dcmdata/include/dcmtk/dcmdata/dcvrst.h
- dcmdata/include/dcmtk/dcmdata/dcvrut.h
- dcmdata/libsrc/dcvrut.cc
-
-- Removed misleading comment from checkStringValue():
- Removed misleading comment on possibly "multiple values" to be checked from
- checkStringValue() method.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrlt.h
- dcmdata/include/dcmtk/dcmdata/dcvrst.h
- dcmdata/include/dcmtk/dcmdata/dcvrut.h
-
-**** Changes from 2014.09.19 (riesmeier)
-
-- Added support for optional JPEG fill byte:
- Added support for optional fill byte '0xff' to JPEG decoder. Previously,
- JPEG-compressed DICOM images containing fill bytes could not be decompressed.
- Also added output to the logger in case an invalid JPEG marker is found.
- Affects: dcmjpeg/libsrc/djcodecd.cc
-
-**** Changes from 2014.09.18 (onken)
-
-- Fixed conversion of color to palette color mode.
- Affects: dcmimage/libsrc/diquant.cc
-
-**** Changes from 2014.09.03 (onken)
-
-- Make new compare() method more reliable.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcelem.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcsequen.h
- dcmdata/include/dcmtk/dcmdata/dcvrat.h
- dcmdata/include/dcmtk/dcmdata/dcvrfd.h
- dcmdata/include/dcmtk/dcmdata/dcvrfl.h
- dcmdata/include/dcmtk/dcmdata/dcvrobow.h
- dcmdata/include/dcmtk/dcmdata/dcvrsl.h
- dcmdata/include/dcmtk/dcmdata/dcvrss.h
- dcmdata/include/dcmtk/dcmdata/dcvrul.h
- dcmdata/include/dcmtk/dcmdata/dcvrus.h
- dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dcsequen.cc
- dcmdata/libsrc/dcvrat.cc
- dcmdata/libsrc/dcvrfd.cc
- dcmdata/libsrc/dcvrfl.cc
- dcmdata/libsrc/dcvrobow.cc
- dcmdata/libsrc/dcvrsl.cc
- dcmdata/libsrc/dcvrss.cc
- dcmdata/libsrc/dcvrul.cc
- dcmdata/libsrc/dcvrus.cc
-
-**** Changes from 2014.09.01 (onken)
-
-- Make sure dcmdata tests compile with autoconf.
- Affects: dcmdata/tests/Makefile.in
-
-**** Changes from 2014.08.29 (onken)
-
-- New compare() function for dcmdata object values:
- A new compare() function is added to all VR classes under the DcmElement
- object hierarchy which compares two objects (of the same type) by value.
- The function takes into account that elements may have different tags,
- values and VMs.
- Added: dcmdata/tests/tvrcomp.cc
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcelem.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcsequen.h
- dcmdata/include/dcmtk/dcmdata/dcvrat.h
- dcmdata/include/dcmtk/dcmdata/dcvrfd.h
- dcmdata/include/dcmtk/dcmdata/dcvrfl.h
- dcmdata/include/dcmtk/dcmdata/dcvrobow.h
- dcmdata/include/dcmtk/dcmdata/dcvrsl.h
- dcmdata/include/dcmtk/dcmdata/dcvrss.h
- dcmdata/include/dcmtk/dcmdata/dcvrul.h
- dcmdata/include/dcmtk/dcmdata/dcvrus.h
- dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcsequen.cc
- dcmdata/libsrc/dcvrat.cc
- dcmdata/libsrc/dcvrfd.cc
- dcmdata/libsrc/dcvrfl.cc
- dcmdata/libsrc/dcvrobow.cc
- dcmdata/libsrc/dcvrsl.cc
- dcmdata/libsrc/dcvrss.cc
- dcmdata/libsrc/dcvrul.cc
- dcmdata/libsrc/dcvrus.cc
- dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.dep
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
-
-
-**** Changes from 2014.08.26 (schlamelcher)
-
-- Fixed a problem with Microsoft Safe CRT in oflog:
- The oflog module now honors the configure test results instead of using
- its own definitions. Thanks to Matt McCormick <matt.mccormick@kitware.com>
- for the report and suggested patch.
- Affects: oflog/include/dcmtk/oflog/config/win32.h
-
-**** Changes from 2014.08.18 (schlamelcher)
-
-- Refined definition of numeric types and traits:
- Introduced OFlonglong and OFulonglong preprocessor definitions that
- expand to the platform specific long long type or are undefined if
- no such type is available.
- Reimplemented fixed width integer types employing these long long
- types and refined integer traits to use the primitive types instead
- of the fixed with types in their specializations.
- Affects: ofstd/include/dcmtk/ofstd/oftypes.h
- ofstd/include/dcmtk/ofstd/oftraits.h
-
-**** Changes from 2014.07.31 (riesmeier)
-
-- Added check on valid "IMAGE" SOP Classes:
- Added check on SOP Classes to be referenced from an IMAGE content item, which
- includes the Segmentation Storage SOP Class. This kind of check was already
- performed for Presentation State and Waveform objects. Also compared these
- lists of supported SOP Classes with the current edition of the DICOM standard.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrwavvl.cc
-
-- Added dcmIsImageStorageSOPClassUID() function:
- Added a global function that checks whether a given SOP Class UID is one of
- the known Image Storage SOP Classes (similar to dcmIsaStorageSOPClassUID()).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
-
-**** Changes from 2014.07.30 (riesmeier)
-
-- Insert a subtree into an empty document tree:
- Added missing support for inserting a subtree into an empty document tree (if
- this subtree is a valid document tree). Also added new tests for this case.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
-
-**** Changes from 2014.07.29 (riesmeier)
-
-- Further enhanced by-reference relationships:
- Now storing the value type of a referenced node (target content item) in the
- by-reference tree node class in order to facilitate IOD constraint checking.
- Added new methods to by-reference tree node class in order to avoid direct
- access to the member variables (by a friend class), and to allow updating the
- referenced node. Added missing support for by-reference relationships in
- DSRDocumentSubTree::checkSubTreeConstraints(). Also added a new test on this.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrreftn.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoc.cc
-
-**** Changes from 2014.07.28 (riesmeier)
-
-- Enhanced support for by-reference relationships:
- Enhanced support for by-reference relationships in subtrees extracted from a
- valid document tree. Also added a new test for this particular case.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
-
-- Added extractSubTree() method to tree classes:
- Added extractSubTree() method to the tree classes. This allows for extracting
- a particular subtree from an SR document tree or from another subtree. Also
- added new tests for the new methods on DSRDocumentSubTree and DSRTree level.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
- dcmsr/tests/tsrtree.cc
-
-**** Changes from 2014.07.25 (riesmeier)
-
-- Added removeSubTree() method to subtree class:
- Added removeSubTree() method to the document subtree class. This allows for
- removing (and deleting) a particular subtree from an SR document tree/subtree.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
-
-- Added public method to change SR document type:
- Added public method that allows for changing the type of an SR document (IOD)
- without deleting the currently stored document tree, if this is possible.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/tests/tsrdoc.cc
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/CMakeLists.txt
- dcmsr/tests/Makefile.dep
- dcmsr/tests/Makefile.in
- dcmsr/tests/tests.cc
-
-- Fixed wrong term in Doxygen documentation:
- Instead of "content relationship constraints" the DICOM standard uses the
- term "relationship content constraints".
- Affects: dcmsr/include/dcmtk/dcmsr/dsrbascc.h
- dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h
- dcmsr/include/dcmtk/dcmsr/dsrchecc.h
- dcmsr/include/dcmtk/dcmsr/dsrcolcc.h
- dcmsr/include/dcmtk/dcmsr/dsrcomcc.h
- dcmsr/include/dcmtk/dcmsr/dsrenhcc.h
- dcmsr/include/dcmtk/dcmsr/dsrimpcc.h
- dcmsr/include/dcmtk/dcmsr/dsriodcc.h
- dcmsr/include/dcmtk/dcmsr/dsrkeycc.h
- dcmsr/include/dcmtk/dcmsr/dsrmaccc.h
- dcmsr/include/dcmtk/dcmsr/dsrmamcc.h
- dcmsr/include/dcmtk/dcmsr/dsrprocc.h
- dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h
- dcmsr/include/dcmtk/dcmsr/dsrspecc.h
- dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h
-
-- Slightly enhanced layout of Doxygen documentation.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
-
-- Removed DLL specifier from template classes:
- Removed DLL import/export specifier from template classes since this does not
- seem to work with VisualStudio (when compiling with shared libraries enabled).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
-
-**** Changes from 2014.07.24 (onken)
-
-- Fix last commit by including implementation file.
- Affects: dcmdata/libsrc/dcuid.cc
-
-- Reverted false retirement status of some SOP Classes.
- Three composite instance retrieve SOP Classes have accidentially
- been added using the "RETIRED_" prefix in their respective constant
- names. Thanks to Michael Spacek <tupinek@gmail.com> for the report
- and suggested patch.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
-
-- Specific error if no presentation context proposed.
- Return specific error if Association requestor does not propose any
- presentation context (must propose one or more).
- Affects: dcmnet/include/dcmtk/dcmnet/cond.h
- dcmnet/libsrc/assoc.cc
- dcmnet/libsrc/cond.cc
-
-**** Changes from 2014.07.23 (riesmeier)
-
-- Clarified use of template identification:
- Made it clearer that the template identification using the Content Template
- Sequence (0040,A504) is only applicable to CONTAINER content items. At the
- time when the development of the "dcmsr" module started, this restriction was
- not present in the DICOM standard (see DICOM PS 3.3-2000 for details).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/data/dsr2xml.xsd
- dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/libsrc/dsrcitem.cc
- dcmsr/libsrc/dsrdoctn.cc
-
-- Fixed two memory leaks in recently added code:
- Fixed a memory leak in DSRDocumentSubTree::insertSubTree() and another one in
- the destructor of class DSRContentItem. These leaks were found with valgrind.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrcitem.cc
- dcmsr/libsrc/dsrdocst.cc
-
-**** Changes from 2014.07.22 (riesmeier)
-
-- Added checking of IOD-specific constraints:
- Enhanced new insertSubTree() method by also checking whether the content
- relationship constraints of the underlying SR IOD are followed, which is
- needed for the derived class DSRDocumentTree. Also added further tests.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
-
-**** Changes from 2014.07.21 (riesmeier)
-
-- Added insertSubTree() method to subtree class:
- Added insertSubTree() and canInsertSubTree() method to the document subtree
- class. This allows for adding a particular subtree to an SR document tree or
- to another subtree. Also added new tests for these methods (as always).
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
-
-- Fixed a bug in convertNewlineCharacters():
- Fixed an ugly bug in convertNewlineCharacters() that caused dump2dcm to crash.
- This issue was introduced with commit 093768a, i.e. the previous one.
- Thanks to Markus Konrad <markus.konrad@et-innovations.org> for the report.
- Affects: dcmdata/apps/dump2dcm.cc
-
-**** Changes from 2014.07.18 (riesmeier)
-
-- Restructured classes for nodes and trees:
- Converted basic node and tree classes to C++ templates. This makes the code
- clearer and avoids many explicit type casts. Also fixed some scope issues.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrtncsr.cc
- dcmsr/libsrc/dsrtree.cc
- dcmsr/tests/tsrtree.cc
-
-**** Changes from 2014.07.17 (riesmeier)
-
-- Reimplemented various getXXX() methods:
- Reimplemented various public getXXX() methods in derived tree class, but in
- the "protected" section. This also avoids some explicit type casts.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrtncsr.cc
- dcmsr/libsrc/dsrtree.cc
-
-- Changed return type of addContentItem(node*):
- Changed return type of addContentItem() method that expects a pointer to a
- newly created document tree node. It now returns an OFCondition (like other
- similar methods) instead of the pointer to the tree node that was passed to
- it. Also fixed possible memory leaks in case adding the new tree node failed.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/tests/tsrdoctr.cc
-
-- Cleaned up handling of "unknown" relationships:
- Made sure that the "unknown" relationship type is only permitted on top-level
- in a document subtree. This will be used for certain DICOM SR templates.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/tests/tsrdoctr.cc
-
-**** Changes from 2014.07.17 (onken)
-
-- Fixed possible memory leak.
- Thanks to Peter Hille <peter@das-system-networks.de> for the report and
- suggested fix.
- Affects: dcmnet/libsrc/assoc.cc
-
-**** Changes from 2014.07.16 (riesmeier)
-
-- Added cloneSubTree() method to tree classes:
- Added cloneSubTree() method to the tree classes. This allows for copying a
- particular subtree from an SR document tree or from another subtree. Also
- added new tests for these methods.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrtree.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
- dcmsr/tests/tsrtree.cc
-
-- Minor fixes on "const" declaration of pointers.
- Affects: dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctn.cc
-
-**** Changes from 2014.07.15 (riesmeier)
-
-- Added gotoFirst() and gotoLast() methods:
- Added gotoFirst() and gotoLast() methods, which allow for setting the cursor
- to the first or last node on the same level (i.e. the first or last sibling).
- These methods will be useful for the upcoming cloneSubTree() methods.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/libsrc/dsrtncsr.cc
- dcmsr/tests/tsrtree.cc
-
-- Added further checking methods to cursor class:
- Added methods that check whether the current node has a parent, at least one
- child node, preceding or following siblings. Also added new tests for that.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/libsrc/dsrtncsr.cc
- dcmsr/tests/tsrtree.cc
-
-- Added getPreviousNode() and getChildNode():
- Added missing getPreviousNode() and getChildNode() methods, which allow for
- looking up the previous node or first child node without changing the cursor.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/libsrc/dsrtncsr.cc
-
-**** Changes from 2014.07.14 (riesmeier)
-
-- Implemented copy constructors for tree classes:
- Added missing copy constructors and clone() methods to various tree classes.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrdocst.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrtree.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
- dcmsr/tests/tsrtree.cc
-
-**** Changes from 2014.07.11 (riesmeier)
-
-- Introduced new class DSRDocumentSubTree:
- Introduced new class DSRDocumentSubTree as the base class for the existing
- class DSRDocumentTree. A subtree represents an extract of a SR document tree.
- This new class is another step towards the future support of SR Templates.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Added: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
- dcmsr/libsrc/dsrdocst.cc
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/docs/dcmsr.dox
- dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/tests/Makefile.dep
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
-
-- Fixed various Doxygen-related issues:
- Fixed various Doxygen-related issues, mainly missing class name for some
- identifiers. Also fixed wrong header include (where appropriate).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/include/dcmtk/dcmsr/dsrcodtn.h
- dcmsr/include/dcmtk/dcmsr/dsrcomtn.h
- dcmsr/include/dcmtk/dcmsr/dsrcontn.h
- dcmsr/include/dcmtk/dcmsr/dsrdattn.h
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrdtitn.h
- dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
- dcmsr/include/dcmtk/dcmsr/dsrnumtn.h
- dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h
- dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h
- dcmsr/include/dcmtk/dcmsr/dsrscotn.h
- dcmsr/include/dcmtk/dcmsr/dsrtcotn.h
- dcmsr/include/dcmtk/dcmsr/dsrtextn.h
- dcmsr/include/dcmtk/dcmsr/dsrtimtn.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/include/dcmtk/dcmsr/dsruidtn.h
- dcmsr/include/dcmtk/dcmsr/dsrwavtn.h
-
-**** Changes from 2014.07.11 (onken)
-
-- Add connection timeout setting to SCU class.
- Add DCMTK's global connection timeout to SCU API. Though the timeout is still
- a global settings, this enhances visibility to users. Enhanced documentation
- comments about other existing timeout settings.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-**** Changes from 2014.07.09 (riesmeier)
-
-- Fixed issue with tests run in different order:
- Fixed issue with tests being run in different order when using the CMake
- build system. Now, the ID of the next node to be created can be determined in
- advance.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrtree.cc
- dcmsr/tests/tsrdoctr.cc
- dcmsr/tests/tsrtree.cc
-
-- Added two new convenience functions:
- Added new convenience functions that allow for adding a new node (either on
- the same level or as a child node) and for specifying the concept name with a
- single call. Also added a test case for these functions and gotoNamedNode().
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
-
-- Added method counting the number of nodes:
- Added method that counts the number of nodes stored in a tree.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/libsrc/dsrtree.cc
- dcmsr/tests/tsrtree.cc
-
-- Made sure that all top-level nodes are deleted:
- Made sure that all nodes in the tree are deleted with clear(), even if there
- is more than one node on the top-level (i.e. no dedicated root). This feature
- will be needed for handling the upcoming document subtree class properly.
- Acknowledgement: This work has been supported in part by the "QIICR" project.
- Affects: dcmsr/libsrc/dsrtree.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrtree.cc
-
-**** Changes from 2014.07.08 (riesmeier)
-
-- Excluded "*.md5" files from installation:
- Excluded "*.md5" files generated by Doxygen (when "HAVE_DOT" is set to "YES")
- from installation. This setting is e.g. used by Debian's DCMTK package.
- Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report and
- suggested fix.
- Affects: doxygen/CMakeLists.txt
-
-- Removed outdated CMake exclude pattern:
- Removed outdated "CVS" exclude pattern from CMake install command. After the
- change from CVS to git there is no need to exclude the subdirectory anymore.
- Affects: dcmdata/include/CMakeLists.txt
- dcmimage/include/CMakeLists.txt
- dcmimgle/include/CMakeLists.txt
- dcmjpeg/include/CMakeLists.txt
- dcmjpls/include/CMakeLists.txt
- dcmnet/include/CMakeLists.txt
- dcmpstat/include/CMakeLists.txt
- dcmqrdb/include/CMakeLists.txt
- dcmrt/include/CMakeLists.txt
- dcmsign/include/CMakeLists.txt
- dcmsr/include/CMakeLists.txt
- dcmtls/include/CMakeLists.txt
- dcmwlm/data/CMakeLists.txt
- dcmwlm/include/CMakeLists.txt
- doxygen/CMakeLists.txt
- oflog/include/CMakeLists.txt
- ofstd/include/CMakeLists.txt
-
-- Added explaining comment on new copy constructor.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrreftn.h
-
-**** Changes from 2014.07.07 (riesmeier)
-
-- Implemented copy constructors and added clone():
- Implemented missing copy constructors for tree node classes and added clone()
- methods to the relevant classes. This is the first step towards a better
- support of SR templates, e.g. by preparing subtrees in advance that can later
- be inserted into a document tree.
- Acknowledgements: Development of this feature has been supported in part by
- the Quantitative Image Informatics in Cancer Research (QIICR) project through
- the award U24 CA180918 from the NIH National Cancer Institute. For future
- commits, this reference will be shortened to the project acronym "QIICR".
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/include/dcmtk/dcmsr/dsrcodtn.h
- dcmsr/include/dcmtk/dcmsr/dsrcomtn.h
- dcmsr/include/dcmtk/dcmsr/dsrcontn.h
- dcmsr/include/dcmtk/dcmsr/dsrdattn.h
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/include/dcmtk/dcmsr/dsrdtitn.h
- dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
- dcmsr/include/dcmtk/dcmsr/dsrnumtn.h
- dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h
- dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h
- dcmsr/include/dcmtk/dcmsr/dsrscotn.h
- dcmsr/include/dcmtk/dcmsr/dsrtcotn.h
- dcmsr/include/dcmtk/dcmsr/dsrtextn.h
- dcmsr/include/dcmtk/dcmsr/dsrtimtn.h
- dcmsr/include/dcmtk/dcmsr/dsruidtn.h
- dcmsr/include/dcmtk/dcmsr/dsrwavtn.h
- dcmsr/libsrc/dsrcitem.cc
- dcmsr/libsrc/dsrcodtn.cc
- dcmsr/libsrc/dsrcomtn.cc
- dcmsr/libsrc/dsrcontn.cc
- dcmsr/libsrc/dsrdattn.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrdtitn.cc
- dcmsr/libsrc/dsrimgtn.cc
- dcmsr/libsrc/dsrnumtn.cc
- dcmsr/libsrc/dsrpnmtn.cc
- dcmsr/libsrc/dsrrefin.cc
- dcmsr/libsrc/dsrreftn.cc
- dcmsr/libsrc/dsrsc3tn.cc
- dcmsr/libsrc/dsrscotn.cc
- dcmsr/libsrc/dsrscovl.cc
- dcmsr/libsrc/dsrtcotn.cc
- dcmsr/libsrc/dsrtextn.cc
- dcmsr/libsrc/dsrtimtn.cc
- dcmsr/libsrc/dsruidtn.cc
- dcmsr/libsrc/dsrwavtn.cc
- dcmsr/tests/tests.cc
- dcmsr/tests/tsrdoctr.cc
-
-- Updated copyright date and other minor changes.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrbascc.h
- dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h
- dcmsr/include/dcmtk/dcmsr/dsrchecc.h
- dcmsr/include/dcmtk/dcmsr/dsrcolcc.h
- dcmsr/include/dcmtk/dcmsr/dsrcomcc.h
- dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
- dcmsr/include/dcmtk/dcmsr/dsrenhcc.h
- dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
- dcmsr/include/dcmtk/dcmsr/dsrimgfr.h
- dcmsr/include/dcmtk/dcmsr/dsrimgse.h
- dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/include/dcmtk/dcmsr/dsrimpcc.h
- dcmsr/include/dcmtk/dcmsr/dsriodcc.h
- dcmsr/include/dcmtk/dcmsr/dsrkeycc.h
- dcmsr/include/dcmtk/dcmsr/dsrmaccc.h
- dcmsr/include/dcmtk/dcmsr/dsrmamcc.h
- dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/include/dcmtk/dcmsr/dsrprocc.h
- dcmsr/include/dcmtk/dcmsr/dsrrefin.h
- dcmsr/include/dcmtk/dcmsr/dsrsc3gr.h
- dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h
- dcmsr/include/dcmtk/dcmsr/dsrscogr.h
- dcmsr/include/dcmtk/dcmsr/dsrscovl.h
- dcmsr/include/dcmtk/dcmsr/dsrspecc.h
- dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
- dcmsr/include/dcmtk/dcmsr/dsrtcodt.h
- dcmsr/include/dcmtk/dcmsr/dsrtcosp.h
- dcmsr/include/dcmtk/dcmsr/dsrtcoto.h
- dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
- dcmsr/include/dcmtk/dcmsr/dsrtlist.h
- dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
- dcmsr/include/dcmtk/dcmsr/dsrtree.h
- dcmsr/include/dcmtk/dcmsr/dsrwavch.h
- dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
- dcmsr/include/dcmtk/dcmsr/dsrxmlc.h
- dcmsr/include/dcmtk/dcmsr/dsrxmld.h
- dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h
-
-- Minor fixes to file's comment header.
- Affects: dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsr2xml.cc
- dcmsr/apps/dsrdump.cc
- dcmsr/apps/xml2dsr.cc
- dcmsr/include/dcmtk/dcmsr/dsdefine.h
- dcmsr/libsrc/dsrbascc.cc
- dcmsr/libsrc/dsrc3dcc.cc
- dcmsr/libsrc/dsrchecc.cc
- dcmsr/libsrc/dsrcolcc.cc
- dcmsr/libsrc/dsrcomcc.cc
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrenhcc.cc
- dcmsr/libsrc/dsrimgfr.cc
- dcmsr/libsrc/dsrimgse.cc
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrimpcc.cc
- dcmsr/libsrc/dsriodcc.cc
- dcmsr/libsrc/dsrkeycc.cc
- dcmsr/libsrc/dsrmaccc.cc
- dcmsr/libsrc/dsrmamcc.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrprocc.cc
- dcmsr/libsrc/dsrsc3gr.cc
- dcmsr/libsrc/dsrsc3vl.cc
- dcmsr/libsrc/dsrscogr.cc
- dcmsr/libsrc/dsrsoprf.cc
- dcmsr/libsrc/dsrspecc.cc
- dcmsr/libsrc/dsrstrvl.cc
- dcmsr/libsrc/dsrtcodt.cc
- dcmsr/libsrc/dsrtcosp.cc
- dcmsr/libsrc/dsrtcoto.cc
- dcmsr/libsrc/dsrtcovl.cc
- dcmsr/libsrc/dsrtncsr.cc
- dcmsr/libsrc/dsrtree.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/libsrc/dsrwavch.cc
- dcmsr/libsrc/dsrwavvl.cc
- dcmsr/libsrc/dsrxmlc.cc
- dcmsr/libsrc/dsrxmld.cc
- dcmsr/libsrc/dsrxrdcc.cc
- dcmsr/tests/tsrtree.cc
-
-**** Changes from 2014.07.07 (schlamelcher)
-
-- Fixed a wrong type-alias for OFintegral_constant:
- The type-alias defined when C++11 support was enabled did not honor the
- special nature of std::integral_constant which takes a non-type argument
- as its second template parameter.
- Affects: ofstd/include/dcmtk/ofstd/oftraits.h
-
-- Introduced C++11-like alignment support:
- Created configure tests that detect the availability of various native
- alignment specifiers on different platform / compiler combinations.
- Implemented fallback definitions for OFalignas and OFalignof based on these
- specifiers and the non-standard macros "OFalign" and "OFalign_typename"
- which compensate for the reduced functionality available on Microsoft
- compilers by employing C++ templates.
- OFalign and OFalign_typename are also available on compilers supplying true
- alignment support, making them the most platform-independent
- implementations.
- Added: ofstd/include/dcmtk/ofstd/ofalign.h
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/aclocal.m4
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
-
-- Fixed an alignment problem in OFoptional:
- OFoptional now uses a policy based approach to manage its storage,
- implemented as OFoptional_traits. This allows to customize memory
- allocation and state management, as well as the default construction
- policy.
- The default implementation now uses OFalign when available, to align the
- storage appropriately for its content type. If OFalign is not supported,
- OFoptional falls back to an implementation employing pointers and
- allocating the memory on the heap.
- Affects: ofstd/include/dcmtk/ofstd/ofoption.h
- ofstd/tests/toption.cc
-
-- Fixed building 32 bit targets with mingw-w64:
- Added configure-time tests for some file access functions that aren't
- available on every MinGW distribution.
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- ofstd/include/dcmtk/ofstd/offile.h
-
-**** Changes from 2014.07.02 (riesmeier)
-
-- Removed year component from version field:
- Removed the name of the edition of the DICOM standard, i.e. "2014a" for the
- current edition, from the version field of each DICOM attribute. Since the
- DICOM standard will now be published/updated more often, the complete data
- dictionary will be generated automatically several times a year. Having the
- year component in the version field would change each entry every time and
- would make it hard (if not impossible) to see what has actually changed.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2014.07.01 (riesmeier)
-
-- Updated data dictionary for DICOM 2014a edition:
- Updated data dictionary for the latest edition of the DICOM standard, which
- has been released on 2014-06-30. Since the data dictionary was already
- up-to-date regarding the recently approved Supplements and CPs, there should
- be no changes apart from the name of the underlying DICOM standard edition.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2014.06.30 (riesmeier)
-
-- Added support for new Colon CAD SR constraints:
- Added new "TCOORD selected from" line to the Colon CAD SR constraint checker
- from Table A.35.10-2 (Relationship Content Constraints for Colon CAD SR IOD)
- introduced with the recently approved CP-1335.
- Affects: dcmsr/libsrc/dsrcolcc.cc
-
-- Updated comment based on CP-1335:
- Updated comment on not yet supported Frame of Reference IE / Synchronization
- Module that is conditional/optional for some SR IODs (based on CP-1335).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
-
-- Added support for recently approved CPs:
- Added support for CP-1203, CP-1331, CP-1343 and CP-1347 to the data
- dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Fixed various typos and minor Doxygen issues.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/include/dcmtk/dcmnet/scpcfg.h
-
-**** Changes from 2014.06.23 (riesmeier)
-
-- Fixed incomplete #include comment.
- Affects: dcmnet/libsrc/dimse.cc
-
-**** Changes from 2014.06.19 (riesmeier)
-
-- Added support for CP-1125 to SR implementation:
- Added support for CP-1125, which adds the attribute Protocol Name (0018,1030)
- to both SR Document Series Module and Key Object Document Series Module.
- Affects: dcmsr/data/dsr2xml.xsd
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/libsrc/dsrdoc.cc
-
-- Updated DCMTK's copyright date.
- Affects: COPYRIGHT
-
-**** Changes from 2014.06.18 (schlamelcher)
-
-- Clarified an ambiguous configure message.
- Affects: CMake/dcmtkPrepare.cmake
- config/docs/cxx11.dox
-
-- Removed misleading comment in dcmjpeg.
- Affects: dcmjpeg/libijg12/jchuff.c
- dcmjpeg/libijg12/jdhuff.c
- dcmjpeg/libijg16/jchuff.c
- dcmjpeg/libijg16/jdhuff.c
- dcmjpeg/libijg8/jchuff.c
- dcmjpeg/libijg8/jdhuff.c
-
-**** Changes from 2014.06.18 (riesmeier)
-
-- Updated reference to DICOM standard edition.
- Affects: dcmdata/include/dcmtk/dcmdata/modhelp.h
-
-- Added missing empty line.
- Affects: dcmimage/docs/dcmscale.man
-
-- Fixed typos and other minor issues.
- Affects: INSTALL
- CMake/dcmtkPrepare.cmake
- CMake/osconfig.h.in
- config/docs/cxx11.dox
- config/docs/macros.txt
- dcmdata/include/dcmtk/dcmdata/dcfilter.h
-
-**** Changes from 2014.06.17 (schlamelcher)
-
-- Updated manpages.
- Affects: doxygen/manpages/man1/*
-
-- Updated DCMTK_ABI_VERSION for new development snapshot.
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2014.06.15 (schlamelcher)
-
-- Fixed ofstd_tatof error on older MSVC versions:
- Older MSVC versions handle underflows incorrectly, therefore
- the respective test is skipped on these compilers.
- Affects: ofstd/tests/tatof.cc
-
-- Fixed DCMTK-Exports for custom module setups:
- The variable 'DCMTK_MODULES' is now honored while generating exports,
- to skip modules the user removed from the build.
- Affects: CMake/DCMTKConfig.cmake.in
- CMake/GenerateCMakeExports.cmake
-
-- Fixed and suppressed some warnings:
- Fixed a warning about int / OFBool conversion and suppressed some (silly)
- MSVC warnings.
- Affects: CMake/osconfig.h.in
- ofstd/include/dcmtk/ofstd/ofoption.h
-
-- Added 'DCMTK_USE_CXX11_STL' and 'DCMTK_CXX11_FLAGS':
- These flags control DCMTK's behavior regarding C++11 features.
- DCMTK_USE_CXX11_STL may be used to switch between DCMTK's own classes and
- the respective native C++11 implementations. DCMTK will try to set the
- appropriate CXX_FLAGS to enable C++11 when DCMTK_USE_CXX11_STL is set.
- DCMTK_CXX11_FLAGS may be used to override which CXX_FLAGS DCMTK sets, for
- example to use C++14 instead of C++11.
- Affects: INSTALL
- CMake/osconfig.h.in
- config/configure
- config/configure.in
- config/docs/config.dox
- config/docs/cxx11.dox
- config/docs/macros.txt
- config/include/dcmtk/config/osconfig.h.in
-
-**** Changes from 2014.06.12 (riesmeier)
-
-- Removed outdated comment on DICOM 2008 standard.
- Affects: dcmnet/docs/asconfig.txt
-
-- Replaced CMake variable in Doxygen config file:
- Replaced CMake variable "@CMAKE_CURRENT_SOURCE_DIR@" in Doxygen configuration
- file by existing substitution variable "@DOXYGEN_INPUT_DIR@".
- Affects: doxygen/htmldocs.cfg
-
-- Avoid full directory path in Doxygen footer:
- Avoid full directory path in Doxygen footer when HTML generation is initiated
- from CMake.
- Affects: doxygen/htmldocs.cfg
-
-**** Changes from 2014.06.11 (eichelberg)
-
-- Introduced OFStandard::dropPrivileges():
- This method centralizes the code for dropping root privileges when
- running in setuid root mode.
- Affects: ofstd/include/dcmtk/ofstd/ofcond.h
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofcond.cc
- ofstd/libsrc/ofstd.cc
-
-- Tools now use OFStandard::dropPrivileges():
- Modified applications and support classes to call
- OFStandard::dropPrivileges() instead of setuid(getuid()).
- Affects: dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/libsrc/scp.cc
- dcmpstat/apps/dcmprscp.cc
- dcmpstat/apps/dcmpsrcv.cc
- dcmpstat/tests/msgserv.cc
- dcmqrdb/apps/dcmqrscp.cc
- dcmwlm/libsrc/wlmactmg.cc
-
-**** Changes from 2014.06.11 (riesmeier)
-
-- Group condition constants in Doxygen output.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
- ofstd/include/dcmtk/ofstd/ofcond.h
-
-- Made sure that header file is parsed by Doxygen.
- Affects: ofstd/include/dcmtk/ofstd/oftypes.h
-
-- Renamed Doxygen's layout file again.
- Added: doxygen/layout.xml
- Removed: doxygen/Layout.xml
- Affects: doxygen/htmldocs.cfg
-
-- Removed meaningless layout file setting:
- Removed setting a value for "LAYOUT_FILE" because it is meaningless for man
- pages and produces only warnings in the "manpages.log" file.
- Affects: doxygen/Makefile.in
- doxygen/manpages.cfg
-
-- Fixed typo and updated copyright date.
- Affects: dcmdata/docs/dcm2pdf.man
- dcmdata/docs/dcm2xml.man
- dcmdata/docs/dcmconv.man
- dcmdata/docs/dcmcrle.man
- dcmdata/docs/dcmdrle.man
- dcmdata/docs/dcmdump.man
- dcmdata/docs/dcmftest.man
- dcmdata/docs/dcmgpdir.man
- dcmdata/docs/dcmodify.man
- dcmdata/docs/dump2dcm.man
- dcmdata/docs/img2dcm.man
- dcmdata/docs/pdf2dcm.man
- dcmdata/docs/xml2dcm.man
- dcmimage/docs/dcm2pnm.man
- dcmimage/docs/dcmquant.man
- dcmimage/docs/dcmscale.man
- dcmimgle/docs/dcmdspfn.man
- dcmimgle/docs/dcod2lum.man
- dcmimgle/docs/dconvlum.man
- dcmjpeg/docs/dcmcjpeg.man
- dcmjpeg/docs/dcmdjpeg.man
- dcmjpeg/docs/dcmj2pnm.man
- dcmjpeg/docs/dcmmkdir.man
- dcmjpls/docs/dcmcjpls.man
- dcmjpls/docs/dcmdjpls.man
- dcmjpls/docs/dcml2pnm.man
- dcmnet/docs/dcmrecv.man
- dcmnet/docs/dcmsend.man
- dcmnet/docs/echoscu.man
- dcmnet/docs/findscu.man
- dcmnet/docs/getscu.man
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/docs/storescu.man
- dcmnet/docs/termscu.man
- dcmpstat/docs/dcmmkcrv.man
- dcmpstat/docs/dcmmklut.man
- dcmpstat/docs/dcmp2pgm.man
- dcmpstat/docs/dcmprscp.man
- dcmpstat/docs/dcmprscu.man
- dcmpstat/docs/dcmpschk.man
- dcmpstat/docs/dcmpsmk.man
- dcmpstat/docs/dcmpsprt.man
- dcmpstat/docs/dcmpsrcv.man
- dcmpstat/docs/dcmpssnd.man
- dcmqrdb/docs/dcmqridx.man
- dcmqrdb/docs/dcmqrscp.man
- dcmqrdb/docs/dcmqrti.man
- dcmrt/docs/drtdump.man
- dcmsign/docs/dcmsign.man
- dcmsr/docs/dsr2html.man
- dcmsr/docs/dsr2xml.man
- dcmsr/docs/dsrdump.man
- dcmsr/docs/xml2dsr.man
- dcmwlm/docs/wlmscpfs.man
-
-**** Changes from 2014.06.10 (riesmeier)
-
-- Added DcmSCP::abortAssociation() method:
- Added method that allows one to abort an association by sending an A-ABORT
- request from the SCP, i.e. classes derived from DcmSCP can now abort the
- association in case of severe errors.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.cc
-
-- Added support for new SR IOD from Supplement 159:
- Added full support for the new Radiopharmaceutical Radiation Dose SR IOD
- introduced with Supplement 159.
- Added: dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h
- dcmsr/libsrc/dsrrrdcc.cc
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/docs/dsr2html.man
- dcmsr/docs/dsr2xml.man
- dcmsr/docs/dsrdump.man
- dcmsr/docs/xml2dsr.man
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/Makefile.dep
-
-- Added support for new UID from Supplement 159:
- Added support for new SOP Class UID from Supplement 159 (Radiopharmaceutical
- Radiation Dose Reporting).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-- Added support for Supplement 159 to data dictionary:
- Added support for the final text version of Supplement 159
- (Radiopharmaceutical Radiation Dose Reporting) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2014.06.06 (riesmeier)
-
-- Consistently use "presInfo" for variables/parameters:
- Consistently use "presInfo" as the name of parameter and local variables of
- type DcmPresentationContextInfo, both in header and source files.
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscp.h
- dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/dstorscp.cc
- dcmnet/libsrc/scp.cc
-
-**** Changes from 2014.06.04 (schlamelcher)
-
-- Renamed DoxygenLayout.xml to comply with filename conventions.
- Added: doxygen/Layout.xml
- Removed: doxygen/DoxygenLayout.xml
- Affects: doxygen/CMakeLists.txt
- doxygen/Makefile.in
- doxygen/htmldocs.cfg
- doxygen/manpages.cfg
-
-- Minor fixes and workarounds for Microsoft's compilers:
- Microsoft Visual Studio again shows its lack of standard compliance,
- especially in the hard bug where calling "operator->()" does
- something different than calling "->".
- Affects: dcmimage/include/dcmtk/dcmimage/diqthash.h
- ofstd/include/dcmtk/ofstd/ofoption.h
-
-**** Changes from 2014.06.04 (riesmeier)
-
-- Fixed issue with text alignment in PatternLayout:
- Fixed issue with text alignment in oflog's PatternLayout. After switching to
- log4cplus version 1.1.0 the format specifiers for left and right justified
- text of a particular width did not work any more. This has been fixed by
- returning to the implementation of the previous log4cplus version 1.0.x.
- Also removed trailing spaces and fixed some typos.
- Affects: oflog/libsrc/patlay.cc
-
-- Fixed some Doxygen related issues (and a typo).
- Affects: dcmnet/include/dcmtk/dcmnet/scppool.h
-
-**** Changes from 2014.06.02 (schlamelcher)
-
-- Introduced OFoptional, implementing optional types:
- OFoptional is implemented based on the C++14 proposal for std::optional
- (N3690) and is similar to Boost.Optional.
- Added: doxygen/DoxygenLayout.xml
- ofstd/include/dcmtk/ofstd/ofoption.h
- ofstd/include/dcmtk/ofstd/ofutil.h
- ofstd/tests/toption.cc
- Affects: doxygen/CMakeLists.txt
- ofstd/include/dcmtk/ofstd/ofdefine.h
- ofstd/libsrc/ofstd.cc
- ofstd/tests/CMakeLists.txt
- ofstd/tests/Makefile.in
- ofstd/tests/tests.cc
-
-**** Changes from 2014.05.28 (riesmeier)
-
-- Made sure that the move originator is cleared:
- Made sure that the members MoveOriginatorAETitle and MoveOriginatorMsgID are
- reset in the clear() method.
- Affects: dcmnet/libsrc/dstorscu.cc
-
-- Fixed typos in comments.
- Affects: CMake/DCMTKConfig.cmake26.in
- dcmnet/include/dcmtk/dcmnet/dstorscp.h
- dcmnet/include/dcmtk/dcmnet/dstorscu.h
-
-**** Changes from 2014.05.27 (schlamelcher)
-
-- Modified DcmQuantColorHashTable to perform lazy initialization:
- To improve performance, DcmQuantColorHashTable now creates the internal
- items when they are accessed for the first time instead of at its
- initialization.
- Thanks to Takeo Satomi <takeo.satomi@gmail.com> for the suggested
- improvement.
- Affects: dcmimage/include/dcmtk/dcmimage/diqthash.h
- dcmimage/libsrc/diqthash.cc
-
-**** Changes from 2014.05.09 (riesmeier)
-
-- Various minor fixes for development version.
- Affects: INSTALL
- VERSION
-
-**** Changes from 2014.05.08 (riesmeier)
-
-- Fixed typos, added missing documentation, etc.
- Affects: dcmdata/include/dcmtk/dcmdata/libi2d/i2dbmps.h
- dcmdata/include/dcmtk/dcmdata/libi2d/i2dimgs.h
- dcmdata/include/dcmtk/dcmdata/libi2d/i2djpgs.h
-
-**** Changes from 2014.05.08 (onken)
-
-- Fixed wrong ifdef syntax:
- Thanks to Andrey Fedorov <andrey.fedorov@gmail.com> for the suggested fix.
- Affects: ofstd/include/dcmtk/ofstd/ofexport.h
-
-**** Changes from 2014.05.06 (riesmeier)
-
-- Added further error handling options:
- Added error handling options known from dsrdump and dsr2html to dsr2xml.
- Please be careful with these new command line options since they disable
- certain validation checks on the DICOM SR input file and, therefore, might
- result in non-standard conformant output.
- Affects: dcmsr/apps/dsr2xml.cc
- dcmsr/docs/dsr2xml.man
-
-- Fixed typos in comments.
- Affects: dcmnet/apps/echoscu.c
- dcmnet/apps/movescu.cc
-
-**** Changes from 2014.05.02 (riesmeier)
-
-- Updated data dictionary for DICOM 2013 edition:
- Updated data dictionary for the latest edition of the DICOM standard, which
- has been released on 2014-04-30. Major parts of the "dicom.dic" file have
- been generated automatically based on the machine-readable DocBook version of
- Part 6 and 7 of the DICOM standard. In addition, all recently approved final
- text Supplements and CPs have been added manually. Since the data dictionary
- was already quite up-to-date, there should be minor changes only.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2014.05.01 (riesmeier)
-
-- Added explicit type casts to avoid warnings:
- Added explicit type casts to avoid warnings reported by gcc 4.7.2 (Linux)
- with additional flags or MSVC++ with higher warning level (C4244). Thanks
- to Rasmus Christian Pedersen <zerhacken@yahoo.com> for the original report.
- Affects: dcmnet/apps/dcmrecv.cc
- dcmnet/apps/dcmsend.cc
-
-- Fixed inconsistent parameter type:
- Fixed inconsistent parameter type for setMaxReceivePDULength() method.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-**** Changes from 2014.04.29 (riesmeier)
-
-- Access the (total) number of frames in an image:
- Added support for accessing the value of Number of Frames (0028,0008), i.e.
- the number of frames stored in a DICOM file/dataset.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
- dcmimgle/include/dcmtk/dcmimgle/diimage.h
-
-**** Changes from 2014.04.28 (schlamelcher)
-
-- Minor fixes (whitespace and line ending errors).
- Affects: ofstd/include/dcmtk/ofstd/ofexbl.h
- ofstd/include/dcmtk/ofstd/oftraits.h
-
-**** Changes from 2014.04.25 (schlamelcher)
-
-- Fixed possibly wrong overload resolution in DSRCodedEntryValue:
- The introduction of the "check" parameter, which was added to the
- constructor and the "setCode"-method of DSRCodedEntryValue
- (see changes from 2012.06.11) yielded the possibility of string
- literals being automatically converted to OFBool and therefore being
- misinterpreted as the value of "check" instead of "codeMeaning".
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/libsrc/dsrcodvl.cc
-
-- Introduced the new explicit boolean type OFExplicitBool:
- OFExplicitBool can be used to restrict an overloaded function's
- parameter to "real" OFBool values, e.g. pointers and numeric values
- can NOT be converted to OFExplicitBool implicitly.
- Added: ofstd/include/dcmtk/ofstd/ofexbl.h
-
-- Added support for some additional C++11 traits:
- Added aliases / fallback implementations for the C++11 <type-traits>
- std::conditional, std::is_same, std::is_array, std::is_function,
- std::remove_reference, std::remove_const, std::remove_volatile,
- std::remove_cv, std::remove_extent, std::add_pointer and std::decay.
- Note: Due to the lack of variadic-templates in pre C++11 compilers,
- the fallback implementation of OFis_function has reduced functionality,
- currently only detecting functions with up to three arguments!
- Affects: ofstd/include/dcmtk/ofstd/oftraits.h
-
-**** Changes from 2014.04.24 (riesmeier)
-
-- Added support for determining the FrameTime:
- Added support for determining the value of Frame Time (0018,1063), i.e. the
- nominal time between individual frames, from the DICOM dataset (if present).
- Affects: dcmimage/apps/dcm2pnm.cc
- dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
- dcmimgle/include/dcmtk/dcmimgle/diimage.h
- dcmimgle/libsrc/diimage.cc
-
-- Fixed typo in comments.
- Affects: dcmimgle/include/dcmtk/dcmimgle/didocu.h
-
-- Removed superfluous member initialization:
- Removed initialization of member variables that are set by setCode() anyway.
- Affects: dcmsr/libsrc/dsrcodvl.cc
-
-**** Changes from 2014.04.23 (riesmeier)
-
-- Added support for Supplement 124 to data dictionary:
- Added support for the final text version of Supplement 124 (Communication of
- Display Parameters) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Added support for new UIDs from Supplement 124:
- Added support for new SOP Class and Well-known SOP Instance UID from
- Supplement 124 (Communication of Display Parameters).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
-
-**** Changes from 2014.04.16 (schlamelcher)
-
-- Fixed most of the warnings in ofstd and oflog:
- Compiled with extensive warning options except -Wtraditional and corrected
- most of the problems.
- Affects: dcmdata/libsrc/mkdeftag.cc
- oflog/include/dcmtk/oflog/helpers/strhelp.h
- oflog/include/dcmtk/oflog/thread/impl/syncwin.h
- oflog/libsrc/log4judp.cc
- oflog/libsrc/ntelogap.cc
- oflog/libsrc/sockbuff.cc
- oflog/libsrc/striconv.cc
- oflog/libsrc/syslogap.cc
- oflog/libsrc/threads.cc
- oflog/libsrc/timehelp.cc
- oflog/libsrc/unixsock.cc
- oflog/libsrc/winsock.cc
- ofstd/include/dcmtk/ofstd/ofbmanip.h
- ofstd/include/dcmtk/ofstd/ofexport.h
- ofstd/include/dcmtk/ofstd/ofmap.h
- ofstd/include/dcmtk/ofstd/ofmem.h
- ofstd/include/dcmtk/ofstd/ofthread.h
- ofstd/libsrc/ofchrenc.cc
- ofstd/libsrc/ofconfig.cc
- ofstd/libsrc/ofstring.cc
- ofstd/libsrc/oftempf.cc
- ofstd/libsrc/ofthread.cc
- ofstd/libsrc/ofuuid.cc
- ofstd/libsrc/ofxml.cc
- ofstd/tests/tatof.cc
- ofstd/tests/tftoa.cc
- ofstd/tests/tlist.cc
-
-**** Changes from 2014.04.14 (schlamelcher)
-
-- Added documentation for the new macro "DOXYGEN":
- The macro DOXYGEN is defined when generating the documentation with doxygen
- and should NEVER be defined when compiling with a C/C++ compiler.
- See config/docs/macros.txt for details.
- Affects: config/docs/macros.txt
-
-- Added support for some C++11 types, literals and traits:
- Updated implementation of fixed-width integer types to better conform the
- C++11 standard. This includes OFintptr_t and OFuintptr_t as integer types
- capable of holding a pointer-value.
- Implemented aliases for C++11's nullptr / nullptr_t (OFnullptr / OFnullptr_t)
- an the respective fallback implementations for older compilers.
- Introduced new header file "oftraits.h" as pendant to C++11's <type-traits>,
- currently implementing integral constants, enable_if and is_signed /
- is_unsigned. See http://en.cppreference.com/w/cpp/header/type_traits for
- details.
- Added: ofstd/include/dcmtk/ofstd/oftraits.h
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- doxygen/htmldocs.cfg
- ofstd/include/dcmtk/ofstd/ofstdinc.h
- ofstd/include/dcmtk/ofstd/oftypes.h
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2014.04.14 (riesmeier)
-
-- Optionally disable isFilenameValid() check:
- Added optional parameter to checkDicomFile() and loadAndCheckDicomFile()
- that allows one to disable the check for a valid DICOM filename (used as the
- value for ReferencedFileID within the DICOMDIR). This is because the file
- might be renamed after one of these methods is called.
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/libsrc/dcddirif.cc
-
-- Simplified creation of temporary DICOMDIR file:
- Replaced creation of a temporary DICOMDIR file by a simpler approach: Just
- append ".tmp" to the DICOMDIR filename (in the specified output directory).
- This also makes sure that on Windows systems directory names with special
- characters (in UTF-16 encoding) are supported.
- Affects: dcmdata/include/dcmtk/dcmdata/dcdicdir.h
- dcmdata/libsrc/dcdicdir.cc
-
-**** Changes from 2014.04.13 (riesmeier)
-
-- Output to debug logger if memory allocation fails.
- Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
-
-- Fixed typo in comment.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dimopx.h
-
-- Use non-throwing new and delete operator:
- Use non-throwing new and delete operator for large memory buffers in order to
- avoid exceptions. Output to debug logger if memory allocation fails.
- Affects: dcmimage/include/dcmtk/dcmimage/dicopxt.h
- dcmimgle/include/dcmtk/dcmimgle/dimopxt.h
-
-**** Changes from 2014.04.11 (riesmeier)
-
-- Enhanced createDirectory() function:
- Added support for Windows-specific wide character encoding (UTF-16) to the
- createDirectory() helper function. The second parameter "rootDir" is still
- optional, but has no default value any more (due to the fact that OFFilename
- is not completely specified in the header file; forward declaration only).
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-- Enhanced removeRootDirFromPathname() function:
- Added support for Windows-specific wide character encoding (UTF-16) to the
- removeRootDirFromPathname() helper function. Also added a new test case.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
- ofstd/tests/tests.cc
- ofstd/tests/tofstd.cc
-
-- Fixed various typos in comments.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
-
-**** Changes from 2014.04.09 (riesmeier)
-
-- Fixed issue with untyped NULL reported by MSVC++.
- Affects: ofstd/tests/tofstd.cc
-
-**** Changes from 2014.04.08 (riesmeier)
-
-- Added test for OFStandard::appendFilenameExtension().
- Affects: ofstd/tests/tests.cc
- ofstd/tests/tofstd.cc
-
-- Fixed some issues with wide character support:
- In combineDirAndFilename(), there was an issue with empty directory names
- being converted to "." if parameter "allowEmptyDirName" = OFFalse. And in
- appendFilenameExtension(), support for 8-bit character file extensions was
- missing, e.g. append ".bak" to a wide or 8-bit character string.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2014.04.08 (schlamelcher)
-
-- Minor fixes in dcmdata:
- Fixed warnings in dictionary generator instead of in the generated code.
- Re-enabled variadic macros for mingw. The option "-Wno-variadic-macros"
- should be used instead of disabling this feature.
- Affects: dcmdata/libsrc/dcdictzz.cc
- dcmdata/libsrc/mkdictbi.cc
- oflog/include/dcmtk/oflog/logmacro.h
-
-**** Changes from 2014.04.07 (riesmeier)
-
-- Added support for recently approved CPs:
- Added support for CP-1282, CP-1285, CP-1325 and CP-1326 to the data
- dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2014.04.01 (riesmeier)
-
-- Added further header files to Doxygen documentation:
- Added further header files with global functions, typedefs, enums, macros,
- etc. to Doxygen generated HTML output.
- Affects: dcmjpeg/include/dcmtk/dcmjpeg/djutils.h
- dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
- dcmrt/include/dcmtk/dcmrt/drttypes.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmwlm/include/dcmtk/dcmwlm/wltypdef.h
-
-- Made sure that "Files" section is available:
- Made sure that "Files" section is available in Doxygen generated HTML output.
- Also disabled undocumented members in order to hide unwanted macros.
- Affects: doxygen/htmldocs.cfg
-
-- Made sure that header file is parsed by Doxygen:
- Added Doxygen command that makes sure that the file is actually parsed for
- global functions, typedefs, enums, macros, etc. These are only the obvious
- header files, i.e. others are to be extended in the same way.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/include/dcmtk/dcmdata/dctypes.h
- dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmimgle/include/dcmtk/dcmimgle/diutils.h
- dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/include/dcmtk/dcmnet/scu.h
- ofstd/include/dcmtk/ofstd/ofcond.h
-
-**** Changes from 2014.03.28 (riesmeier)
-
-- Updated outdated comments on "log stream".
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
-
-- Added readPatientData() and readStudyData():
- Added methods for reading data from Patient Module and General Study Module.
- This facilitates associating SR documents with an existing patient or study.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/libsrc/dsrdoc.cc
-
-**** Changes from 2014.03.24 (schlamelcher)
-
-- Fixed most of the warnings in dcmdata:
- Compiled with extensive warning options except -Wtraditional and corrected
- most of the problems. Most of the remaining warnings in dcmdata are caused by
- files included from ofstd and will be resolved in a different commit.
- Affects: dcmdata/apps/dcm2xml.cc
- dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmcrle.cc
- dcmdata/apps/dcmdump.cc
- dcmdata/apps/dump2dcm.cc
- dcmdata/apps/img2dcm.cc
- dcmdata/apps/mdfdsman.cc
- dcmdata/apps/pdf2dcm.cc
- dcmdata/apps/xml2dcm.cc
- dcmdata/include/dcmtk/dcmdata/modhelp.h
- dcmdata/libi2d/i2dbmps.cc
- dcmdata/libi2d/i2djpgs.cc
- dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dccodec.cc
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcdict.cc
- dcmdata/libsrc/dcdictzz.cc
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dchashdi.cc
- dcmdata/libsrc/dcistrmz.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcobject.cc
- dcmdata/libsrc/dcostrmz.cc
- dcmdata/libsrc/dcpath.cc
- dcmdata/libsrc/dcpxitem.cc
- dcmdata/libsrc/dcrleccd.cc
- dcmdata/libsrc/dcrlecce.cc
- dcmdata/libsrc/dcuid.cc
- dcmdata/libsrc/dcvr.cc
- dcmdata/libsrc/dcvrat.cc
- dcmdata/libsrc/dcvrfd.cc
- dcmdata/libsrc/dcvrfl.cc
- dcmdata/libsrc/dcvrobow.cc
- dcmdata/libsrc/dcvrod.cc
- dcmdata/libsrc/dcvrof.cc
- dcmdata/libsrc/dcvrpobw.cc
- dcmdata/libsrc/dcvrsl.cc
- dcmdata/libsrc/dcvrss.cc
- dcmdata/libsrc/dcvrui.cc
- dcmdata/libsrc/dcvrul.cc
- dcmdata/libsrc/dcvrus.cc
- dcmdata/libsrc/dcxfer.cc
- dcmdata/libsrc/mkdeftag.cc
- dcmdata/libsrc/modhelp.cc
- dcmdata/libsrc/vrscanl.c
- dcmdata/tests/ti2dbmp.cc
- dcmdata/tests/tpread.cc
- oflog/include/dcmtk/oflog/logmacro.h
-
-**** Changes from 2014.03.21 (schlamelcher)
-
-- Marked SCPPool-Test (dcmnet_scp_pool) as exhaustive:
- The current pool-testcase takes about 6 seconds, which is rather long
- compared to the other tests. It was therefore flagged as exhaustive test
- and is not run unless explicitly enabled.
- Affects: dcmnet/tests/tpool.c
-
-- Fixed potential bug in dcmjpeg 12 and 16 bit variants:
- Applied a fix that was already present in the 8 bit variant to the other
- variants of the jpeg library.
- Affects: dcmjpeg/libijg12/jchuff.c
- dcmjpeg/libijg12/jdhuff.c
- dcmjpeg/libijg16/jchuff.c
- dcmjpeg/libijg16/jdhuff.c
-
-- Fixed most of the warnings in dcmjpeg:
- Compiled with extensive warning options except -Wtraditional and corrected
- most of the problems. Tested with mingw-w64-4.8.1, gcc-4.7.2 (static and shared),
- Visual Studio 2013 Express, Visual Studio 2012 64 bit and clang-w64-3.5.0.
- Tested compression / decompression with various different settings for different
- compilers on appropriate DICOM images ("cabinet" and "car97_cd").
- Most of the remaining warnings in dcmjpeg are caused by files included from
- dcmimage and will be resolved in a different commit.
- Affects: CMake/osconfig.h.in
- dcmjpeg/apps/dcmcjpeg.cc
- dcmjpeg/apps/dcmdjpeg.cc
- dcmjpeg/include/dcmtk/dcmjpeg/djcodece.h
- dcmjpeg/include/dcmtk/dcmjpeg/djcparam.h
- dcmjpeg/include/dcmtk/dcmjpeg/djdijg12.h
- dcmjpeg/include/dcmtk/dcmjpeg/djdijg16.h
- dcmjpeg/include/dcmtk/dcmjpeg/djdijg8.h
- dcmjpeg/libijg12/jcapistd.c
- dcmjpeg/libijg12/jcarith.c
- dcmjpeg/libijg12/jccoefct.c
- dcmjpeg/libijg12/jcdiffct.c
- dcmjpeg/libijg12/jchuff.c
- dcmjpeg/libijg12/jclhuff.c
- dcmjpeg/libijg12/jcmainct.c
- dcmjpeg/libijg12/jcmaster.c
- dcmjpeg/libijg12/jcparam.c
- dcmjpeg/libijg12/jcphuff.c
- dcmjpeg/libijg12/jcpred.c
- dcmjpeg/libijg12/jcprepct.c
- dcmjpeg/libijg12/jcsample.c
- dcmjpeg/libijg12/jctrans.c
- dcmjpeg/libijg12/jdapistd.c
- dcmjpeg/libijg12/jdarith.c
- dcmjpeg/libijg12/jdcoefct.c
- dcmjpeg/libijg12/jddiffct.c
- dcmjpeg/libijg12/jdhuff.c
- dcmjpeg/libijg12/jdinput.c
- dcmjpeg/libijg12/jdlhuff.c
- dcmjpeg/libijg12/jdmainct.c
- dcmjpeg/libijg12/jdmarker.c
- dcmjpeg/libijg12/jdmerge.c
- dcmjpeg/libijg12/jdphuff.c
- dcmjpeg/libijg12/jdpostct.c
- dcmjpeg/libijg12/jdpred.c
- dcmjpeg/libijg12/jdsample.c
- dcmjpeg/libijg12/jdshuff.c
- dcmjpeg/libijg12/jmemmgr.c
- dcmjpeg/libijg12/jquant1.c
- dcmjpeg/libijg12/jquant2.c
- dcmjpeg/libijg16/jcapistd.c
- dcmjpeg/libijg16/jcarith.c
- dcmjpeg/libijg16/jccoefct.c
- dcmjpeg/libijg16/jcdiffct.c
- dcmjpeg/libijg16/jchuff.c
- dcmjpeg/libijg16/jclhuff.c
- dcmjpeg/libijg16/jcmainct.c
- dcmjpeg/libijg16/jcmaster.c
- dcmjpeg/libijg16/jcparam.c
- dcmjpeg/libijg16/jcphuff.c
- dcmjpeg/libijg16/jcpred.c
- dcmjpeg/libijg16/jcprepct.c
- dcmjpeg/libijg16/jcsample.c
- dcmjpeg/libijg16/jctrans.c
- dcmjpeg/libijg16/jdapistd.c
- dcmjpeg/libijg16/jdarith.c
- dcmjpeg/libijg16/jdcoefct.c
- dcmjpeg/libijg16/jddiffct.c
- dcmjpeg/libijg16/jdhuff.c
- dcmjpeg/libijg16/jdinput.c
- dcmjpeg/libijg16/jdlhuff.c
- dcmjpeg/libijg16/jdmainct.c
- dcmjpeg/libijg16/jdmarker.c
- dcmjpeg/libijg16/jdmerge.c
- dcmjpeg/libijg16/jdphuff.c
- dcmjpeg/libijg16/jdpostct.c
- dcmjpeg/libijg16/jdpred.c
- dcmjpeg/libijg16/jdsample.c
- dcmjpeg/libijg16/jdshuff.c
- dcmjpeg/libijg16/jmemmgr.c
- dcmjpeg/libijg16/jquant1.c
- dcmjpeg/libijg16/jquant2.c
- dcmjpeg/libijg8/jcapistd.c
- dcmjpeg/libijg8/jcarith.c
- dcmjpeg/libijg8/jccoefct.c
- dcmjpeg/libijg8/jcdiffct.c
- dcmjpeg/libijg8/jchuff.c
- dcmjpeg/libijg8/jclhuff.c
- dcmjpeg/libijg8/jcmainct.c
- dcmjpeg/libijg8/jcmaster.c
- dcmjpeg/libijg8/jcparam.c
- dcmjpeg/libijg8/jcphuff.c
- dcmjpeg/libijg8/jcpred.c
- dcmjpeg/libijg8/jcprepct.c
- dcmjpeg/libijg8/jcsample.c
- dcmjpeg/libijg8/jctrans.c
- dcmjpeg/libijg8/jdapistd.c
- dcmjpeg/libijg8/jdarith.c
- dcmjpeg/libijg8/jdcoefct.c
- dcmjpeg/libijg8/jddiffct.c
- dcmjpeg/libijg8/jdhuff.c
- dcmjpeg/libijg8/jdinput.c
- dcmjpeg/libijg8/jdlhuff.c
- dcmjpeg/libijg8/jdmainct.c
- dcmjpeg/libijg8/jdmarker.c
- dcmjpeg/libijg8/jdmerge.c
- dcmjpeg/libijg8/jdphuff.c
- dcmjpeg/libijg8/jdpostct.c
- dcmjpeg/libijg8/jdpred.c
- dcmjpeg/libijg8/jdsample.c
- dcmjpeg/libijg8/jdshuff.c
- dcmjpeg/libijg8/jmemmgr.c
- dcmjpeg/libijg8/jquant1.c
- dcmjpeg/libijg8/jquant2.c
- dcmjpeg/libsrc/ddpiimpl.cc
- dcmjpeg/libsrc/dipijpeg.cc
- dcmjpeg/libsrc/djcodecd.cc
- dcmjpeg/libsrc/djcodece.cc
- dcmjpeg/libsrc/djcparam.cc
- dcmjpeg/libsrc/djdijg12.cc
- dcmjpeg/libsrc/djdijg16.cc
- dcmjpeg/libsrc/djdijg8.cc
- dcmjpeg/libsrc/djeijg12.cc
- dcmjpeg/libsrc/djeijg16.cc
- dcmjpeg/libsrc/djeijg8.cc
- dcmjpeg/libsrc/djencbas.cc
- dcmjpeg/libsrc/djencext.cc
- dcmjpeg/libsrc/djenclol.cc
- dcmjpeg/libsrc/djencpro.cc
- dcmjpeg/libsrc/djencsps.cc
- dcmjpeg/libsrc/djencsv1.cc
- dcmjpeg/libsrc/djrplol.cc
- dcmjpeg/libsrc/djrploss.cc
- dcmjpeg/libsrc/djutils.cc
-
-**** Changes from 2014.03.20 (riesmeier)
-
-- Fixed small typos in comments.
- Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
-
-**** Changes from 2014.03.19 (riesmeier)
-
-- Removed superfluous quotations marks:
- Removed superfluous quotations marks from CMake command ADD_DEFINITIONS()
- since they cause problems with Xcode 5.1 on Mac OS X.
- Thanks to forum user "oblivion81" for the report and suggested fix.
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2014.03.17 (riesmeier)
-
-- Fixed issue with automatically generated classes:
- Fixed issue with the detection of attributes nested in a sequence class (in
- the automatically generated source code). Sometimes, there were additional
- attributes associated with a sequence element, which actually belong to the
- surrounding nesting level or to some other sequence element in the module.
- Also changed VM for Irradiation Event UID (0008,3010) from "1" to "1-n".
- Thanks to Grzegorz Chlebus <grzegorz.chlebus@mevis.fraunhofer.de> for the
- original report.
- Affects: dcmrt/include/dcmtk/dcmrt/*.h
- dcmrt/libsrc/*.cc
-
-**** Changes from 2014.03.15 (riesmeier)
-
-- Added support for CP-1090 to the data dictionary:
- This document changes the VM for Irradiation Event UID (0008,3010) from "1"
- to "1-n".
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2014.03.13 (riesmeier)
-
-- Pass OFString to DIMSE_createFilestream():
- Pass an OFString filename to DIMSE_createFilestream() instead of char* since
- this function now accepts an OFFilename instance.
- Affects: dcmnet/libsrc/scp.cc
- dcmnet/libsrc/scu.cc
-
-- Fixed various typo.
- Affects: dcmnet/libsrc/dimse.cc
-
-- DIMSE_createFilestream() now uses an OFFilename:
- The low-level network function DIMSE_createFilestream() now uses an OFFilename
- parameter instead of a char*. This allows for passing a wide character string
- to this function on Windows. The API remains stable since the OFFilename
- constructor also accepts a char*.
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the suggestion.
- Affects: dcmnet/include/dcmtk/dcmnet/dimse.h
- dcmnet/libsrc/dimse.cc
-
-- Added check for Shared Functional Groups Sequence:
- Certain key attributes like Pixel Spacing (0028,0030) can also be nested
- within a functional group sequence of the Shared Functional Groups Sequence
- (5200,9229). Therefore, these attributes also have to be checked on this level
- and not only in the main dataset.
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/libsrc/dcddirif.cc
-
-- Added missing data elements to BD profiles:
- Added missing data elements from PS3.11 Table H.3-2 to the various Blu-ray
- Disc (BD) media storage application profiles. Basically, the requirements for
- PATIENT, IMAGE and SPECTROSCOPY directory records are identical to those for
- the DVD profiles. Only the reference in Section M.3.3.1 was missed.
- Affects: dcmdata/libsrc/dcddirif.cc
-
-**** Changes from 2014.03.12 (riesmeier)
-
-- Rebuilt Makefile dependencies.
- Affects: dcmdata/libsrc/Makefile.dep
-
-- Fixed various minor issues in new helper class.
- Affects: dcmdata/include/dcmtk/dcmdata/modhelp.h
- dcmdata/libsrc/modhelp.cc
-
-- Fixed various issues in Doxygen comments.
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
-
-**** Changes from 2014.03.12 (onken)
-
-- Updated module helpers to latest DICOM 2013 draft.
- Affects: dcmdata/include/dcmtk/dcmdata/modhelp.h
- dcmdata/libsrc/modhelp.cc
-
-- Fixed comments and error message.
- Affects: dcmdata/libsrc/modhelp.cc
-
-- Added further module helpers and fixed small issues:
- Added copy helpers for Clinical Trial Study/Series Modules, added missing
- attribute in General Image Module and made code more consistent.
- Affects: dcmdata/include/dcmtk/dcmdata/modhelp.h
- dcmdata/libsrc/modhelp.cc
-
-- Switched windows line endings to unix line endings.
- Affects: dcmdata/libsrc/Makefile.dep
-
-- Fixed Makefile.dep for new files from last commit.
- Affects: dcmdata/libsrc/Makefile.dep
-
-- Added helpers to copy common modules between items:
- Thanks to Andriy Fedorov <fedorov@bwh.harvard.edu> for the original patch.
- Added: dcmdata/include/dcmtk/dcmdata/modhelp.h
- dcmdata/libsrc/modhelp.cc
- Affects: dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.in
-
-**** Changes from 2014.03.07 (onken)
-
-- Added DCMTK.cmake and DCMTKTargets.cmake documentation.
- Affects: INSTALL
-
-**** Changes from 2014.03.07 (riesmeier)
-
-- Replaced tabs by spaces and fixed indention.
- Affects: dcmimage/include/dcmtk/dcmimage/diqtcmap.h
- dcmimage/include/dcmtk/dcmimage/diqtctab.h
- dcmimage/include/dcmtk/dcmimage/diqtfs.h
- dcmimage/include/dcmtk/dcmimage/diqthitl.h
- dcmimage/include/dcmtk/dcmimage/diqthitm.h
- dcmimage/include/dcmtk/dcmimage/diqtpbox.h
- dcmimage/include/dcmtk/dcmimage/diqtpix.h
- dcmimage/include/dcmtk/dcmimage/diqtstab.h
- dcmimage/include/dcmtk/dcmimage/diybrpxt.h
- dcmimage/libsrc/diqtctab.cc
-
-**** Changes from 2014.03.06 (onken)
-
-- Ensure CMake v2.6 still writes DCMTKConfig.cmake:
- The enhanced DCMTKConfig.cmake that was recently introduced relies on CMake
- version 2.8.8 or higher and uses the new CONFIGURE_PACKAGE_CONFIG_FILE
- command. This commit makes sure that older versions as the minimum CMake
- version 2.6 required by DCMTK produce a DCMTKConfig.cmake that has at
- least all the information it contained before the switch to
- CONFIGURE_PACKAGE_CONFIG_FILE.
- Added: CMake/CMake/DCMTKConfig.cmake26.in
- Affects: CMakeLists.txt
-
-- Capitalized all CMake key words for consistency.
- Affects: CMake/CheckCMakeCommandExists.cmake
- CMake/DCMTKConfig.cmake.in
- CMake/GenerateCMakeExports.cmake
- CMake/dcmtkPrepare.cmake
- CMakeLists.txt
-
-**** Changes from 2014.03.06 (riesmeier)
-
-- Added another addContentItem() method:
- Added new addContentItem() method that expects a pointer to a newly created
- document tree node. This provides another approach of creating the document
- tree of an SR document, and avoids making the detour using getCurrentItem().
- Added: dcmsr/tests/tsrdoctr.cc
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/tests/CMakeLists.txt
- dcmsr/tests/Makefile.dep
- dcmsr/tests/Makefile.in
- dcmsr/tests/tests.cc
-
-**** Changes from 2014.03.05 (riesmeier)
-
-- Made installation of tag file optional:
- Made installation of Doxygen tag file optional in order to avoid an error
- message if it has not been generated, e.g. because "make html" was not called
- before "make install".
- Affects: doxygen/CMakeLists.txt
-
-**** Changes from 2014.03.05 (onken)
-
-- Enhanced DCMTK CMake exports for external projects:
- The files DCMTKConfig.cmake, DCMTKConfigVersion.cmake and
- DCMTKTargets.cmake are exported by CMake to the DCMTK build tree as
- as well as to the DCMTK installation directory. The files can be found
- and evaluated by other CMake-based projects using CMake's find_package
- command (in "Config" mode). The files describe DCMTK executables and
- libraries as well as DCMTK version information, which then can be
- facilitated in an automatic way by external projects to configure and
- perform their own build process. Thanks to Jean-Christophe Fillion-Robin
- <jchris.fillionr@kitware.com> for the original patch.
- Added: CMake/CheckCMakeCommandExists.cmake
- CMake/GenerateCMakeExports.cmake
- Affects: CMake/DCMTKConfig.cmake.in
- CMake/dcmtkAfterModules.cmake
- CMake/dcmtkMacros.cmake
- CMake/dcmtkPrepare.cmake
- CMakeLists.txt
-
-**** Changes from 2014.03.04 (schlamelcher)
-
-- Fixed building with mingw-w64:
- Renamed OFStandard::rand_r to OFrand_r to prevent collisions with
- mingw's rand_r macro. Adjusted file position and offset data-types for
- mingw-w64. Fixed some warnings caused by inconsistent inline-specifiers
- in DcmTagKey.
- Affects: dcmdata/include/dcmtk/dcmdata/dctagkey.h
- dcmimage/libsrc/diqtfs.cc
- oflog/libsrc/strcloc.cc
- ofstd/include/dcmtk/ofstd/offile.h
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/offname.cc
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2014.03.03 (riesmeier)
-
-- Fixed wrong tag in CodingSchemeIdentificationSequence:
- Fixed wrong tag being used in CodingSchemeIdentificationSequence (0008,0110).
- Instead of Responsible Organization (0010,2299) it should be Coding Scheme
- Responsible Organization (0008,0116). This inconsistency was introduced back
- in the year 2003 with CP-324. This commit also changes the name of the
- corresponding get/set methods in class DSRCodingSchemeIdentificationList.
- Thanks to David Clunie <dclunie@dclunie.com> for pointing this out.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrcsidl.cc
- dcmsr/tests/mkreport.cc
-
-**** Changes from 2014.03.03 (schlamelcher)
-
-- Enabled shutdown functionality of DcmSCPPool:
- Finished implementation of DcmSCPPool::stopAfterCurrentAssociations().
- Some basic tests have been run to ensure this method works as expected.
- Affects: dcmnet/include/dcmtk/dcmnet/scppool.h
- dcmnet/libsrc/scppool.cc
- dcmnet/tests/tpool.cc
-
-- Fixed DcmSCPPool test case failing on older systems.
- Affects: dcmnet/tests/tpool.cc
-
-**** Changes from 2014.03.01 (riesmeier)
-
-- Fixed some comments.
- Affects: dcmdata/libsrc/dcxfer.cc
-
-**** Changes from 2014.02.28 (schlamelcher)
-
-- Correction of inconsistent previous commit.
- Affects: dcmdata/include/dcmtk/dcmdata/dcdefine.h
-
-**** Changes from 2014.02.27 (schlamelcher)
-
-- Fixed dll build on windows:
- Created a workaround for Visual Studio that disables dll storage specifiers
- when linking directly into the executable. This is needed since the
- built-in dictionary code is created by the tools mkdeftag and mkdictbi and
- thus those tools statically link the few required dcmdata source files
- instead of linking to dcmdata as a whole.
- Affects: dcmdata/include/dcmtk/dcmdata/dcdefine.h
- dcmdata/libsrc/CMakeLists.txt
-
-**** Changes from 2014.02.25 (riesmeier)
-
-- Allow empty file-set ID in DICOMDIR (type 2):
- Allow file-set ID to be empty in a DICOMDIR since it is type 2. Also fixed
- spelling ("file-set ID" instead of "file set ID" or "fileset ID") where
- relevant, i.e. in log output and syntax usage.
- Affects: dcmdata/apps/dcmgpdir.cc
- dcmdata/docs/dcmgpdir.man
- dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/libsrc/dcddirif.cc
- dcmjpeg/docs/dcmmkdir.man
-
-**** Changes from 2014.02.24 (onken)
-
-- Fixed shared library build under Unix (configure):
- dcmimgle and related external libraries have not been linked to dcmrt
- applications in case shared library option was enabled and a configure/make
- build was performed under Unix.
- Affects: dcmrt/apps/Makefile.in
- dcmrt/tests/Makefile.in
-
-**** Changes from 2014.02.24 (riesmeier)
-
-- Fixed further issues with wide char support.
- Affects: ofstd/libsrc/ofstd.cc
-
-- Use printError() instead of OFLOG_FATAL():
- Use OFConsoleApplication::printError() instead of OFLOG_FATAL() in case of a
- missing command line parameter.
- Affects: dcmdata/apps/dcmgpdir.cc
-
-- Always use OFFilename() instead of "" as a default:
- Always use OFFilename instead of "" (empty 8-bit character string) as a
- default value in order to make sure that wide character support under Windows
- really works. This is because "" only initializes the char* member variable
- of OFFilename and not the wchar_t*.
- Affects: dcmdata/apps/dcmgpdir.cc
- dcmdata/include/dcmtk/dcmdata/dcddirif.h
-
-- Fixed issue with missing terminating NULL byte:
- Fixed issue with possibly missing NULL byte at the end of wide character
- strings in getDirNameFromPath() and normalizeDirName().
- Affects: ofstd/libsrc/ofstd.cc
-
-**** Changes from 2014.02.22 (onken)
-
-- Add libjpeg dependency for libtiff and minor changes:
- It is possible to build libtiff with libjpeg-based JPEG coding support.
- Thus CMake is told on Unix to add libjpeg includes and libraries so that
- tiff-based tools will be linked to libjpeg, too. This mirrors the
- ./configure behaviour under Unix. It is not tested whether libtiff
- actually was compiled with JPEG enabled. Additionally, the "QUIET" option
- was added to avoid CMake's FindModule scripts printing messages about
- external libraries that are already covered by explicit DCMTK messages.
- Re-ordered code for some external libraries. Thanks to Jean-Christophe
- Fillion-Robin <jchris.fillionr@kitware.com> for the original patch.
- Affects: CMake/3rdparty.cmake
-
-**** Changes from 2014.02.21 (riesmeier)
-
-- Added new condition constant and fixed typo:
- Added new condition constant for DICOMDIR files: EC_InvalidDICOMDIR. Also
- fixed a typo in the textual description of EC_PrematureSequDelimitationItem.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcerror.cc
-
-- Fixed issue when compiled with wide char support:
- The initialization of an OFFilename instance with NULL is ambiguous when
- compiled with WIDE_CHAR_FILE_IO_FUNCTIONS or WIDE_CHAR_MAIN_FUNCTION defined.
- This issue was introduced with commit d084ebf, i.e. the previous one.
- Affects: dcmdata/libsrc/dcdicdir.cc
- dcmdata/libsrc/dcdirrec.cc
-
-**** Changes from 2014.02.20 (riesmeier)
-
-- Added support for wide chars to DICOMDIR code:
- Added support for the Windows-specific wide character encoding (UTF-16) to
- the classes and the command line tool that generate a DICOMDIR file.
- Affects: dcmdata/apps/dcmgpdir.cc
- dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/include/dcmtk/dcmdata/dcdicdir.h
- dcmdata/include/dcmtk/dcmdata/dcdirrec.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcdicdir.cc
- dcmdata/libsrc/dcdirrec.cc
-
-- Avoid passing NULL to OFString, which is deprecated:
- Avoid passing NULL to OFString in certain cases within normalizeDirName()
- since this is deprecated (and results in an annoying message in DEBUG mode).
- Affects: ofstd/libsrc/ofstd.cc
-
-- Avoid passing invalid values to rename():
- In case wide character support is enabled, there was a chance that a NULL
- pointer could be passed to one of the two parameters of the rename() function.
- Affects: ofstd/libsrc/ofstd.cc
-
-- Added new command line option --create-backup:
- Added new command line option --create-backup to explicitly show what the
- default behavior is.
- Affects: dcmdata/apps/dcmgpdir.cc
- dcmdata/docs/dcmgpdir.man
- dcmjpeg/docs/dcmmkdir.man
-
-**** Changes from 2014.02.19 (onken)
-
-- Make sure to handle setuid() return code properly:
- In some tools the return value of setuid() is not checked. In the worst
- case this could lead to privilege escalation since the process does not
- give up its root privileges and continue as root. Thanks to Hector Marco
- <hecmargi@upv.es> for the report.
- Affects: dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/libsrc/scp.cc
- dcmpstat/apps/dcmprscp.cc
- dcmpstat/apps/dcmpsrcv.cc
- dcmpstat/tests/msgserv.cc
- dcmqrdb/apps/dcmqrscp.cc
- dcmwlm/libsrc/wlmactmg.cc
-
-**** Changes from 2014.02.19 (riesmeier)
-
-- Fixed typo in comment.
- Affects: ofstd/libsrc/ofstd.cc
-
-- Changed file mode bits back from "0755" to "0644".
- Affects: ofstd/tests/tests.cc
- ofstd/tests/tofstd.cc
-
-- Added new helper function for copying files:
- Added new platform-independent and wide character supporting helper function
- copyFile().
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-- Added wide character support to this tool:
- Added support for the Windows-specific wide character encoding (UTF-16) to
- this command line tool, i.e. support for filenames with such an encoding.
- For this purpose, the toolkit has to be compiled with WIDE_CHAR_MAIN_FUNCTION
- and WIDE_CHAR_FILE_IO_FUNCTIONS being defined.
- Affects: dcmdata/apps/dcmdump.cc
-
-- Added function for appending filename extension:
- Added wide character supporting helper function appendFilenameExtension().
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-- Added new helper function for renaming files:
- Added new platform-independent and wide character supporting helper function
- renameFile().
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-- Added OFFilename versions to some helper functions:
- Added OFFilename versions to the helper functions getDirNameFromPath(),
- getFilenameFromPath(), normalizeDirName(), combineDirAndFilename(),
- searchDirectoryRecursively() and getFileSize() in order to enhance the
- support for the Windows-specific wide character encoding (UTF-16).
- Internally, the same code is used for both the OFString and OFFilename
- version of the helper functions, which should facilitate finding any bugs.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-- Fixed typo and added comment.
- Affects: ofstd/libsrc/offile.cc
-
-- Added new test cases for testing helper functions:
- Added new test cases for testing the helper functions getDirNameFromPath()
- and getFilenameFromPath().
- Affects: ofstd/tests/tests.cc
- ofstd/tests/tofstd.cc
-
-**** Changes from 2014.02.12 (riesmeier)
-
-- Consistently use upper case letters for DICOM tags.
- Affects: dcmdata/data/acrnema.dic
- dcmdata/data/dicom.dic
- dcmdata/data/diconde.dic
-
-**** Changes from 2014.02.11 (riesmeier)
-
-- Fixed wrong VR for some retired command fields:
- Changed VR from "AT" to "LT" for some retired command fields, i.e. attributes
- in group "0000". Now, the definitions are consistent with DICOM part 7.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2014.02.06 (riesmeier)
-
-- Fixed issue with wrong check on stream compression:
- This wrong check had the result that the three uncompressed transfer syntaxes
- were proposed in "decompression mode" even if the pixel data could not be
- decompressed, e.g. in case of JPEG compression without a JPEG decoder.
- Affects: dcmnet/libsrc/dstorscu.cc
-
-**** Changes from 2014.02.05 (riesmeier)
-
-- Moved ACR/NEMA data dictionary to a separate file:
- Moved retired ACR/NEMA attributes to a separate dictionary file since they
- are officially part of the DICOM standard for many years now (see CP-607).
- Please note that this commit changes the prefix of some tag constants from
- "DCM_ACR_NEMA_" to "DCM_RETIRED_". Also a few tag constants disappeared
- (mainly ACR/NEMA group length attributes, which are retired in the DICOM
- standard anyway). However, since the old, manually compiled definitions are
- still available in a separate file, the old behavior can be restored by
- loading "acrnema.dic".
- Added: dcmdata/data/acrnema.dic
- Affects: dcmdata/data/CMakeLists.txt
- dcmdata/data/Makefile.in
- dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2014.02.04 (riesmeier)
-
-- Fixed typos in comments.
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
-
-**** Changes from 2014.02.03 (riesmeier)
-
-- Fixed timeout issue in DIMSE_moveUser():
- Fixed issue that the timeout parameter was apparently ignored in the
- DIMSE_moveUser() function when used in non-blocking mode.
- Thanks to forum user "bibble_235" for the report and Michael Knopke
- <knopkem@gmail.com> for confirming that the proposed patch really works.
- Affects: dcmnet/libsrc/dimmove.cc
-
-**** Changes from 2014.01.31 (riesmeier)
-
-- Added comments on some ACR/NEMA attributes:
- Added explanatory comments on ACR/NEMA attributes where the DICOM standard
- uses the placeholder "x" for certain digits of the element number.
- Affects: dcmdata/data/dicom.dic
-
-- Added support for approved but still missing CPs:
- Added late support for CP-1120 and CP-1121 to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2014.01.29 (riesmeier)
-
-- Removed comment on UID_HangingProtocolStorage:
- Removed comment that the "Hanging Protocol Storage SOP Class" is a special
- case since this is not true any longer. There are further SOP Classes that
- do not fit into the typical Patient - Study - Series hierarchy.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
-
-**** Changes from 2014.01.23 (riesmeier)
-
-- Added missing module "dcmrt" to include directories.
- Affects: CMakeLists.txt
-
-**** Changes from 2014.01.20 (riesmeier)
-
-- Fixed various minor documentation issues.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
-
-- Fixed wrong/missing comment on method parameter:
- Fixed wrong comment on parameter "writeXfer" for the saveFile() method. In
- case of EXS_Unknown not the currently selected transfer syntax is used but
- the original one, i.e. the one in which the dataset was originally read or
- created. Also added missing comment on parameter "oxfer" to write() methods.
- Thanks to forum user "Shaeto" for pointing this out.
- Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h
- dcmdata/include/dcmtk/dcmdata/dcfilefo.h
-
-**** Changes from 2014.01.14 (riesmeier)
-
-- Added support for new UIDs from Supplement 165:
- Added support for new SOP Class UIDs from Supplement 165 (Breast Projection
- X-Ray Image Storage SOP Class).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added support for Supplement 165 to data dictionary:
- Added support for final text version of Supplement 165 (Breast Projection
- X-Ray Image Storage SOP Class) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Added support for recently approved CPs:
- Added support for CP-1287, CP-1294 and CP-1297 to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2013.12.20 (riesmeier)
-
-- Fixed comments and documented default values.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
-
-- Again, fixed comments to be consistent with code.
- Affects: dcmnet/tests/tpool.cc
-
-- Cleaned up source code in various aspects:
- Made evaluation of command line parameters and options more consistent with
- the other command line tools, fixed inconsistencies regarding log output,
- used appropriate DcmSCU methods when closing an association, etc.
- Affects: dcmnet/apps/getscu.cc
-
-- Removed check on number of command line arguments:
- Since the tool has at least one mandatory command line parameter, there is no
- need to check OFCommandLine::getArgCount() explicitly.
- Affects: dcmnet/apps/dcmrecv.cc
- dcmnet/apps/dcmsend.cc
-
-**** Changes from 2013.12.11 (riesmeier)
-
-- Replaced deprecated DcmSCU::closeAssociation():
- Replaced call to DcmSCU::closeAssociation(DCMSCU_RELEASE_ASSOCIATION) by
- DcmSCU::releaseAssociation() since the former is deprecated.
- Affects: dcmnet/tests/tpool.cc
-
-- Fixed typos, comments and coding style.
- Affects: dcmnet/tests/tpool.cc
-
-**** Changes from 2013.12.10 (riesmeier)
-
-- Second try to fix the issue with "ofstd_markup_6":
- The error in test "ofstd_markup_6" still occurred on various systems.
- Thanks to Mathieu Malaterre <malat@debian.org> for pointing this out.
- Affects: ofstd/tests/tmarkup.cc
-
-**** Changes from 2013.12.10 (onken)
-
-- Fixed some inconsistencies in documentation.
- Affects: INSTALL
-
-**** Changes from 2013.12.05 (onken)
-
-- Fixed typo.
- Affects: dcmtls/include/dcmtk/dcmtls/tlslayer.h
-
-- Documentation for CMAKE_BUILD_TYPE default value.
- Thanks to Mathieu Malaterre <malat@debian.org> for pointing to the fact that
- having no default value in some situations is important and Jean-Christophe
- Fillion-Robin <jchris.fillionr@kitware.com> for giving a solution.
- Affects: CMake/dcmtkPrepare.cmake
- INSTALL
-
-**** Changes from 2013.11.29 (riesmeier)
-
-- Completed support for <InlineBinary> XML element:
- Completed support for the <InlineBinary> XML element used by the Native DICOM
- Model format. Now, also data elements with a VR of OD and OF can be encoded
- as base64. Closes DCMTK Feature #549.
- Affects: dcmdata/docs/dcm2xml.man
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/dcvrod.cc
- dcmdata/libsrc/dcvrof.cc
-
-**** Changes from 2013.11.28 (riesmeier)
-
-- Do not check valueLoaded() for Native DICOM Model:
- Do not check whether a value has actually been loaded when writing an element
- value to XML output in the Native DICOM Model. This is because this concept
- is only known to the DCMTK-specific output format.
- Affects: dcmdata/libsrc/dcelem.cc
-
-- Fixed output of AT values in Native DICOM Model:
- Fixed wrong output format for Attribute Tag (AT) values in the Native DICOM
- Model. Supplement 166 (QIDO-RS) clarifies that the format is "GGGGEEEE", and
- not "(gggg,eeee)" as it was before (which is DCMTK's default string output
- format for AT values). Closes DCMTK Bug #551.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrat.h
- dcmdata/libsrc/dcvrat.cc
-
-- Fixed various typos in man pages.
- Thanks to Mathieu Malaterre <malat@debian.org> for the original report.
- Affects: dcmdata/docs/dcm2pdf.man
- dcmdata/docs/dcm2xml.man
- dcmdata/docs/dcmconv.man
- dcmdata/docs/dcmcrle.man
- dcmdata/docs/dcmdrle.man
- dcmdata/docs/dcmdump.man
- dcmdata/docs/dcmftest.man
- dcmdata/docs/dcmgpdir.man
- dcmdata/docs/dcmodify.man
- dcmdata/docs/dump2dcm.man
- dcmdata/docs/img2dcm.man
- dcmdata/docs/pdf2dcm.man
- dcmdata/docs/xml2dcm.man
- dcmimage/docs/dcm2pnm.man
- dcmimage/docs/dcmquant.man
- dcmimage/docs/dcmscale.man
- dcmimgle/docs/dcmdspfn.man
- dcmimgle/docs/dcod2lum.man
- dcmimgle/docs/dconvlum.man
- dcmjpeg/docs/dcmcjpeg.man
- dcmjpeg/docs/dcmdjpeg.man
- dcmjpeg/docs/dcmj2pnm.man
- dcmjpeg/docs/dcmmkdir.man
- dcmjpls/docs/dcmcjpls.man
- dcmjpls/docs/dcmdjpls.man
- dcmjpls/docs/dcml2pnm.man
- dcmnet/docs/dcmrecv.man
- dcmnet/docs/dcmsend.man
- dcmnet/docs/echoscu.man
- dcmnet/docs/findscu.man
- dcmnet/docs/getscu.man
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/docs/storescu.man
- dcmnet/docs/termscu.man
- dcmpstat/docs/dcmmkcrv.man
- dcmpstat/docs/dcmmklut.man
- dcmpstat/docs/dcmp2pgm.man
- dcmpstat/docs/dcmprscp.man
- dcmpstat/docs/dcmprscu.man
- dcmpstat/docs/dcmpschk.man
- dcmpstat/docs/dcmpsmk.man
- dcmpstat/docs/dcmpsprt.man
- dcmpstat/docs/dcmpsrcv.man
- dcmpstat/docs/dcmpssnd.man
- dcmqrdb/docs/dcmqridx.man
- dcmqrdb/docs/dcmqrscp.man
- dcmqrdb/docs/dcmqrti.man
- dcmrt/docs/drtdump.man
- dcmsign/docs/dcmsign.man
- dcmsr/docs/dsr2html.man
- dcmsr/docs/dsr2xml.man
- dcmsr/docs/dsrdump.man
- dcmsr/docs/xml2dsr.man
- dcmwlm/docs/wlmscpfs.man
-
-**** Changes from 2013.11.26 (riesmeier)
-
-- Fixed issue with test "ofstd_markup_6" (Win32):
- Fixed issue with test "ofstd_markup_6" not running successfully on Windows
- systems (due to an incorrect length of the input string value).
- Thanks to forum user "ghleclerc" for the report.
- Affects: ofstd/tests/tmarkup.cc
-
-- Fixed minor Doxygen-related issue in documentation:
- Doxygen requires three slashes "///" for documenting entities, e.g. members
- of an enumeration type. One slash was missing for CS_UTF8 in E_CharacterSet.
- Also fixed various typos in comments.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
-
-**** Changes from 2013.11.25 (riesmeier)
-
-- Fixed name of PN component in Native DICOM Model:
- Fixed name of first PersonName (PN) component in Native DICOM Model.
- According to Supplement 166 (QIDO-RS) the XML element name is "Alphabetic"
- (and not "SingleByte" as it was before).
- Affects: dcmdata/libsrc/dcvrpn.cc
-
-**** Changes from 2013.11.21 (riesmeier)
-
-- Fixed minor Doxygen-related issue in documentation:
- Doxygen, the tool that is used for generating the HTML documentation from
- source code, requires that a "." is escaped under certain conditions, e.g.
- if this character does not define the end of a sentence as used for short
- class descriptions.
- Affects: ofstd/include/dcmtk/ofstd/offile.h
-
-**** Changes from 2013.11.19 (riesmeier)
-
-- Added new option for disabling the VR checker:
- Added new command line option that allows for disabling the VR checker by
- setting the recently introduced global "dcmdata" flag accordingly.
- Affects: dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsr2xml.cc
- dcmsr/apps/dsrdump.cc
- dcmsr/docs/dsr2html.man
- dcmsr/docs/dsr2xml.man
- dcmsr/docs/dsrdump.man
-
-- Added global flag for disabling the VR checker:
- Added global flag that allows for disabling the VR checker used by the
- various checkStringValue() methods. Since this checker is currently limited
- to ASCII and Latin-1, and the detection of the character set might fail for
- incorrectly encoded DICOM datasets, this check can be disabled globally.
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcvrpn.h
- dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dcvrda.cc
- dcmdata/libsrc/dcvrdt.cc
- dcmdata/libsrc/dcvrpn.cc
- dcmdata/libsrc/dcvrtm.cc
-
-**** Changes from 2013.11.18 (riesmeier)
-
-- Removed redundant and outdated Word document:
- Removed redundant and outdated Word document "wwwapp.doc", which used to
- contain the same information as "wwwapp.txt". Closes DCMTK Feature #556.
- Removed: dcmwlm/docs/wwwapp.doc
-
-- Added missing break statements to switch cases:
- Added missing break statements to switch cases, which previously resulted in
- a wrong return value of the CheckMatchingKey() method. Thanks to Peter Klotz
- <Peter.Klotz@ith-icoserve.com> for the bug report and patch.
- Affects: dcmwlm/libsrc/wlds.cc
-
-**** Changes from 2013.11.17 (schlachter)
-
-- Don't set the defines for thread local storage support incorrectly:
- If DCMTK_LOG4CPLUS_HAVE_TLS_SUPPORT is defined, the code uses it to mark
- variables as thread-local and expects the compiler to implement this.
- Otherwise, calls into the thread library are used. So defining it to an
- empty value makes oflog thread-unsafe. Thanks to Peter Klotz
- <Peter.Klotz@ith-icoserve.com> for the report and a test case.
- Affects: oflog/include/dcmtk/oflog/config/defines.h
-
-**** Changes from 2013.11.15 (riesmeier)
-
-- Avoid CMake warning on non-installable files.
- Affects: dcmdata/libsrc/CMakeLists.txt
-
-- Fixed build issue with shared libraries (Win32):
- Fixed link errors on Windows systems when building with BUILD_SHARED_LIB set
- to "ON". This caused the executables "mkdictbi" and "mkdeftag" to fail.
- Thanks to forum user "lars_matthaeus" for the original report.
- Affects: dcmdata/libsrc/CMakeLists.txt
-
-- Removed trailing white spaces from man pages files.
- Affects: doxygen/manpages/man1/*
-
-**** Changes from 2013.11.14 (thiel)
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/*
-
-**** Changes from 2013.11.13 (onken)
-
-- Avoid second OpenSSL initialization in constructor:
- OpenSSL's one-time initialization is performed in the TLS layer
- constructor. In multi-threaded environments this leads to multiple
- initialization calls if more than one association is used at the
- same time. Thus a parameter was added in order to disable the
- initialization code if desired. Thanks to Peter Klotz
- <Peter.Klotz@ith-icoserve.com> for the report and suggested patch.
- Affects: dcmtls/include/dcmtk/dcmtls/tlslayer.h
- dcmtls/libsrc/tlslayer.cc
-
-**** Changes from 2013.11.13 (riesmeier)
-
-- Fixed issue with color icon images:
- According to the DICOM standard, color icon images should always be written
- with a value of "PALETTE COLOR" for Photometric Interpretation. Before this
- fix, also other color models like "RGB" were created for the optional icon
- image of an IMAGE content item. Closes DCMTK Bug #577.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/dsrimgvl.cc
-
-- Added comment on wrong color model for icon images:
- Added comment on relevant API methods that for color images, the photometric
- interpretation "RGB" is used, which is not allowed according to the DICOM
- standard (see PS 3.3 Section F.7). This will be fixed in the future by using
- "PALETTE COLOR" instead. Noted as DCMTK Bug #577.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/libsrc/dsrimgvl.cc
-
-- Fixed doubled output of XML start tag for VR=OD.
- Affects: dcmdata/libsrc/dcvrod.cc
-
-**** Changes from 2013.11.12 (onken)
-
-- Fixed doubled tag output in XML output of VR OF:
- Fixed doubled tag output in XML output of VR OF. Thanks to Peter Klotz
- <Peter.Klotz@ith-icoserve.com> for the report and suggested patch.
- Affects: dcmdata/libsrc/dcvrof.cc
-
-**** Changes from 2013.11.11 (onken)
-
-- Make sure CMAKE_BUILD_TYPE has a default value:
- CMAKE_CONFIGURATION_TYPES is set for generators that support multiple
- configuration types (and have per-configuration subdirectories like
- Debug and Release). It is empty for other generators and for those
- generators the build type is controlled at CMake time by
- CMAKE_BUILD_TYPE. Patch ensures that CMAKE-BUILD-TYPE has "Release" as
- a default value. Thanks to Kent Williams <norman-k-williams@uiowa.edu>
- and Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> for
- the patch.
- Affects: CMake/dcmtkPrepare.cmake
-
-- Described movescu storage SCP timeout problem:
- In case movescu acts as a storage SCP, it hangs forever if storage client
- never closes the underlying association.
- Affects: dcmnet/docs/movescu.man
-
-- Fixed comments.
- Affects: dcmwlm/libsrc/wlfsim.cc
-
-**** Changes from 2013.11.07 (riesmeier)
-
-- Fixed bug that could cause a crash:
- Fixed bug that could cause a crash when processing an image with an empty
- value for Image Type. This could cause a NULL pointer to be dereferenced.
- Thanks to Tiago D'Agostini <tiago.dagostini@pixeon.com> for the report.
- Affects: dcmimage/apps/dcmscale.cc
-
-**** Changes from 2013.11.04 (riesmeier)
-
-- Added Corneal Topography Map Storage SOP Class:
- Added Corneal Topography Map Storage SOP Class (introduced only recently with
- Supplement 168) to the list of accepted SOP classes, since there still was
- one entry left.
- Affects: dcmnet/etc/storescp.cfg
-
-**** Changes from 2013.10.31 (onken)
-
-- Corrected misleading transfer syntax error message:
- When sending C-ECHO failed because no valid transfer syntax for the
- Verification SOP Class could be found, then a misleading error message
- was triggered complaining about missing Verification SOP Class support
- for Little Endian Implicit. Now the message does only tell that no
- valid presentation context for C-ECHO could be found.
- Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the
- original report.
- Affects: dcmnet/libsrc/scu.cc
-
-- Support explicit item length denoting too many bytes:
- Added flag that allows to ignore explicit item lengths that denote more
- bytes than the contained elements actually contribute.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/libsrc/dcerror.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/tests/tests.cc
- dcmdata/tests/tparser.cc
-
-**** Changes from 2013.10.30 (riesmeier)
-
-- Fixed small issue reported by CMake 2.8.12:
- A trailing "/" had to be removed in order to keep CMake 2.8.12 quiet.
- Affects: CMake/3rdparty.cmake
-
-- Updated CMake version:
- Updated information on latest CMake version that has been tested to "2.8.12".
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2013.10.29 (riesmeier)
-
-- Added support for Referenced Segment Number:
- Added support for the optional list of referenced segment numbers to IMAGE
- content items. Partially closes DCMTK Feature #149.
- Added: dcmsr/include/dcmtk/dcmsr/dsrimgse.h
- dcmsr/libsrc/dsrimgse.cc
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/data/dsr2xml.xsd
- dcmsr/include/dcmtk/dcmsr/dsrimgfr.h
- dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
- dcmsr/libsrc/dsrimgfr.cc
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/tests/Makefile.dep
-
-- Check return value of write() methods:
- Check return value when writing data from one of the three lists, i.e.
- SamplePositionList, TimeOffsetList or DateTimeList.
- Affects: dcmsr/libsrc/dsrtcovl.cc
-
-- Slightly enhanced comments.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
- dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
- dcmsr/libsrc/dsrwavch.cc
-
-- Moved checkCurrentValue() to "protected" section:
- Moved method checkCurrentValue() to the "protected" section of the class in
- order to be consistent with other similar classes.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
-
-**** Changes from 2013.10.28 (riesmeier)
-
-- Added comment on getFrameList() method:
- Added clarifying note on the getFrameList() method (based on the DICOM
- standard text, Table C.18.4-1 in PS 3.3-2011).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
-
-- Added support for Real World Value Mapping objects:
- Added support for referencing objects of the Real World Value Mapping Storage
- SOP class from IMAGE content items. Partially closes DCMTK Feature #149.
- Affects: dcmsr/data/dsr2xml.xsd
- dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
- dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
- dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/libsrc/dsrcomtn.cc
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrimgtn.cc
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrwavtn.cc
-
-**** Changes from 2013.10.25 (riesmeier)
-
-- Fixed small typos in comments.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
- dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h
- dcmsr/include/dcmtk/dcmsr/dsrscovl.h
- dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
- dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
- dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
-
-- Added comments on missing features:
- Added comments that the conditional/optional attributes Referenced Segment
- Number (0062,000B) and Referenced Real World Value Mapping Instance Sequence
- (0008,114B) are not yet supported by this class. Such still-missing features
- are marked with "tbd" (to be done) throughout the "dcmsr" module.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/libsrc/dsrimgvl.cc
-
-- Use helper method for deleting data elements:
- Use the helper method DcmItem::findAndDeleteElement() for deleting certain
- data elements in all items of a particular sequence.
- Affects: dcmsr/libsrc/dsrtypes.cc
-
-- Iterate more efficiently over sequence items:
- Changed the way sequence items are iterated. Now, the nextInContainer()
- method of the DcmSequenceOfItems class is used instead of getItem(). This
- approach is much more efficient when a sequence contains a huge number of
- items, because of the current implementation of the getItem() method.
- Affects: dcmsr/libsrc/dsrcsidl.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrrefin.cc
- dcmsr/libsrc/dsrsoprf.cc
- dcmsr/libsrc/dsrtypes.cc
-
-**** Changes from 2013.10.24 (riesmeier)
-
-- Adapted test cases for markup conversion:
- Added a new test case and adapted an existing one for the new behavior of
- the "convert to markup" functions with regards to embedded NULL bytes,
- Affects: ofstd/tests/tests.cc
- ofstd/tests/tmarkup.cc
-
-- Never output NULL bytes to markup string/stream:
- Made sure that a NULL byte is never output to HTML/XHTML/XML mnenonic string
- or stream. Only if non-ASCII characters are converted to their numeric value
- (&#nnn;), they will be "visible".
- Affects: ofstd/libsrc/ofstd.cc
-
-**** Changes from 2013.10.23 (riesmeier)
-
-- Added support for new UID from Supplement 168:
- Added support for new SOP Class UID from Supplement 168 (Corneal Topography
- Map Storage SOP Class).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added support for Supplement 168 to data dictionary:
- Added support for final text version of Supplement 168 (Corneal Topography
- Map Storage SOP Class) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Added support for CP-1268 to data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2013.10.21 (riesmeier)
-
-- Removed redundant API comment.
- Affects: dcmdata/include/dcmtk/dcmdata/dctagkey.h
-
-- Fixed outdated comment on 1st PN component group:
- Fixed outdated comment on first component group of a Person Name (PN) value.
- According to CP-964, the first component group defines an alphabetic (and not
- a single-byte) representation of the person name.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrpn.h
-
-- Do not output group length in Native DICOM Model:
- Do not output group length elements (gggg,0000) in Native DICOM Model format
- (as per PS 3.19 section A.1.1, introduced with Supplement 166).
- Affects: dcmdata/libsrc/dcelem.cc
-
-**** Changes from 2013.10.17 (riesmeier)
-
-- Fixed wrong content type of XML element in DTD:
- According to the W3C XML specification, "CDATA" is not allowed in the content
- model for elements. So, for the "pixel-item" element it has been replaced by
- "#PCDATA" (which is allowed). Thanks to forum user "wrenashe" for the report.
- Affects: dcmdata/data/dcm2xml.dtd
-
-**** Changes from 2013.10.14 (riesmeier)
-
-- Fixed source code formatting and various comments.
- Affects: dcmdata/libsrc/dcmetinf.cc
-
-- Fixed timeout issue in handleAssociation():
- Fixed issue with timeout parameter not being passed to DIMSE_receiveCommand()
- in DcmSCP::handleAssociation() method. This prevented the non-blocking mode
- from working correctly.
- Thanks to forum user "wrenashe" for the report and suggested fix.
- Affects: dcmnet/libsrc/scp.cc
-
-**** Changes from 2013.10.12 (riesmeier)
-
-- Updated URL of DCMTK's home page.
- Affects: doxygen/footer.html
-
-- Removed outdated custom CSS file.
- Affects: doxygen/htmldocs.cfg
- Removed: doxygen/htmldocs.css
-
-- Updated Doxygen configuration files:
- Updated Doxygen configuration files to a more recent version (1.8.1.2).
- Affects: doxygen/htmldocs.cfg
- doxygen/manpages.cfg
-
-- Minor changes to comments.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2013.10.11 (riesmeier)
-
-- Minor fixes in comments.
- Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h
-
-- Fixed memory leak in log4cplus code:
- Fixed small memory leak (4 bytes) in log4cplus code, which was reported by
- valgrind as "still reachable" after program exit.
- Also see http://sourceforge.net/p/log4cplus/bugs/278/
- Affects: oflog/libsrc/globinit.cc
-
-**** Changes from 2013.10.11 (onken)
-
-- Replaced tabs with spaces.
- Affects: dcmwlm/libsrc/wlds.cc
-
-- Worklist SCP support for Responsible Person/Role:
- Added support for attributes Responsible Person and Responsible Person Role
- as Matching and Return Keys to worklist server.
- Affects: dcmwlm/docs/wlmscpfs.man
- dcmwlm/include/dcmtk/dcmwlm/wltypdef.h
- dcmwlm/libsrc/wlds.cc
- dcmwlm/libsrc/wlfsim.cc
-
-**** Changes from 2013.10.10 (riesmeier)
-
-- Updated comment on current character set issue.
- Affects: dcmsr/libsrc/dsrcodvl.cc
- dcmsr/libsrc/dsrpnmtn.cc
- dcmsr/libsrc/dsrtextn.cc
-
-- Use helper function findAndGetSequence():
- Use helper function DcmItem::findAndGetSequence() instead of the low-level
- search() method, which requires a DcmStack instance.
- Affects: dcmsr/libsrc/dsrdoctn.cc
-
-- Report warning on unsupported character sets:
- Report a warning message on SpecificCharacterSet values that are not (yet)
- supported by the VR checker in the dcmdata module (i.e. all but ASCII and
- ISO Latin-1).
- Affects: dcmsr/libsrc/dsrdoc.cc
-
-- Enhanced implementation of checkCode() method:
- Made sure that the checkCode() method does not reject valid code values that
- use extended characters that are not yet supported by dcmdata's VR checker
- (i.e. all but ASCII and ISO Latin-1). Partially closes DCMTK Bug #547.
- Affects: dcmsr/libsrc/dsrcodvl.cc
-
-- Avoid unnecessary copies of sequence elements:
- By referencing the sequence elements instead of copying, it is also possible
- to access the SpecificCharacterSet element of the surrounding dataset/item,
- which is needed for the VR checker. Partially closes DCMTK Bug #547.
- Affects: dcmsr/libsrc/dsrcodvl.cc
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrcsidl.cc
- dcmsr/libsrc/dsrimgfr.cc
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrsoprf.cc
-
-- Added new variant of checkElementValue():
- This new variant gets a pointer to a DICOM element (and not a reference).
- In addition, the getAndCheckXXXFromDataset() methods now make sure that no
- element copy is created _before_ the element is checked. This is because
- otherwise there would be no access to the SpecificCharacterSet element of
- the surrounding dataset/item, which is needed for the VR checker.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrtypes.cc
-
-- Added 'charset' parameter to checkStringValue():
- Added optional character set parameter to static function checkStringValue()
- in order to make sure that only ASCII and Latin-1 strings are checked for
- their conformance with the VR definition (this is a current limitation of the
- underlying VR checker). Also the checkValue() method now uses the value of
- the SpecificCharacterSet element of the surrounding dataset/item.
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcvrlo.h
- dcmdata/include/dcmtk/dcmdata/dcvrlt.h
- dcmdata/include/dcmtk/dcmdata/dcvrpn.h
- dcmdata/include/dcmtk/dcmdata/dcvrsh.h
- dcmdata/include/dcmtk/dcmdata/dcvrst.h
- dcmdata/include/dcmtk/dcmdata/dcvrut.h
- dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dcvrlo.cc
- dcmdata/libsrc/dcvrlt.cc
- dcmdata/libsrc/dcvrpn.cc
- dcmdata/libsrc/dcvrsh.cc
- dcmdata/libsrc/dcvrst.cc
- dcmdata/libsrc/dcvrut.cc
-
-- Added method to determine SpecificCharacterSet:
- Added method to class DcmCharString that allows for determining the value of
- the SpecificCharacterSet element of the surrounding dataset/item.
- Closes DCMTK Feature #555.
- Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h
- dcmdata/include/dcmtk/dcmdata/dcdatset.h
- dcmdata/include/dcmtk/dcmdata/dcdirrec.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/dcchrstr.cc
-
-- Fixed various typos in comments.
- Affects: dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dcitem.cc
-
-**** Changes from 2013.10.09 (riesmeier)
-
-- Fixed various typos.
- Affects: dcmnet/include/dcmtk/dcmnet/scpcfg.h
- dcmnet/include/dcmtk/dcmnet/scpthrd.h
-
-**** Changes from 2013.10.08 (riesmeier)
-
-- Fixed typos.
- Affects: ofstd/include/dcmtk/ofstd/ofuuid.h
- ofstd/libsrc/ofuuid.cc
-
-- Updated automake script to version 1.14:
- Updated script that creates filesystem directories to the most recent version
- of automake, even though only minor changes were made.
- Affects: config/mkinstalldirs
-
-- Also updated autoconf support files:
- After updating the configure script to autoconf 2.69, now also the support
- files that are shipped with the autoconf package have been updated.
- Affects: config/config.guess
- config/config.sub
- config/install-sh
-
-**** Changes from 2013.10.07 (riesmeier)
-
-- Added definition of DCMTK_PACKAGE_URL:
- Added definition of DCMTK_PACKAGE_URL in order to be consistent with the
- GNU autoconf (aka configure) system. However, this setting is currently
- unused and, therefore, uncommented/disabled.
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2013.10.04 (riesmeier)
-
-- Updated to autoconf 2.69.
- Affects: config/configure
- config/confmod
-
-- Updated our email address for bug reports.
- Affects: CMake/dcmtkPrepare.cmake
- README
- config/configure.in
- dcmwlm/docs/wwwapp.txt
- doxygen/htmldocs.dox
-
-**** Changes from 2013.10.02 (riesmeier)
-
-- Made use of new global flags for VR generation:
- The new global flags for enabling/disabling the support of OF and OD as a
- valid VR are now used for the "post-1993 VR" command line options.
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmcrle.cc
- dcmdata/apps/dcmdrle.cc
- dcmdata/apps/dcmgpdir.cc
- dcmdata/apps/dump2dcm.cc
- dcmdata/apps/mdfconen.cc
- dcmdata/apps/pdf2dcm.cc
- dcmdata/apps/xml2dcm.cc
- dcmimage/apps/dcmquant.cc
- dcmimage/apps/dcmscale.cc
- dcmjpeg/apps/dcmcjpeg.cc
- dcmjpeg/apps/dcmdjpeg.cc
- dcmjpls/apps/dcmcjpls.cc
- dcmjpls/apps/dcmdjpls.cc
- dcmnet/apps/findscu.cc
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
- dcmpstat/apps/dcmprscp.cc
- dcmpstat/apps/dcmprscu.cc
- dcmpstat/apps/dcmpsrcv.cc
- dcmpstat/apps/dcmpssnd.cc
- dcmqrdb/apps/dcmqrscp.cc
- dcmqrdb/apps/dcmqrti.cc
- dcmsr/apps/xml2dsr.cc
- dcmwlm/apps/wlcefs.cc
-
-- Added two new global flags for VR generation:
- Added global flags for enabling/disabling the support of OF and OD as a valid
- VR. When disabling the support for these post-1993 VRs, OB is used instead.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/libsrc/dcvr.c
-
-**** Changes from 2013.10.01 (riesmeier)
-
-- Added trace log message on VR replacement:
- Output message to trace logger when a post-1993 value representation like UT
- or UN is replaced by OB because support for these "new" VRs is disabled.
- Affects: dcmdata/libsrc/dcvr.cc
-
-- Fixed various coding style issues.
- Affects: dcmdata/libsrc/dcvr.cc
-
-- Removed superfluous footnote symbol "(*)".
- Affects: dcmwlm/docs/wlmscpfs.man
-
-**** Changes from 2013.09.28 (riesmeier)
-
-- Output currently processed line of input file:
- Output the number of the currently processed text line of the input file to
- the trace logger. This might be useful for debugging purposes.
- Affects: dcmdata/apps/dump2dcm.cc
-
-- Output a warning message if the VR is unknown:
- Output a warning message if the VR of a Tag in the dump file is unknown. This
- could happen if the VR is neither specified in the dump file nor it can be
- determined from the data dictionary. In such cases, the VR "UN" us used.
- Affects: dcmdata/apps/dump2dcm.cc
-
-**** Changes from 2013.09.27 (riesmeier)
-
-- Fixed typo copied from Supplement 163:
- Fixed typo copied from the cover page of the Supplement 163 document.
- Affects: dcmdata/docs/dcm2xml.man
-
-**** Changes from 2013.09.26 (riesmeier)
-
-- Clarified use of writeXML() flags:
- Made more clear which writeXML() flags can be used for which output format.
- Affects: dcmdata/include/dcmtk/dcmdata/dctypes.h
-
-- Added support for <InlineBinary> XML element:
- Added preliminary support for the <InlineBinary> XML element, which has been
- introduced to the Native DICOM Model with Supplement 163 (Store Over the Web
- by Representational State Transfer Services). Currently, data elements with a
- VR of OB, OW and UN can be encoded as base64, i.e. OD and OF are still
- missing. Partially closes DCMTK Feature #549.
- Affects: dcmdata/apps/dcm2xml.cc
- dcmdata/docs/dcm2xml.man
- dcmdata/libsrc/dcpixseq.cc
- dcmdata/libsrc/dcvrobow.cc
-
-**** Changes from 2013.09.25 (riesmeier)
-
-- Fixed typos.
- Affects: dcmdata/apps/img2dcm.cc
-
-- Added missing references to closed DCMTK features.
- Affects: CHANGES.361
-
-**** Changes from 2013.09.24 (onken)
-
-- Create DcmFileFormat from DcmDataset w/o copying:
- Added possibility to create DcmFileFormat from existing dataset and let
- DcmFileFormat take ownership for that dataset instead of always performing a
- deep copy. Closes DCMTK Feature #544.
- Affects: dcmdata/include/dcmtk/dcmdata/dcfilefo.h
- dcmdata/libsrc/dcfilefo.cc
-
-- Do not copy DcmDataset during C-GET receive:
- C-GET functionality does not copy the dataset any more in the standard
- storage handler.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-**** Changes from 2013.09.23 (riesmeier)
-
-- Added new option for printing invalid codes:
- Added new command line option that allows for printing also invalid codes.
- Affects: dcmsr/apps/dsrdump.cc
- dcmsr/docs/dsrdump.man
-
-- Added new print flag for showing invalid codes:
- Added new print flag value that allows for showing also invalid codes. This
- is especially useful for debugging purposes. Closes DCMTK Feature #548.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrcodtn.cc
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Slightly changed output of print() method:
- Invalid codes are now printed if the "printInvalid" parameter is true. By
- default, the text "invalid code" is printed in such cases. Before this
- modification, invalid codes were never printed and the behavior of the
- "printInvalid" parameter was different. Closes DCMTK Feature #548.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/libsrc/dsrcodvl.cc
-
-**** Changes from 2013.09.20 (riesmeier)
-
-- Fixed issue with CP-246 files and private tags:
- According to CP-246, elements with VR=UN and undefined length should be
- interpreted as a sequence with implicit VR. This fix makes sure that the
- code also works with private tags. It also corrects a wrong log message.
- Thanks to Mathieu Malaterre <malat@debian.org> for the original report.
- Affects: dcmdata/libsrc/dcitem.cc
-
-- Minor fixes, e.g. added Doxygen markup.
- Affects: dcmqrdb/docs/dcmqrdb.man
-
-**** Changes from 2013.09.20 (onken)
-
-- Warning to re-create index.dat after 20130705:
- The format of dcmqrdb's binary index.dat file changed on 20130705 due to a
- bug fix in the corresponding code. An index.dat file created before that date
- will not work with dcmqrdb code compiled after that date but must be
- re-created.
- Affects: dcmqrdb/docs/dcmqrdb.man
-
-**** Changes from 2013.09.11 (riesmeier)
-
-- Fixed wrong Doxygen reference to a method:
- Fixed wrong reference in API documentation to the loadAllDataIntoMemory()
- method (was loadAllDataElements() before).
- Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h
- dcmdata/include/dcmtk/dcmdata/dcfilefo.h
- dcmdata/include/dcmtk/dcmdata/dcmetinf.h
-
-**** Changes from 2013.09.04 (riesmeier)
-
-- Added support for generating a Doxygen tag file:
- Added preliminary support for generating a Doxygen tag file. This file can be
- used to link the generated HTML documentation from external projects.
- Closes DCMTK feature #455.
- Affects: CMake/dcmtkPrepare.cmake
- doxygen/CMakeLists.txt
- doxygen/Makefile.in
- doxygen/htmldocs.cfg
-
-**** Changes from 2013.08.30 (riesmeier)
-
-- Updated copyright dates (where appropriate).
- Affects: COPYRIGHT
-
-- Added new storage mode options:
- Added two new command line options specifying the storage mode to be used:
- --normal and --bit-preserving.
- Affects: dcmnet/apps/dcmrecv.cc
- dcmnet/docs/dcmrecv.man
-
-- Added new dataset storage mode:
- Added new storage mode that allows for receiving a dataset directly to file,
- i.e. the data is written exactly as received. This is what the storescp calls
- "bit preserving mode".
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscp.h
- dcmnet/libsrc/dstorscp.cc
-
-- Receive C-STORE request dataset directly to file:
- Added method that allows for receiving a C-STORE request dataset directly to
- file. Using this new method, large SOP instances can be received with less
- memory requirements and the datasets can be stored as received (i.e. without
- any conversions).
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/Makefile.dep
- dcmnet/libsrc/scp.cc
-
-- Fixed various typos in comments.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
-
-**** Changes from 2013.08.29 (riesmeier)
-
-- Introduced dataset storage mode:
- Added new option that allows for ignoring the received dataset, i.e. the
- DICOM dataset received with a C-STORE request message is not stored to file.
- Affects: dcmnet/apps/dcmrecv.cc
- dcmnet/docs/dcmrecv.man
- dcmnet/include/dcmtk/dcmnet/dstorscp.h
- dcmnet/libsrc/dstorscp.cc
-
-**** Changes from 2013.08.27 (riesmeier)
-
-- Restructured implementation of handleSTORERequest():
- Completely restructured the implementation of handleSTORERequest(), which now
- consists of calling 3 separate methods successively: receiveSTORERequest(),
- checkSTORERequest() and sendSTOREResponse(). This could be the prototype for
- all other network messages currently supported by this class. Also regrouped
- the various network message methods.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/dstorscp.cc
- dcmnet/libsrc/scp.cc
-
-- Fixed various typos in comments.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
-
-- Fixed wrong log message in handleMOVERequest().
- Affects: dcmnet/libsrc/scp.cc
-
-- Removed "&" from constant integer parameters:
- Removed "&" specifier from constant integer parameters since passing such
- input values by-reference does not make any sense. Also fixed some layout
- and formatting issues.
- Affects: dcmtls/include/dcmtk/dcmtls/tlsscu.h
- dcmtls/libsrc/tlsscu.cc
-
-**** Changes from 2013.08.26 (riesmeier)
-
-- Removed class name from derived method calls:
- Removed explicit class name when calling a derived method (as long as the
- method name is unambiguous, i.e. the compiler does not complain).
- Affects: dcmnet/libsrc/dstorscp.cc
-
-- Do not copy received dataset in memory:
- Made sure that the DICOM dataset received via a C-STORE request is not copied
- in memory (i.e. to a DcmFileFormat structure) in order to store it as a DICOM
- file (i.e. with file meta information header).
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscp.h
- dcmnet/libsrc/dstorscp.cc
-
-- Fixed various inconsistencies in comments.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
-
-- Pass existing dataset to handleSTORERequest():
- Enhanced handleSTORERequest() by allowing an existing dataset to be passed to
- this method. This avoids copying a received dataset to a fileformat structure
- in order to store the dataset as a DICOM file.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.cc
-
-- Fixed various typos in comments.
- Affects: dcmnet/apps/storescp.cc
-
-**** Changes from 2013.08.23 (riesmeier)
-
-- Added meta header to stored DICOM files:
- Made sure that the file meta information header is written to all created
- DICOM files. Previously only the DICOM dataset was written to file.
- Affects: dcmnet/libsrc/dstorscp.cc
-
-**** Changes from 2013.08.23 (onken)
-
-- Always write meta header when receiving files. Removed Winsock comment.
- Affects: dcmnet/libsrc/scu.cc
-
-- Added missing CHANGES entry.
- Affects: CHANGES.361
-
-**** Changes from 2013.08.20 (riesmeier)
-
-- Added support for Supplement 163 to data dictionary:
- Added support for final text version of Supplement 163 (Store Over the Web by
- RESTful Services, STOW-RS) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2013.08.20 (onken)
-
-- Make sure oflog also compiles if threads are disabled.
- Affects: oflog/libsrc/socketap.cc
-
-**** Changes from 2013.08.14 (riesmeier)
-
-- Deprecated closeAssociation() method:
- Added comment that closeAssociation() is deprecated and will probably be made
- "protected" in the future. Instead of that, the methods releaseAssociation()
- and abortAssociation() from the base class DcmSCU should be used.
- Affects: dcmtls/include/dcmtk/dcmtls/tlsscu.h
-
-- Fixed various typos.
- Affects: dcmtls/libsrc/tlsscu.cc
-
-**** Changes from 2013.08.13 (riesmeier)
-
-- Updated CMake version:
- Updated information on latest CMake version that has been tested to "2.8.11".
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2013.08.12 (riesmeier)
-
-- Function createDirectory() also works on Windows:
- Implemented and tested the new function createDirectory() on Windows systems.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-- Updated man pages.
- Affects: dcmdata/docs/dcmodify.man
- doxygen/manpages/man1/*
-
-- Rebuilt Makefile dependencies.
- Affects: dcmnet/tests/Makefile.dep
-
-- Added comments to unused exit codes.
- Affects: dcmnet/apps/dcmsend.cc
-
-- Added new command line tool "dcmrecv":
- This tool is a Simple Storage Service Class Provider, which is based on the
- recently introduced network class DcmStorageSCP.
- Added: dcmnet/apps/dcmrecv.cc
- dcmnet/docs/dcmrecv.man
- doxygen/manpages/man1/dcmrecv.1
- Affects: dcmnet/apps/CMakeLists.txt
- dcmnet/apps/Makefile.dep
- dcmnet/apps/Makefile.in
- dcmnet/docs/dcmnet.dox
- dcmnet/docs/dcmsend.man
-
-- Added new class DcmStorageSCP:
- Added an easy-to-use interface class for a Storage Service Class Provider
- (SCP), which stores the received datasets as DICOM files.
- Added: dcmnet/include/dcmtk/dcmnet/dstorscp.h
- dcmnet/libsrc/dstorscp.cc
- Affects: dcmnet/docs/dcmnet.dox
- dcmnet/libsrc/CMakeLists.txt
- dcmnet/libsrc/Makefile.dep
- dcmnet/libsrc/Makefile.in
- ofstd/include/dcmtk/ofstd/ofcond.h
- ofstd/libsrc/ofcond.cc
-
-- Fixed some minor Doxygen issues.
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
-
-- Added global helper function createDirectory():
- Added a global helper function to OFStandard that allows for creating file
- directories in a portable way. This also includes the creation of arbitrary
- sub-directories, i.e. this function works "recursively".
- Please note that createDirectory() has not yet been implemented for the
- Windows platform.
- Affects: ofstd/include/dcmtk/ofstd/ofcond.h
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofcond.cc
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2013.08.09 (riesmeier)
-
-- Removed trailing spaces.
- Affects: ofstd/libsrc/offname.cc
-
-- Added progress notification to DcmSCP:
- Added support for progress notifications while sending and receiving DICOM
- datasets. This is the same approach as already implemented in DcmSCU.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/include/dcmtk/dcmnet/scpcfg.h
- dcmnet/libsrc/scp.cc
- dcmnet/libsrc/scpcfg.cc
-
-- Removed unused fields from sendACTIONResponse():
- Removed optional "Action Type ID" and unused "Dataset" from N-ACTION Response.
- Please note that this changes the signature of sendACTIONResponse().
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.cc
-
-- Fixed issues with optional message fields:
- Fixed issues with optional message fields "Affected SOP Class UID" and
- "Affected SOP Instance UID", which were not always enabled correctly.
- Affects: dcmnet/libsrc/scp.cc
-
-- Modified log output in loadAssociationCfgFile():
- Slightly modified the log output in loadAssociationCfgFile(), e.g. by showing
- the name of the configuration file on the debug logger. Also check the input
- filename for an empty string and return an error code in such a case.
- Affects: dcmnet/libsrc/scpcfg.cc
-
-**** Changes from 2013.08.08 (riesmeier)
-
-- Reimplemented sendSTOREResponse() method:
- Please note that the signature of sendSTOREResponse() changed with this
- commit. There are now two variants of this method: one that is quite easy to
- use and the other that allows for specifying more details.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.c
-
-- Use optional fields in sendSTOREResponse():
- Made sure that the optional fields "Affected SOP Class UID" and "Affected SOP
- Instance UID" in sendSTOREResponse() are really used. Also fixed some typos.
- Affects: dcmnet/libsrc/scu.cc
-
-- Fixed various typos.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
-
-- Added new condition constants:
- Added two new conditions constants for general directory-related errors:
- EC_DirectoryDoesNotExist and EC_DirectoryNotWritable.
- Affects: ofstd/include/dcmtk/ofstd/ofcond.h
- ofstd/libsrc/ofcond.cc
-
-**** Changes from 2013.08.07 (riesmeier)
-
-- Enable WITH_THREADS for thread-related classes.
- Affects: doxygen/htmldocs.cfg
-
-- Fixed various typos and other Doxygen issues.
- Affects: dcmnet/docs/cptscp.doxygen
- dcmnet/include/dcmtk/dcmnet/scppool.h
- dcmnet/libsrc/scppool.cc
-
-- Added releaseAssociation() and abortAssociation():
- Added two new methods releaseAssociation() and abortAssociation() that should
- be used instead of closeAssociation(). The latter is now deprecated and will
- probably be made "protected" in the future. Closes DCMTK feature #531.
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
- dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/dstorscu.cc
- dcmnet/libsrc/scu.cc
-
-- Fixed various typos.
- Affects: dcmnet/libsrc/scp.cc
- dcmnet/libsrc/scppool.cc
-
-**** Changes from 2013.08.06 (riesmeier)
-
-- Removed trailing space characters:
- Removed trailing space characters and fixed other minor issues.
- Affects: dcmnet/include/dcmtk/dcmnet/dcasccff.h
- dcmnet/include/dcmtk/dcmnet/dcasccfg.h
- dcmnet/libsrc/dcasccff.cc
- dcmnet/libsrc/dcasccfg.cc
-
-- Fixed further documentation issues.
- Affects: dcmnet/include/dcmtk/dcmnet/scppool.h
-
-**** Changes from 2013.08.05 (riesmeier)
-
-- Really call shouldStopAfterCurrentSOPInstance():
- Although the method shouldStopAfterCurrentSOPInstance() has been introduced
- with commit 65f2966, it was never called during sendSOPInstances(), so the
- sending process could not be stopped (as described in the documentation).
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
- dcmnet/libsrc/dstorscu.cc
-
-- Fixed various oddities and inconsistencies:
- Fixed various oddities and inconsistencies regarding the documentation style
- (e.g. undocumented parameters) and the source code formatting.
- Affects: dcmnet/include/dcmtk/dcmnet/scppool.h
-
-- Replaced tabulator by space characters.
- Affects: dcmnet/include/dcmtk/dcmnet/scppool.h
-
-- Fixed various oddities and inconsistencies:
- Fixed various oddities and inconsistencies regarding the C-MOVE originator
- information, e.g. the get and set methods.
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
- dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/dstorscu.cc
- dcmnet/libsrc/scu.cc
-
-- Added comment on inappropriate use of EC_IllegalCall.
- Affects: dcmnet/libsrc/scpthrd.cc
-
-- Updated version number of snapshot compilers:
- Updated the version number of the Linux and Windows compilers the DCMTK
- snapshot has been tested with.
- Affects: INSTALL
-
-**** Changes from 2013.08.01 (riesmeier)
-
-- Fixed wrong VR for private AGFA IMPAX tag.
- The VR given for "date_time_verified" (0031,xx01) in the "AGFA IMPAX 6.5.x
- Solution" conformance statement is apparently wrong. It should be "UL"
- instead of "CS" since it seems to specify a UNIX timestamp (32 bit).
- Affects: dcmdata/data/private.dic
- dcmdata/libsrc/dcdictzz.cc
-
-- Added private tags for AGFA IMPAX 6.5.x Solution.
- Added two private tag definitions from the "AGFA IMPAX 6.5.x Solution"
- conformance statement.
- Affects: dcmdata/data/private.dic
- dcmdata/libsrc/dcdictzz.cc
-
-- Added support for new VR "Other Double String" (OD):
- Added support for new value representation "Other Double String" (OD) that
- has been introduced only recently with CP-1261 (Other Double 64 Bit Floating
- Point Value Representation). Closes DCMTK feature #526.
- Added: dcmdata/include/dcmtk/dcmdata/dcvrod.h
- dcmdata/libsrc/dcvrod.cc
- Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/Makefile.in
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcvr.cc
- dcmdata/tests/telemlen.cc
- dcmdata/tests/tests.cc
-
-**** Changes from 2013.07.26 (onken)
-
-- Fixed possible doubled destruction of association.
- Affects: dcmnet/libsrc/scp.cc
-
-**** Changes from 2013.07.25 (riesmeier)
-
-- Replaced "OFString::length() > 0" by "!OFString::empty()".
- Affects: dcmdata/apps/dcm2xml.cc
- dcmdata/apps/mdfdsman.cc
- dcmdata/libsrc/dcvrtm.cc
- dcmjpeg/libsrc/djcodece.cc
- dcmjpeg/libsrc/djutils.cc
- dcmnet/apps/echoscu.cc
- dcmnet/apps/findscu.cc
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
- dcmnet/libsrc/dccfuidh.cc
- dcmpstat/apps/dcmprscp.cc
- dcmpstat/apps/dcmprscu.cc
- dcmpstat/apps/dcmpsrcv.cc
- dcmpstat/apps/dcmpssnd.cc
- dcmpstat/libsrc/dcmpstat.cc
- dcmpstat/libsrc/dviface.cc
- dcmpstat/libsrc/dvpscf.cc
- dcmwlm/libsrc/wlds.cc
- dcmwlm/libsrc/wldsfs.cc
- dcmwlm/libsrc/wlfsim.cc
- ofstd/libsrc/ofconapp.cc
-
-- Replaced "OFString::length() != 0" by "!OFString::empty()".
- Affects: dcmdata/apps/mdfdsman.cc
- dcmdata/libi2d/i2d.cc
-
-- Replaced "OFString::length() == 0" by "OFString::empty()".
- Affects: dcmdata/apps/img2dcm.cc
- dcmdata/apps/pdf2dcm.cc
- dcmdata/libi2d/i2d.cc
- dcmdata/libi2d/i2dbmps.cc
- dcmdata/libi2d/i2djpgs.cc
- dcmnet/apps/storescu.cc
- dcmpstat/libsrc/dviface.cc
- dcmpstat/libsrc/dvpsri.cc
- dcmpstat/libsrc/dvpsvw.cc
- dcmwlm/libsrc/wlds.cc
- dcmwlm/libsrc/wldsfs.cc
- dcmwlm/libsrc/wlfsim.cc
-
-**** Changes from 2013.07.23 (onken)
-
-- Fixed issues where JPEG marker map was not cleared if
- more than one JPEG was converted using the same plugin
- instance.
- Affects: dcmdata/libi2d/i2djpgs.cc
-
-**** Changes from 2013.07.12 (riesmeier)
-
-- Fixed issue with misplaced log output, which caused the use of an
- uninitialized variable ("req").
- Thanks to Mathieu Malaterre <malat@debian.org> for the valgrind report and
- to Uli Schlachter <psychon@znc.in> for his expert opinion.
- Affects: dcmnet/apps/movescu.cc
-
-**** Changes from 2013.07.05 (onken)
-
-- Fixed too small buffer for UID in Q/R server. Thanks to Mathieu
- Malaterre <malat@debian.org> for the report and fix.
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
-
-**** Changes from 2013.06.27 (onken)
-
-- Fixed typo (coersion -> coercion) in DIMSE status constant. Thanks to
- Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report and suggested fix.
- Affects: dcmnet/include/dcmtk/dcmnet/dimse.h
- dcmnet/libsrc/dimdump.cc
- dcmnet/libsrc/diutil.cc
- dcmnet/libsrc/dstorscu.cc
-
-**** Changes from 2013.06.26 (riesmeier)
-
-- Fixed bug in getTimeZoneFromString() method. Added new test for this case.
- Thanks to Tamas Nemeth <tnemeth@erad.com> for the report and suggested fix.
- Affects: dcmdata/libsrc/dcvrtm.cc
- dcmdata/tests/tvrdatim.cc
-
-**** Changes from 2013.06.24 (riesmeier)
-
-- Minor fixes to comments on VOI-related methods.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
-
-- Added support for new SOP Class UIDs from Supplement 157 (Multi-Frame
- Converted Legacy Images).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added support for final text version of Supplement 157 (Multi-Frame Converted
- Legacy Images) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Slightly enhanced documentation of completion flag methods (in accordance
- with the recently approved CP-1219).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
-
-- Added support for CP-1248, CP-1258 and CP-1269 to data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2013.06.11 (riesmeier)
-
-- Various fixes to comments. Also removed trailing white spaces.
- Affects: ofstd/include/dcmtk/ofstd/ofmem.h
- ofstd/tests/tmem.cc
-
-*** Changes from 2013.06.10 (onken)
-
-- Make sure SCU and SCP request/response data structures are initially zeroed.
- Affects: dcmnet/libsrc/scp.cc
- dcmnet/libsrc/scu.cc
-
-- Added missing CHANGES entry for last 2 commits.
- Affects: CHANGES.361
-
-*** Changes from 2013.06.10 (schlamelcher)
-
-- Make use of unique pointer (free memory if C-MOVE/C-FIND is canceled).
- Affects: dcmnet/libsrc/scu.cc
-
-- Introduced OFunique_ptr as a fallback if std::unique_ptr is not available.
- Affects: ofstd/include/ofmem.h
- ofstd/tests/tmem.cc
-
-**** Changes from 2013.06.04 (onken)
-
-- Add "Discard illegal character" support to dcmconv and classes like DcmItem.
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/docs/dcmconv.man
- dcmdata/include/dcmtk/dcmdata/dcdirrec.h
- dcmdata/include/dcmtk/dcmdata/dcfilefo.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcitem.cc
-
-- Added option to discard illegal characters when converting between
- DICOM character sets.
- Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
- dcmdata/libsrc/dcspchrs.cc
- dcmdata/tests/tspchrs.cc
-
-**** Changes from 2013.06.04 (riesmeier)
-
-- Fixed minor inconsistencies introduced with last commit (9fd4776).
- Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
- dcmdata/libsrc/dcspchrs.cc
- tests/tspchrs.cc
-
-- Output absolute minimum and maximum value of intermediate pixel data to trace
- logger in order to better understand the result (output data) when rendering
- an image without VOI transformation.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
-
-**** Changes from 2013.06.03 (riesmeier)
-
-- Added missing support for the new print options (short name, long name or UID
- value) to the output of presentation state references of IMAGE content items.
- Thanks to Mathieu Malaterre <malat@debian.org> for the report on this issue.
- Affects: dcmsr/libsrc/dsrimgvl.cc
-
-**** Changes from 2013.05.31 (riesmeier)
-
-- Fixed issue with unnecessary call to clearNodeCursorStack(). This undesirable
- stack cleanup prevented gotoNextNamedNode() from working correctly.
- Thanks to forum user "Tim" for the original report demonstrating this issue.
- Affects: dcmsr/libsrc/dsrdoctr.cc
-
-**** Changes from 2013.05.30 (riesmeier)
-
-- Fixed some tag key constants of recently retired attributes (CP-1249).
- Affects: dcmrt/libsrc/drtforrs.cc
-
-- Added support for CP-1246 and CP-1249 to data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2013.05.27 (onken)
-
-- Make sure memcpy does not copy to NULL destination. Thanks to Francesco
- Gigante <fgigante@imsitaly.com> for the report.
- Affects: dcmdata/libsrc/dcelem.cc
-
-**** Changes from 2013.05.15 (riesmeier)
-
-- Made more clear that support for shared libraries is still not that mature.
- Affects: INSTALL
-
-**** Changes from 2013.04.25 (riesmeier)
-
-- Fixed bug in checkSOPClassUID() that caused all currently defined Waveform
- SOP classes to be rejected. This bug was introduced with commit a0fe345b.
- Affects: dcmsr/libsrc/dsrwavvl.cc
-
-- Added command line options using the new print flags specifying how the SOP
- class of referenced DICOM objects is printed. Also did some restructuring.
- Thanks to Mathieu Malaterre <malat@debian.org> for the suggestion.
- Affects: dcmsr/apps/dsrdump.cc
- dcmsr/docs/dsrdump.man
-
-- Added new options for specifying how the SOP class of referenced DICOM
- objects is printed (short name, long name or UID value).
- Thanks to Mathieu Malaterre <malat@debian.org> for the suggestion.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/libsrc/dsrwavvl.cc
-
-**** Changes from 2013.04.23 (riesmeier)
-
-- Added some debug output to read() method, e.g. whether the automatic transfer
- syntax detection is enabled and actually used.
- Affects: dcmdata/libsrc/dcdatset.cc
-
-- Added some debug output to lookForXfer() method, e.g. whether the meta-header
- is present at all and whether it contains the TransferSyntaxUID element.
- Affects: dcmdata/libsrc/dcfilefo.cc
-
-**** Changes from 2013.04.19 (riesmeier)
-
-- Added missing sub-directory "oflog/thread" to "make install" target.
- Thanks to Markus Mertens <Markus.Mertens@evkb.de> for the report.
- Affects: oflog/include/Makefile.in
-
-**** Changes from 2013.04.08 (riesmeier)
-
-- Fixed issue with last pixel value being undefined in odd-length pixel data
- (occurred in partial access mode with PixelData VR=OW and BitsAllocated=8).
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the original report.
- Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
-
-**** Changes from 2013.04.08 (schlamelcher)
-
-- Some workarounds for VC6 compiler peculiarity.
- Affects: dcmdata/tests/tfilter.cc
- dcmnet/include/dcmtk/dcmnet/scppool.h
-
-**** Changes from 2013.04.05 (riesmeier)
-
-- Use non-throwing new and delete operator for large memory buffers (e.g. pixel
- data) in order to avoid exceptions.
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the original report.
- Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
-
-- Fixed two possible memory leaks found by static code analysis (cppcheck).
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report and patch.
- Affects: dcmnet/libsrc/assoc.cc
-
-- Added comment to a local variable that is currently unused (but might be used
- in the future).
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for pointing this out.
- Affects: dcmnet/libsrc/dimse.cc
-
-**** Changes from 2013.03.28 (schlachter)
-
-- Silence some more compiler warnings about implicit casts.
- Affects: dcmdata/tests/dctmacro.h
- oflog/libsrc/timehelp.cc
-
-**** Changes from 2013.03.25 (schlachter)
-
-- Fixed crash if less than four transfer syntaxes are enabled.
- This fixes debian bug #703716.
- Affects: dcmqrdb/libsrc/dcmqrsrv.cc
-
-- Worked around compiler warnings on 32bit systems for too large shifts.
- Affects: dcmjpls/libcharls/util.h
-
-- Fixed compiler warnings in ConvertIntegerToString with unsigned integers.
- Affects: oflog/include/dcmtk/oflog/helpers/strhelp.h
-
-- Fixed bug in OFString::copy() and improved unit tests.
- Thanks to forum user "oxymoron" for the report.
- Affects: ofstd/libsrc/ofstring.cc
- ofstd/tests/tests.cc
- ofstd/tests/tstring.cc
-
-**** Changes from 2013.03.22 (riesmeier)
-
-- Minor fixes in comments. Also made some input parameters "const".
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.cc
-
-**** Changes from 2013.03.21 (riesmeier)
-
-- Minor fixes in comments, e.g. typos.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
-
-**** Changes from 2013.03.19 (schlachter)
-
-- Don't include intrin.h on Visual Studio 2005 because of build errors.
- Affects: oflog/include/dcmtk/oflog/config/win32.h
-
-- Use DcmTagKey's output operator where possible.
- Affects: dcmdata/libsrc/dcdicdir.cc
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcobject.cc
-
-**** Changes from 2013.03.11 (schlachter)
-
-- Fixed various issues found via cppcheck. Thanks to Per Inge
- Mathisen <per.mathisen@gmail.com> for the report and suggested fix.
- Affects: dcmdata/libsrc/mkdictbi.cc
- dcmnet/libsrc/assoc.cc
- dcmpstat/apps/dcmmkcrv.cc
- dcmqrdb/libsrc/dcmqrdbi.cc
- dcmsign/libsrc/dcsignat.cc
- oflog/libsrc/striconv.cc
-
-- Update rootconf for changes which were done directly to generated files.
- Affects: config/rootconf
-
-- Use ".NOTPARALLEL:" to make parallel builds (e.g. -j4) possible.
- Thanks to Tilman Vogel <tilman@circlecvi.com> for the patch.
- Affects: Makefile
-
-- Removed unused local variable which shadowed a variable with the same name.
- Affects: dcmnet/libsrc/scp.cc
-
-- Fixed wrong definition of Value Representation Person Name (PN): Allow empty
- component groups while still not allowing completely empty PN elements.
- Thanks to forum user "Hua Cong Danh" for the report.
- Affects: dcmdata/include/dcmtk/dcmdata/dcsequen.h
- dcmdata/include/dcmtk/dcmdata/dcvr*.h
- dcmdata/libsrc/dcvrpn.cc
- dcmdata/libsrc/vrscanl.c
- dcmdata/libsrc/vrscanl.h
- dcmdata/libsrc/vrscanl.l
- dcmdata/tests/Makefile.dep
- dcmdata/tests/tchval.cc
-
-**** Changes from 2013.03.08 (riesmeier)
-
-- Fixed various issues in syntax usage output (e.g. inconsistent program name).
- Affects: dcmwlm/wwwapps/writwlst.cc
-
-**** Changes from 2013.02.15 (onken)
-
-- Added optional status detail when sending C-MOVE response.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.cc
-
-- Make DcmStorageSCU make use of new MoveOriginator feature.
- Affects: dcmnet/libsrc/dstorscu.cc
-
-- Added (optional) originating C-MOVE AE title and message ID to
- C-STORE message.
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
- dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/dstorscu.cc
- dcmnet/libsrc/scu.cc
-
-**** Changes from 2013.02.13 (riesmeier)
-
-- Added full support for the new Comprehensive 3D SR IOD introduced with
- Supplement 162.
- Thanks to forum user "vlad" for the original patch.
- Added: dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h
- dcmsr/libsrc/dsrc3dcc.cc
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
- dcmsr/libsrc/dsrtypes.cc
-
-- Added missing assignment of member variable in setValue() method.
- Thanks to forum user "vlad" for the report and fix.
- Affects: dcmsr/libsrc/dsrsc3vl.cc
-
-**** Changes from 2013.02.12 (riesmeier)
-
-- Added new SOP Class UID from Supplement 162 (Comprehensive 3D SR Storage SOP
- Class) to networking library/tools and to DICOMDIR generation code.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/getscu.man
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-- Added support for new directory record type "SURFACE SCAN" from Supplement
- 154 (Optical Surface Scanner Storage SOP Class).
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/include/dcmtk/dcmdata/dcdirrec.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcdirrec.cc
-
-**** Changes from 2013.02.11 (riesmeier)
-
-- Added support for new SOP Class UIDs from Supplement 154 (Optical Surface
- Scanner Storage SOP Class).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/getscu.man
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added support for final text version of Supplement 154 (Optical Surface
- Scanner Storage SOP Class) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Added support for new attribute Zero Velocity Pixel Value (0018,9810)
- introduced with CP-1236 to checkAndUpdateVR() method.
- Affects: dcmdata/libsrc/dcitem.cc
-
-- Added support for CP-1236 to data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2013.01.24 (onken)
-
-- Added checking for incoming C-CANCEL message to DcmSCP. Cleaned up formatting.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/dimcancl.cc
- dcmnet/libsrc/scp.cc
-
-**** Changes from 2013.01.24 (riesmeier)
-
-- Fixed wrong calculation of returned number of bytes in createAWTBitmap().
- Thanks to Fu Peng <fupeng@gmail.com> for the report and suggested fix.
- Affects: dcmimgle/libsrc/dimoimg.cc
-
-**** Changes from 2013.01.22 (schlachter)
-
-- Added missing include for OFendl. Thanks to Markus Mertens
- <Markus.Mertens@evkb.de> for the report.
- Affects: oflog/libsrc/striconv.cc
-
-- Fixed compilation when HAVE_STL is defined and std::map is used.
- Thanks to Markus Mertens <Markus.Mertens@evkb.de> for the report.
- Affects: dcmnet/libsrc/dccfenmp.cc
- dcmnet/libsrc/dccfpcmp.cc
- dcmnet/libsrc/dccfprmp.cc
- dcmnet/libsrc/dccfrsmp.cc
- dcmnet/libsrc/dccftsmp.cc
-
-**** Changes from 2013.01.15 (schlachter)
-
-- Removed comment begin from within comment.
- Affects: dcmdata/libsrc/dcelem.cc
-
-- Documented new features in log4cplus 1.1.0.
- Affects: CHANGES.361
- oflog/etc/logger.cfg
-
-- Some cleanup and MSC6-related fixes for dcmnet.
- Affects: dcmnet/apps/CMakeLists.txt
- dcmnet/libsrc/CMakeLists.txt
- dcmnet/tests/CMakeLists.txt
- dcmnet/tests/Makefile.in
- dcmnet/tests/tpool.cc
-
-- Added private undefined functions to class DcmThreadSCP.
- Affects: dcmnet/include/dcmtk/dcmnet/scpthrd.h
-
-- Rebuilt Makefile dependencies.
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/libi2d/Makefile.dep
- dcmdata/libsrc/Makefile.dep
- dcmdata/tests/Makefile.dep
- dcmimage/apps/Makefile.dep
- dcmimage/libsrc/Makefile.dep
- dcmimgle/apps/Makefile.dep
- dcmimgle/libsrc/Makefile.dep
- dcmjpeg/apps/Makefile.dep
- dcmjpeg/libsrc/Makefile.dep
- dcmjpls/apps/Makefile.dep
- dcmjpls/libsrc/Makefile.dep
- dcmnet/apps/Makefile.dep
- dcmnet/libsrc/Makefile.dep
- dcmnet/tests/Makefile.dep
- dcmpstat/apps/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmpstat/tests/Makefile.dep
- dcmqrdb/apps/Makefile.dep
- dcmqrdb/libsrc/Makefile.dep
- dcmrt/apps/Makefile.dep
- dcmrt/libsrc/Makefile.dep
- dcmrt/tests/Makefile.dep
- dcmsign/apps/Makefile.dep
- dcmsign/libsrc/Makefile.dep
- dcmsr/apps/Makefile.dep
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/Makefile.dep
- dcmtls/libsrc/Makefile.dep
- dcmwlm/apps/Makefile.dep
- dcmwlm/libsrc/Makefile.dep
- dcmwlm/tests/Makefile.dep
- dcmwlm/wwwapps/Makefile.dep
- ofstd/libsrc/Makefile.dep
- oflog/libsrc/Makefile.dep
-
-- Update oflog to log4cplus 1.1.0. New features include an asynchronous
- appender, log4j- and syslog-compatible UDP appenders, a C interface and lock
- files to synchronize between two processes writing to the same log file.
- Added: oflog/include/dcmtk/oflog/asyncap.h
- oflog/include/dcmtk/oflog/clfsap.h
- oflog/include/dcmtk/oflog/clogger.h
- oflog/include/dcmtk/oflog/config/macosx.h
- oflog/include/dcmtk/oflog/config/windowsh.h
- oflog/include/dcmtk/oflog/helpers/fileinfo.h
- oflog/include/dcmtk/oflog/helpers/lockfile.h
- oflog/include/dcmtk/oflog/helpers/queue.h
- oflog/include/dcmtk/oflog/helpers/snprintf.h
- oflog/include/dcmtk/oflog/internal/cygwin32.h
- oflog/include/dcmtk/oflog/internal/env.h
- oflog/include/dcmtk/oflog/internal/internal.h
- oflog/include/dcmtk/oflog/internal/socket.h
- oflog/include/dcmtk/oflog/log4judp.h
- oflog/include/dcmtk/oflog/mdc.h
- oflog/include/dcmtk/oflog/tchar.h
- oflog/include/dcmtk/oflog/thread/impl/syncimpl.h
- oflog/include/dcmtk/oflog/thread/impl/syncpmsm.h
- oflog/include/dcmtk/oflog/thread/impl/syncpthr.h
- oflog/include/dcmtk/oflog/thread/impl/syncwin.h
- oflog/include/dcmtk/oflog/thread/impl/thredimp.h
- oflog/include/dcmtk/oflog/thread/impl/tls.h
- oflog/include/dcmtk/oflog/thread/syncprim.h
- oflog/include/dcmtk/oflog/thread/syncpub.h
- oflog/include/dcmtk/oflog/thread/threads.h
- oflog/include/dcmtk/oflog/tracelog.h
- oflog/include/dcmtk/oflog/version.h
- oflog/libsrc/asyncap.cc
- oflog/libsrc/clfsap.cc
- oflog/libsrc/clogger.cc
- oflog/libsrc/cygwin32.cc
- oflog/libsrc/env.cc
- oflog/libsrc/fileinfo.cc
- oflog/libsrc/lloguser.cc
- oflog/libsrc/lockfile.cc
- oflog/libsrc/log4judp.cc
- oflog/libsrc/logmacro.cc
- oflog/libsrc/mdc.cc
- oflog/libsrc/queue.cc
- oflog/libsrc/snprintf.cc
- oflog/libsrc/strccloc.cc
- oflog/libsrc/strcloc.cc
- oflog/libsrc/striconv.cc
- oflog/libsrc/tls.cc
- oflog/libsrc/version.cc
- Removed: oflog/include/dcmtk/oflog/config/CMakeLists.txt
- oflog/include/dcmtk/oflog/helpers/CMakeLists.txt
- oflog/include/dcmtk/oflog/helpers/syncppth.h
- oflog/include/dcmtk/oflog/helpers/syncprims.h
- oflog/include/dcmtk/oflog/helpers/threads.h
- oflog/include/dcmtk/oflog/spi/CMakeLists.txt
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/aclocal.m4
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- dcmdata/include/dcmtk/dcmdata/dcdicdir.h
- dcmnet/Makefile.in
- dcmqrdb/libsrc/dcmqrcnf.cc
- oflog/include/dcmtk/oflog/*
- oflog/libsrc/CMakeLists.txt
- oflog/libsrc/Makefile.in
- oflog/libsrc/*.cc
- ofstd/include/dcmtk/ofstd/ofmap.h
- ofstd/include/dcmtk/ofstd/ofstring.h
- ofstd/include/dcmtk/ofstd/ofvector.h
- ofstd/libsrc/ofstring.cc
-
-**** Changes from 2013.01.11 (onken)
-
-- Make sure osconfig.h is included before WITH_THREADS is evaluated.
- Affects: dcmnet/include/dcmtk/dcmnet/scppool.h
-
-**** Changes from 2013.01.10 (onken)
-
-- Resized buffer for hostname lookup due to possible bug
- in glibc on Linux systems. Thanks to Peter Klotz
- <Peter.Klotz@ith-icoserve.com> for the report and patch.
- Affects: ofstd/libsrc/ofstd.cc
-
-- Make sure that missing value on last element triggers error during parsing.
- Affects: dcmdata/libsrc/dcelem.cc
-
-**** Changes from 2013.01.09 (onken)
-
-- Initial checkin of SCP pool, threaded SCP and related test.
- Added DcmSCP functionality to respond to C-FIND, C-MOVE and C-STORE.
- Added DcmSCP function to disable host lookup.
- Refactored DcmSCP configuration to reside in extra class.
- DcmSCP now permits checking of calling and called AE title in derviced classes.
- Derived DcmSCP classes can now check whether connecting host is granted access.
- Added: dcmnet/docs/cptscp.dox
- dcmnet/include/dcmtk/dcmnet/scpcfg.h
- dcmnet/include/dcmtk/dcmnet/scppool.h
- dcmnet/include/dcmtk/dcmnet/scpthrd.h
- dcmnet/libsrc/scpcfg.cc
- dcmnet/libsrc/scppool.cc
- dcmnet/libsrc/scpthrd.cc
- dcmnet/tests/tpool.cc
- Affects: dcmnet/apps/CMakeLists.txt
- dcmnet/include/dcmtk/dcmnet/cond.h
- dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/CMakeLists.txt
- dcmnet/libsrc/Makefile.dep
- dcmnet/libsrc/Makefile.in
- dcmnet/libsrc/cond.cc
- dcmnet/libsrc/dccfprmp.cc
- dcmnet/libsrc/scp.cc
- dcmnet/tests/CMakeLists.txt
- dcmnet/tests/Makefile.in
- dcmnet/tests/tests.cc
- ofstd/tests/tests.cc
-
-- Updated Makefile.dep files, triggered by latest changes in libcharls.
- Affects: dcmjpls/libcharls/Makefile.dep
- ofstd/libsrc/Makefile.dep
-
-- Minor documentation fixes.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/include/dcmtk/dcmnet/scpcfg.h
-
-**** Changes from 2013.01.08 (schlachter)
-
-- Added missing include for size_t.
- Affects: dcmjpls/libcharls/util.h
-
-- Removed use of long long.
- Affects: dcmjpls/libcharls/config.h
- dcmjpls/libcharls/header.cc
- dcmjpls/libcharls/util.h
-
-- Disabled broken wide character support on MSC6.
- Affects: ofstd/include/dcmtk/ofstd/ofcmdln.h
- ofstd/include/dcmtk/ofstd/ofconapp.h
- ofstd/libsrc/ofcmdln.cc
- ofstd/libsrc/ofconapp.cc
-
-- Don't redefine _LARGEFILE_SOURCE if it is already defined. Thanks to Hans
- Johnson <hans-johnson@uiowa.edu> for the hint and proposed patch.
- Affects: CMake/osconfig.h.in
-
-- Only call tolower() with unsigned char argument.
- Affects: dcmnet/libsrc/dstorscu.cc
-
-- Removed unnecessary incomplete initialisation.
- Affects: ofstd/libsrc/ofstd.cc
-
-**** Changes from 2013.01.04 (onken)
-
-- Made DcmAssociationConfiguration and underlying classes copy-constructable.
- Replaced all occurences of DcmSimpleMap with OFMap.
- Affects: dcmnet/apps/Makefile.dep
- dcmnet/include/dcmtk/dcmnet/dcasccfg.h
- dcmnet/include/dcmtk/dcmnet/dccfenmp.h
- dcmnet/include/dcmtk/dcmnet/dccfpcmp.h
- dcmnet/include/dcmtk/dcmnet/dccfprmp.h
- dcmnet/include/dcmtk/dcmnet/dccfrsmp.h
- dcmnet/include/dcmtk/dcmnet/dccftsmp.h
- dcmnet/include/dcmtk/dcmnet/dcmsmap.h
- dcmnet/libsrc/dcasccfg.cc
- dcmnet/libsrc/dccfenmp.cc
- dcmnet/libsrc/dccfpcmp.cc
- dcmnet/libsrc/dccfprmp.cc
- dcmnet/libsrc/dccfrsmp.cc
- dcmnet/libsrc/dccftsmp.cc
- dcmnet/libsrc/Makefile.dep
- dcmtls/libsrc/Makefile.dep
-
-- Added dependencies for latest tmem test.
- Affects: ofstd/tests/Makefile.dep
-
-- Added possibility to stop storage SCU after sending the current file.
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
- dcmnet/libsrc/dstorscu.cc
-
-**** Changes from 2013.01.04 (schlamelcher)
-
-- Fixed OFshared_ptr for VC6.
- Affects: ofstd/include/dcmtk/ofstd/ofmem.h
-
-**** Changes from 2012.12.21 (onken)
-
-- Fixed intel compiler issue on Mac OS X. Thanks to Hans
- Johnson <hans-johnson@uiowa.edu> for the hint and proposed patch.
- Affects: ofstd/libsrc/ofstd.cc
-
-**** Changes from 2012.12.11 (schlachter)
-
-- Fixed test failure on 64 bit systems.
- Affects: dcmdata/tests/tparser.cc
-
-**** Changes from 2012.12.12 (schlamelcher)
-
-- Fixed error in OFshared_ptr when using Visual Studio 2008.
- Affects: ofstd/include/dcmtk/ofstd/ofmem.h
-
-**** Changes from 2012.12.11 (schlachter)
-
-- Clear some member variables in destructors.
- Thanks to forum user "chaircrusher" for the report.
- Affects: ofstd/libsrc/oflist.cc
- ofstd/libsrc/ofthread.cc
-
-- Added an OFGlobal for using a different length field size when the VR in an
- dataset with explicit VR does not match the expected VR from the data
- dictionary and both VRs have different sizes of their length field.
- Affects: dcmdata/include/dcmtk/dcmdata/dcobject.h
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcobject.cc
- dcmdata/tests/tests.cc
- dcmdata/tests/tparser.cc
-
-- Fixed compilation when libwrap support is disabled.
- Thanks to forum user "chaircrusher" for the report.
- Affects: dcmnet/libsrc/dwrap.c
-
-**** Changes from 2012.12.05 (riesmeier)
-
-- Added hint that option --use-xml-namespace is required in order to validate
- the XML output of dsr2xml against the given XML Schema.
- Affects: dcmsr/docs/dsr2xml.man
- dcmsr/docs/xml2dsr.man
-
-**** Changes from 2012.12.04 (schlachter)
-
-- Added C wrapper for hosts_access() to work around ancient libwrap.
- Thanks to forum user "chaircrusher" for the report.
- Added: dcmnet/libsrc/dwrap.c
- Affects: dcmnet/libsrc/CMakeLists.txt
- dcmnet/libsrc/Makefile.in
- dcmnet/libsrc/dul.cc
-
-- Use delete[] instead of delete where necessary.
- Thanks to forum user "yueran" for the report.
- Affects: dcmwlm/libsrc/wlfsim.cc
-
-- Fixed various memory leaks. Thanks to forum user "yueran" for the report.
- Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h
- dcmwlm/libsrc/wlfsim.cc
-
-**** Changes from 2012.11.27 (schlachter)
-
-- Update CharLS to version 1.0.
- Affects: dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
- dcmjpls/libcharls/*.h
- dcmjpls/libcharls/*.cc
-
-- Added defines for new CMake checks to osconfig.h.in
- Affects: CMake/osconfig.h.in
-
-**** Changes from 2012.11.22 (schlamelcher)
-
-- Introduced OFshared_ptr implementing a subset of c++11's std::shared_ptr.
- Added: ofstd/include/dcmtk/ofstd/ofmem.h
- ofstd/tests/tmem.cc
- Affects: CMake/GenerateDCMTKConfigure.cmake
- config/aclocal.m4
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- ofstd/tests/CMakeLists.txt
- ofstd/tests/Makefile.in
- ofstd/tests/tests.cc
-
-**** Changes from 2012.11.22 (riesmeier)
-
-- Added support for CP-1234 (Chinese character sets GBK and GB2312).
- Affects: dcmdata/libsrc/dcspchrs.cc
-
-- Added note to the documentation of the class DcmSpecificCharacterSet that
- only a single value is allowed for the destination character set (i.e. no
- code extensions).
- Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
-
-- Added support for the final text version of Supplement 158 (Retirement of
- General Purpose Worklist and Procedure Step) to the data dictionary and
- list of UIDs, i.e. added the prefix "RETIRED_" to some names.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcdictzz.cc
- dcmdata/libsrc/dcuid.cc
-
-- Added support for CP-1200 and CP-1216 to data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2012.11.21 (schlamelcher)
-
-- Added #define WIN32_LEAN_AND_MEAN to some files to speedup compilation.
- Affects: ofstd/include/dcmtk/ofstd/ofgrp.h
- ofstd/include/dcmtk/ofstd/ofnetdb.h
- ofstd/include/dcmtk/ofstd/ofpwd.h
-
-**** Changes from 2012.11.20 (riesmeier)
-
-- Added new option that allows for reading OW data from file with big endian
- byte ordering. Might also be used for generating (incorrect) test images.
- Affects: dcmdata/apps/dump2dcm.cc
- dcmdata/docs/dump2dcm.man
-
-**** Changes from 2012.11.20 (schlachter)
-
-- Ported the "man2text" target to CMake.
- Added: doxygen/man2text.sh
- Affects: doxygen/CMakeLists.txt
- doxygen/Makefile.in
-
-- Added support for detecting libwrap.
- Added: CMake/FindWrap.cmake
- Affects: CMake/3rdparty.cmake
- CMake/dcmtkPrepare.cmake
- CMake/osconfig.h.in
- dcmnet/libsrc/CMakeLists.txt
-
-- Added support for detecting libsndfile on non-Windows platforms.
- Added: CMake/FindSndfile.cmake
- Affects: CMake/3rdparty.cmake
-
-- Let "make clean" remove doxygen output again.
- Affects: doxygen/CMakeLists.txt
-
-**** Changes from 2012.11.13 (schlachter)
-
-- Regenerate the VR scanner with a newer flex version.
- Affects: dcmdata/libsrc/vrscanl.c
- dcmdata/libsrc/vrscanl.h
-
-- Ported the generated source commands from Makefile to CMake.
- Affects: dcmdata/libsrc/CMakeLists.txt
-
-- Added an output file option to internal tools.
- Affects: dcmdata/libsrc/Makefile.in
- dcmdata/libsrc/mkdeftag.cc
- dcmdata/libsrc/mkdictbi.cc
-
-- Added checks for large file support to CMake.
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
-
-- Remove unneeded library information from the build system.
- Affects: dcmdata/apps/CMakeLists.txt
- dcmdata/tests/CMakeLists.txt
- dcmimage/apps/CMakeLists.txt
- dcmimgle/apps/CMakeLists.txt
- dcmjpeg/apps/CMakeLists.txt
- dcmjpls/apps/CMakeLists.txt
- dcmnet/apps/CMakeLists.txt
- dcmnet/libsrc/CMakeLists.txt
- dcmnet/tests/CMakeLists.txt
- dcmpstat/apps/CMakeLists.txt
- dcmqrdb/apps/CMakeLists.txt
- dcmrt/apps/CMakeLists.txt
- dcmrt/tests/CMakeLists.txt
- dcmsign/apps/CMakeLists.txt
- dcmsr/apps/CMakeLists.txt
- dcmsr/tests/CMakeLists.txt
- dcmwlm/apps/CMakeLists.txt
- dcmwlm/wwwapps/CMakeLists.txt
- ofstd/tests/CMakeLists.txt
-
-- Remove the test runner on "make clean".
- Affects: dcmnet/tests/Makefile.in
-
-- Fix detecting of iconv() arguments when LIBICONV_DIR is set.
- Thanks to Richard Flay <richardf@acres.com.au> for the patch.
- Affects: CMake/3rdparty.cmake
- ofstd/libsrc/ofchrenc.cc
-
-- Use absolute paths to libraries on windows.
- Thanks to Richard Flay <richardf@acres.com.au> for the patch.
- Affects: CMake/3rdparty.cmake
-
-**** Changes from 2012.11.06 (schlachter)
-
-- Automatically detect if the second argument to iconv() is const.
- Affects: CMake/3rdparty.cmake
- CMake/osconfig.h.in
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- ofstd/libsrc/ofchrenc.cc
-
-- Correctly detect the processor type on 64 bit windows.
- Affects: CMake/GenerateDCMTKConfigure.cmake
-
-**** Changes from 2012.11.05 (riesmeier)
-
-- Added extra '\' to all occurrences of '\n' needed within Doxygen comments.
- Affects: ofstd/include/dcmtk/ofstd/ofcmdln.h
-
-**** Changes from 2012.11.05 (schlachter)
-
-- Fixed some places where isalpha() & Co are called with char argument.
- Affects: dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcdirrec.cc
- dcmnet/libsrc/diutil.cc
- dcmnet/libsrc/dstorscu.cc
-
-- Don't delete needed directories during "make clean" with CMake.
- Affects: doxygen/CMakeLists.txt
-
-**** Changes from 2012.11.02 (riesmeier)
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/*
-
-- Fixed bug in image scaling algorithm reducePixel().
- Comparing two double values for equality is usually a bad idea. Better check
- whether the difference falls below a certain threshold (e.g. 0.00001).
- Thanks to Takeo Satomi <takeo.satomi@gmail.com> for the original report.
- Affects: dcmimgle/include/dcmtk/dcmimgle/discalet.h
-
-- Made more clear what getOutputData() and other output methods return in case
- of monochrome and color images, i.e. enhanced the existing API documentation.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
-
-- Updated information on latest CMake version that has been tested to "2.8.10".
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2012.11.01 (riesmeier)
-
-- Fixed memory leak in createWindowsDIB() for 8-bit grayscale images.
- Thanks to Hans Kluijtmans <hans.kluijtmans@topcon.eu> for the report.
- Affects: dcmimgle/libsrc/dimoimg.cc
-
-**** Changes from 2012.10.31 (schlachter)
-
-- Fix some inconsistent macro names and improve the documentation.
- Affects: CMake/dcmtkPrepare.cmake
- CMake/osconfig.h.in
- config/Makefile.def.in
- config/docs/macros.txt
- ofstd/include/dcmtk/ofstd/ofexport.h
-
-- Fix building with DCMTK_SINGLE_SHARED_LIBRARY.
- Affects: CMake/dcmtkMacros.cmake
- CMake/dcmtkPrepare.cmake
- ofstd/include/dcmtk/ofstd/ofexport.h
-
-**** Changes from 2012.10.30 (riesmeier)
-
-- Added further options to DCMTK's CMake configuration file for external
- projects (DCMTK_SHARED_LIBRARIES and DCMTK_SINGLE_SHARED_LIBRARY).
- Affects: CMake/DCMTKConfig.cmake.in
-
-- Explicitly set DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS to OFF on Unix systems.
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2012.10.26 (schlachter)
-
-- Improved error message for missing configure scripts.
- Affects: configure
-
-**** Changes from 2012.10.25 (riesmeier)
-
-- Replaced general CMake variable "CMAKE_CURRENT_BINARY_DIR" by the more
- specific "DCMTK_BINARY_DIR" in an INSTALL() command.
- Affects: CMakeLists.txt
-
-- Added missing ' in a comment.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
-
-**** Changes from 2012.10.24 (riesmeier)
-
-- Fixed typo in comment.
- Affects: dcmrt/include/dcmtk/dcmrt/drttypes.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
-
-**** Changes from 2012.10.22 (riesmeier)
-
-- Added support for new optional Return Key Attributes: StudyDate, StudyTime
- and IssuerOfPatientID. The latter is required for the IHE Eye Care Workflow.
- Affects: dcmwlm/docs/wlmscpfs.man
- dcmwlm/include/dcmtk/dcmwlm/wlds.h
- dcmwlm/libsrc/wlds.cc
-
-**** Changes from 2012.10.22 (schlachter)
-
-- Rebuilt Makefile dependencies (and removed unwanted libiconv dependencies).
- Affects: ofstd/libsrc/Makefile.dep
-
-- Minor improvements and fixes to the medium-level API.
- Affects: dcmrt/include/dcmtk/dcmrt/drmimage.h
- dcmrt/libsrc/drmdose.cc
- dcmrt/libsrc/drmimage.cc
- dcmrt/libsrc/drmstrct.cc
-
-- Rebuilt Makefile dependencies.
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/libi2d/Makefile.dep
- dcmdata/tests/Makefile.dep
- dcmimage/apps/Makefile.dep
- dcmimage/libsrc/Makefile.dep
- dcmimgle/apps/Makefile.dep
- dcmimgle/libsrc/Makefile.dep
- dcmjpeg/apps/Makefile.dep
- dcmjpeg/libsrc/Makefile.dep
- dcmjpls/apps/Makefile.dep
- dcmjpls/libsrc/Makefile.dep
- dcmnet/apps/Makefile.dep
- dcmnet/libsrc/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmpstat/tests/Makefile.dep
- dcmqrdb/apps/Makefile.dep
- dcmsign/apps/Makefile.dep
- dcmsign/libsrc/Makefile.dep
- dcmsr/apps/Makefile.dep
- dcmsr/libsrc/Makefile.dep
- dcmtls/libsrc/Makefile.dep
- dcmwlm/apps/Makefile.dep
- dcmwlm/libsrc/Makefile.dep
- dcmwlm/tests/Makefile.dep
- dcmwlm/wwwapps/Makefile.dep
- oflog/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.dep
-
-- Add a missing DCMTK_OFSTD_EXPORT annotation.
- Affects: ofstd/include/dcmtk/ofstd/ofnetdb.h
-
-**** Changes from 2012.10.11 (schlachter)
-
-- Fix linking of DLLs when BUILD_APPS is disabled.
- Affects: CMake/dcmtkMacros.cmake
-
-- Improve example for accessing a dose image.
- Affects: dcmrt/docs/dcmrt.dox
-
-**** Changes from 2012.10.10 (riesmeier)
-
-- Renamed test program to comply with DCMTK's naming conventions.
- Added: dcmrt/tests/tsearch.cc
- Removed: dcmrt/tests/rtsearch.cc
- Affects: dcmrt/tests/CMakeLists.txt
- dcmrt/tests/Makefile.dep
- dcmrt/tests/Makefile.in
- dcmrt/tests/tests.cc
-
-**** Changes from 2012.10.09 (riesmeier)
-
-- Renamed all drtstruct.* files to drtstrct.* to stay within 8.3 characters.
- Added: dcmrt/include/dcmtk/dcmrt/drtstrct.h
- dcmrt/libsrc/drtstrct.cc
- Removed: dcmrt/include/dcmtk/dcmrt/drtstruct.h
- dcmrt/libsrc/drtstruct.cc
- Affects: dcmrt/apps/drtdump.cc
- dcmrt/apps/Makefile.dep
- dcmrt/include/dcmtk/dcmrt/drmstrct.h
- dcmrt/libsrc/CMakeLists.txt
- dcmrt/libsrc/Makefile.dep
- dcmrt/libsrc/Makefile.in
- dcmrt/tests/Makefile.dep
- dcmrt/tests/drttest.cc
-
-**** Changes from 2012.10.09 (schlachter)
-
-- Properly initialized member variables in constructor.
- Thanks to Dr. Michael Heber <mheber.aup@t-online.de> for the report.
- Affects: dcmjpls/libcharls/header.cc
-
-- Added some helper functions for speeding up common tasks.
- Added: dcmrt/include/dcmtk/dcmrt/drmdose.h
- dcmrt/include/dcmtk/dcmrt/drmimage.h
- dcmrt/include/dcmtk/dcmrt/drmplan.h
- dcmrt/include/dcmtk/dcmrt/drmsrch.h
- dcmrt/include/dcmtk/dcmrt/drmstrct.h
- dcmrt/libsrc/drmdose.cc
- dcmrt/libsrc/drmimage.cc
- dcmrt/libsrc/drmplan.cc
- dcmrt/libsrc/drmstrct.cc
- dcmrt/tests/rtsearch.cc
- dcmrt/tests/tests.cc
- Affects: dcmrt/apps/Makefile.dep
- dcmrt/docs/dcmrt.dox
- dcmrt/libsrc/CMakeLists.txt
- dcmrt/libsrc/Makefile.dep
- dcmrt/libsrc/Makefile.in
- dcmrt/tests/CMakeLists.txt
- dcmrt/tests/Makefile.dep
- dcmrt/tests/Makefile.in
-
-- Forcefully disable BUILD_APPS when BUILD_SINGLE_SHARED_LIBRARY is enabled.
- Affects: CMake/dcmtkMacros.cmake
- CMake/dcmtkPrepare.cmake
-
-**** Changes from 2012.10.08 (riesmeier)
-
-- Added new CMake option BUILD_APPS that allows for disabling the compilation
- and installation of the various command line applications.
- Affects: CMake/dcmtkMacros.cmake
- CMake/dcmtkPrepare.cmake
- INSTALL
-
-- Updated information on latest CMake version that has been tested to "2.8.9".
- Affects: CMake/dcmtkPrepare.cmake
-
-**** Changes from 2012.10.04 (riesmeier)
-
-- Added support for Windows-specific wide character encoding (UTF-16) to the
- pathExists(), dirExists(), isReadable() and isWriteable() methods.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2012.10.02 (schlachter)
-
-- Add a missing DCMTK_DCMDATA_EXPORT annotation.
- Affects: dcmdata/include/dcmtk/dcmdata/dcfilter.h
-
-- Only strip the installed binaries if a strip utility is available.
- Thanks to Paolo Marcheschi <paolo.marcheschi@ftgm.it> for the report.
- Affects: config/Makefile.def.in
- config/configure
- config/configure.in
- config/templates/Makefile.src
- dcmdata/apps/Makefile.in
- dcmimage/apps/Makefile.in
- dcmimgle/apps/Makefile.in
- dcmjpeg/apps/Makefile.in
- dcmjpls/apps/Makefile.in
- dcmnet/apps/Makefile.in
- dcmpstat/apps/Makefile.in
- dcmqrdb/apps/Makefile.in
- dcmrt/apps/Makefile.in
- dcmsign/apps/Makefile.in
- dcmsr/apps/Makefile.in
- dcmwlm/apps/Makefile.in
- dcmwlm/wwwapps/Makefile.in
-
-- Move the INSTALL()-call into DCMTK_ADD_LIBRARY().
- Affects: CMake/dcmtkMacros.cmake
- dcmdata/libi2d/CMakeLists.txt
- dcmdata/libsrc/CMakeLists.txt
- dcmimage/libsrc/CMakeLists.txt
- dcmimgle/libsrc/CMakeLists.txt
- dcmjpeg/libijg12/CMakeLists.txt
- dcmjpeg/libijg16/CMakeLists.txt
- dcmjpeg/libijg8/CMakeLists.txt
- dcmjpeg/libsrc/CMakeLists.txt
- dcmjpls/libcharls/CMakeLists.txt
- dcmjpls/libsrc/CMakeLists.txt
- dcmnet/libsrc/CMakeLists.txt
- dcmpstat/libsrc/CMakeLists.txt
- dcmqrdb/libsrc/CMakeLists.txt
- dcmrt/libsrc/CMakeLists.txt
- dcmsign/libsrc/CMakeLists.txt
- dcmsr/libsrc/CMakeLists.txt
- dcmtls/libsrc/CMakeLists.txt
- dcmwlm/libsrc/CMakeLists.txt
- oflog/libsrc/CMakeLists.txt
- ofstd/libsrc/CMakeLists.txt
-
-- Turn DCMTK_SETUP_EXECUTABLE into a wrapper around ADD_EXECUTABLE().
- Affects: CMake/dcmtkMacros.cmake
- dcmdata/apps/CMakeLists.txt
- dcmdata/tests/CMakeLists.txt
- dcmimage/apps/CMakeLists.txt
- dcmimgle/apps/CMakeLists.txt
- dcmjpeg/apps/CMakeLists.txt
- dcmjpls/apps/CMakeLists.txt
- dcmnet/apps/CMakeLists.txt
- dcmnet/tests/CMakeLists.txt
- dcmpstat/apps/CMakeLists.txt
- dcmqrdb/apps/CMakeLists.txt
- dcmrt/apps/CMakeLists.txt
- dcmrt/tests/CMakeLists.txt
- dcmsign/apps/CMakeLists.txt
- dcmsr/apps/CMakeLists.txt
- dcmsr/tests/CMakeLists.txt
- dcmwlm/apps/CMakeLists.txt
- dcmwlm/wwwapps/CMakeLists.txt
- ofstd/tests/CMakeLists.txt
-
-- Move the INSTALL()-call into DCMTK_ADD_EXECUTABLE().
- Affects: CMake/dcmtkMacros.cmake
- dcmdata/apps/CMakeLists.txt
- dcmimage/apps/CMakeLists.txt
- dcmimgle/apps/CMakeLists.txt
- dcmjpeg/apps/CMakeLists.txt
- dcmjpls/apps/CMakeLists.txt
- dcmnet/apps/CMakeLists.txt
- dcmpstat/apps/CMakeLists.txt
- dcmqrdb/apps/CMakeLists.txt
- dcmrt/apps/CMakeLists.txt
- dcmsign/apps/CMakeLists.txt
- dcmsr/apps/CMakeLists.txt
- dcmwlm/apps/CMakeLists.txt
- dcmwlm/wwwapps/CMakeLists.txt
-
-- Make it possible to build the whole toolkit as a single shared library.
- Added: CMake/dcmtkAfterModules.cmake
- CMake/dcmtkPrepare.cmake
- Removed: CMake/DCMTK.cmake
- Affects: CMake/dcmtkMacros.cmake
- CMakeLists.txt
- INSTALL
- dcmdata/apps/CMakeLists.txt
- dcmdata/libi2d/CMakeLists.txt
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/tests/CMakeLists.txt
- dcmimage/apps/CMakeLists.txt
- dcmimage/libsrc/CMakeLists.txt
- dcmimgle/apps/CMakeLists.txt
- dcmimgle/libsrc/CMakeLists.txt
- dcmjpeg/apps/CMakeLists.txt
- dcmjpeg/libsrc/CMakeLists.txt
- dcmjpls/apps/CMakeLists.txt
- dcmjpls/libsrc/CMakeLists.txt
- dcmnet/apps/CMakeLists.txt
- dcmnet/libsrc/CMakeLists.txt
- dcmnet/tests/CMakeLists.txt
- dcmpstat/apps/CMakeLists.txt
- dcmpstat/libsrc/CMakeLists.txt
- dcmqrdb/apps/CMakeLists.txt
- dcmqrdb/libsrc/CMakeLists.txt
- dcmrt/apps/CMakeLists.txt
- dcmrt/libsrc/CMakeLists.txt
- dcmrt/tests/CMakeLists.txt
- dcmsign/apps/CMakeLists.txt
- dcmsign/libsrc/CMakeLists.txt
- dcmsr/apps/CMakeLists.txt
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/tests/CMakeLists.txt
- dcmtls/libsrc/CMakeLists.txt
- dcmwlm/apps/CMakeLists.txt
- dcmwlm/libsrc/CMakeLists.txt
- dcmwlm/wwwapps/CMakeLists.txt
- oflog/libsrc/CMakeLists.txt
- ofstd/libsrc/CMakeLists.txt
- ofstd/tests/CMakeLists.txt
-
-- Fixed a scope issue with MSC6.
- Affects: ofstd/libsrc/ofstd.cc
-
-**** Changes from 2012.10.01 (schlachter)
-
-- Print a warning when reading an UN element as a sequence.
- Affects: dcmdata/libsrc/dcitem.cc
-
-- Turn DCMTK_SETUP_LIBRARY into a wrapper around ADD_LIBRARY().
- Affects: CMake/dcmtkMacros.cmake
- dcmdata/libi2d/CMakeLists.txt
- dcmdata/libsrc/CMakeLists.txt
- dcmimage/libsrc/CMakeLists.txt
- dcmimgle/libsrc/CMakeLists.txt
- dcmjpeg/libijg12/CMakeLists.txt
- dcmjpeg/libijg16/CMakeLists.txt
- dcmjpeg/libijg8/CMakeLists.txt
- dcmjpeg/libsrc/CMakeLists.txt
- dcmjpls/libcharls/CMakeLists.txt
- dcmjpls/libsrc/CMakeLists.txt
- dcmnet/libsrc/CMakeLists.txt
- dcmpstat/libsrc/CMakeLists.txt
- dcmqrdb/libsrc/CMakeLists.txt
- dcmrt/libsrc/CMakeLists.txt
- dcmsign/libsrc/CMakeLists.txt
- dcmsr/libsrc/CMakeLists.txt
- dcmtls/libsrc/CMakeLists.txt
- dcmwlm/libsrc/CMakeLists.txt
- oflog/libsrc/CMakeLists.txt
- ofstd/libsrc/CMakeLists.txt
-
-**** Changes from 2012.09.28 (schlachter)
-
-- Add a CMake cache variable for the list of modules that are built.
- Affects: CMakeLists.txt
-
-- Fixed bug where writing a sequences with VR UN failed.
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report.
- Affects: dcmdata/include/dcmtk/dcmdata/dcpixel.h
- dcmdata/libsrc/dcpixel.cc
- dcmdata/tests/dctmacro.h
- dcmdata/tests/tests.cc
- dcmdata/tests/tparser.cc
-
-- Added a "help" target to the main Makefile.
- Affects: Makefile
- config/rootconf
-
-**** Changes from 2012.09.28 (riesmeier)
-
-- Fixed copy-and-paste bug in checkPixelExtension().
- Thanks to Gareth Sylvester-Bradley <garethsb@gmail.com> for the report.
- Affects: dcmimgle/libsrc/diimage.cc
-
-- Fixed typos and text formatting.
- Affects: dcmdata/tests/tfilter.cc
- ofstd/include/dcmtk/ofstd/ofgrp.h
- ofstd/include/dcmtk/ofstd/ofnetdb.h
- ofstd/include/dcmtk/ofstd/ofpwd.h
-
-- Rebuilt Makefile dependencies (and removed unwanted libxml dependencies).
- Affects: dcmdata/apps/Makefile.dep
-
-- Fixed numerous typos and added missing "dcmtk/config/osconfig.h" include.
- Affects: dcmdata/include/dcmtk/dcmdata/dcfilter.h
- dcmdata/libsrc/dcfilter.cc
- dcmdata/libsrc/Makefile.dep
- dcmdata/tests/Makefile.dep
-
-**** Changes from 2012.09.27 (schlamelcher)
-
-- Introduced initial dataset filter that filters based on attribute values.
- Added: dcmdata/include/dcmtk/dcmdata/dcfilter.h
- dcmdata/libsrc/dcfilter.cc
- dcmdata/tests/tfilter.cc
- Affects: dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.in
- dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
- ofstd/include/dcmtk/ofstd/ofalgo.h
-
-**** Changes from 2012.09.21 (schlachter)
-
-- Added conflict checks between --fork/--inetd and --{rename,exec}-on-eostudy.
- Thanks to forum user "dimitri" for the report.
- Affects: dcmnet/apps/storescp.cc
- dcmnet/docs/storescp.man
-
-**** Changes from 2012.09.21 (riesmeier)
-
-- Removed unneeded output of start time to the logger. Each line that is output
- to the logger has a timestamp if the logger is configured appropriately.
- Affects: dcmpstat/apps/Makefile.dep
- dcmpstat/apps/dcmpsrcv.cc
- dcmqrdb/libsrc/Makefile.dep
- dcmqrdb/libsrc/dcmqrptb.cc
-
-- Made virtual notification methods protected because they should never be
- called from outside of this class.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-- Fixed various typos in comments. Also slightly changed formatting and added
- newlines where appropriate.
- Thanks to Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> for the report.
- Affects: ofstd/include/dcmtk/ofstd/ofnetdb.h
-
-**** Changes from 2012.09.20 (riesmeier)
-
-- Always use SI units for output, i.e. "min" for minute instead of "m".
- Affects: ofstd/libsrc/oftimer.cc
-
-**** Changes from 2012.09.19 (schlachter)
-
-- Fixed handling of strings with embedded NULL bytes.
- Thanks to Heyo Spekker <spekker@icsmed.de> for reporting this issue.
- Added: dcmnet/tests/CMakeLists.txt
- dcmnet/tests/Makefile.dep
- dcmnet/tests/tdump.cc
- dcmnet/tests/tests.cc
- Affects: dcmnet/CMakeLists.txt
- dcmnet/libsrc/dimdump.cc
- dcmnet/tests/Makefile.in
- ofstd/include/dcmtk/ofstd/oftest.h
-
-**** Changes from 2012.09.19 (riesmeier)
-
-- Added check for consistent UID values in DICOM dataset and transfer list.
- Differences are usually a result of inconsistent values in meta-header and
- dataset, so reporting a warning message might be a good idea.
- Affects: dcmnet/libsrc/dstorscu.cc
-
-**** Changes from 2012.09.17 (schlachter)
-
-- Fixed a brown-paper-bag typo.
- Affects: CMake/DCMTK.cmake
-
-- Fixed minor compiler warnings.
- Affects: ofstd/libsrc/ofstd.cc
-
-**** Changes from 2012.09.14 (riesmeier)
-
-- Added notification method that is called while sending SOP instances.
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
- dcmnet/libsrc/dstorscu.cc
-
-- Fixed minor issue in comment.
- Affects: dcmjpeg/include/dcmtk/dcmjpeg/djutils.h
-
-**** Changes from 2012.09.13 (riesmeier)
-
-- Fixed small typo in log message.
- Affects: dcmnet/apps/dcmsend.cc
-
-**** Changes from 2012.09.11 (riesmeier)
-
-- Fixed wrong VR for DICONDE attribute Sensor Name (0014,3022).
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Reverted attribute names for tags (0022,1044) and (0022,1135) after feedback
- from DICOM WG-6 or rather the editor of the DICOM standard David Clunie.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2012.09.11 (onken)
-
-- Adapted comments to coding style and re-newed copyright header.
- Affects: dcmdata/include/dcmdata/dcddirif.h
-
-**** Changes from 2012.09.10 (onken)
-
-- Made static helper function accessible from outside.
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/libsrc/dcddirif.cc
-
-**** Changes from 2012.09.10 (riesmeier)
-
-- Reverted tag definition for Row/ColumnPositionInTotalImagePixelMatrix after
- rechecking with DICOM WG-6 and comparing with Supplement 145 (WSI). Also
- changed attribute names for tags (0022,1044) and (0022,1135) in order to
- be consistent with part 6 of the DICOM 2011 standard.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Replaced remaining tabs by spaces and fixed indention.
- Affects: dcmnet/libsrc/dimcmd.cc
-
-- Fixed some minor inconsistencies between the data dictionary and part 6 of
- the DICOM standard. This mainly affects the spelling of the attribute names.
- Also added some tags that were missing because they are not used in part 3.
- Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
- dcmnet/libsrc/dimcmd.cc
-
-- Fixed wrong attribute tags for Row/ColumnPositionInTotalImagePixelMatrix.
- Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2012.09.07 (riesmeier)
-
-- Changed value of DCMTK_PACKAGE_DATE from "CVS" to "DEV".
- Affects: CMake/DCMTK.cmake
- config/configure
- config/configure.in
-
-- Fixed some tag key constants of recently retired attributes (CP-1138).
- Affects: dcmrt/libsrc/drtrbs8.cc
-
-- Added support for CP-1137, CP-1138 and CP-1204 to data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2012.09.06 (onken)
-
-- Fixed build for Visual Studio, broken by re-entrant patch.
- Minor changes to avoid Visual Studio compiler warnings.
- Affects: dcmqrdb/apps/dcmqrscp.cc
- ofstd/include/dcmtk/ofstd/ofgrph.h
- ofstd/include/dcmtk/ofstd/ofnetdb.h
- ofstd/include/dcmtk/ofstd/ofpwd.h
- ofstd/libsrc/ofstd.cc
-
-- Added files that were missing in re-entrant patch commit.
- Added: ofstd/include/dcmtk/ofstd/ofgrph.h
- ofstd/include/dcmtk/ofstd/ofpwd.h
- ofstd/include/dcmtk/ofstd/ofnetdb.h
-
-**** Changes from 2012.09.06 (schlamelcher)
-
-- Changed non-reentrant functions to re-entrant counterparts where possible.
- Added: ofstd/include/dcmtk/ofstd/ofgrp.h
- ofstd/include/dcmtk/ofstd/ofpwd.h
- ofstd/include/dcmtk/ofstd/ofnetdb.h
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- dcmdata/libsrc/mkdeftag.cc
- dcmdata/libsrc/mkdictbi.cc
- dcmnet/libsrc/dcompat.cc
- dcmnet/libsrc/dul.cc
- dcmnet/libsrc/dulfsm.cc
- dcmpstat/apps/dcmpsrcv.cc
- dcmpstat/libsrc/dvpsmsg.cc
- dcmqrdb/apps/dcmqrscp.cc
- dcmqrdb/libsrc/dcmqrptb.cc
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/CMakeLists.txt
- ofstd/libsrc/ofstd.cc
- ofstd/libsrc/ofxml.cc
-
-**** Changes from 2012.09.06 (riesmeier)
-
-- Replaced outdated use of ofConsole by COUT.
- Affects: dcmdata/apps/dcm2pdf.cc
- dcmdata/apps/pdf2dcm.cc
-
-- Added further classes that might be of interest.
- Affects: dcmdata/docs/dcmdata.dox
-
-- Removed outdated comment on the use or non-use of ofConsole.
- Affects: dcmdata/libsrc/dcvr.cc
-
-- Removed useless forward declaration of class OFConsole.
- Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h
- dcmwlm/include/dcmtk/dcmwlm/wlmactmg.h
-
-- Replaced 8-bit characters (ISO 8859-1) with their octal representation.
- Thanks to Hans J. Johnson <hans-johnson@uiowa.edu> for pointing this out.
- Affects: dcmdata/tests/tchval.cc
- dcmdata/tests/tvrpn.cc
- dcmsr/tests/mkreport.cc
-
-- Replaced non-ASCII character by its ASCII equivalent.
- Thanks to Hans J. Johnson <hans-johnson@uiowa.edu> for pointing this out.
- Affects: docs/ANNOUNCE.352
- docs/CHANGES.352
-
-- Fixed wrong parameter name in documentation of fdopen() and removed non-ASCII
- character.
- Affects: ofstd/include/dcmtk/ofstd/offile.h
-
-- Adapted indentation and added comments to make more clear that the for loop
- has an empty body.
- Thanks to Hans J. Johnson <hans-johnson@uiowa.edu> for pointing this out.
- Affects: dcmdata/apps/dump2dcm.cc
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-- Removed warning about extraneous parentheses (clang compiler).
- Thanks to Hans J. Johnson <hans-johnson@uiowa.edu> for the report and fix.
- Affects: dcmdata/libi2d/i2djpgs.cc
- dcmjpls/libcharls/scan.h
-
-- Fixed wrong size value in memset() call, which caused only the first bytes
- of the memory area to be initialized.
- Thanks to Hans J. Johnson <hans-johnson@uiowa.edu> for the report and fix.
- Affects: dcmnet/libsrc/dulfsm.cc
-
-- Fixed minor linguistic error.
- Thanks to Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> for the patch.
- Affects: dcmimgle/libsrc/diimage.cc
-
-**** Changes from 2012.09.03 (riesmeier)
-
-- Fixed minor spelling errors.
- Thanks to Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> for the patch.
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/data/SC.dump
- dcmdata/data/VLP.dump
- dcmdata/docs/img2dcm.man
- dcmdata/include/dcmtk/dcmdata/dcpath.h
- dcmdata/libsrc/dcdicdir.cc
- dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dcpxitem.cc
- dcmimage/include/dcmtk/dcmimage/dicoopx.h
- dcmimage/include/dcmtk/dcmimage/dicoopxt.h
- dcmimgle/docs/dcmdspfn.man
- dcmimgle/docs/dcod2lum.man
- dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
- dcmimgle/include/dcmtk/dcmimgle/dimoimg.h
- dcmjpeg/apps/dcmcjpeg.cc
- dcmjpeg/docs/dcmcjpeg.man
- dcmjpls/libcharls/jpegls.cc
- dcmnet/docs/findscu.man
- dcmnet/docs/storescp.man
- dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/dccfenmp.cc
- dcmpstat/apps/dcmpsrcv.cc
- dcmqrdb/apps/dcmqrti.cc
- dcmqrdb/docs/dcmqrscp.man
- dcmqrdb/docs/dcmqrti.man
- dcmqrdb/libsrc/dcmqrdbi.cc
- dcmqrdb/libsrc/dcmqrtis.cc
- ofstd/include/dcmtk/ofstd/ofthread.h
-
-**** Changes from 2012.08.31 (riesmeier)
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/*
-
-**** Changes from 2012.08.28 (riesmeier)
-
-- Made settings for libsndfile more consistent with other external libraries.
- Affects: CMake/3rdparty.cmake
-
-**** Changes from 2012.08.27 (riesmeier)
-
-- Added new helper method putAndInsertTagKey() for elements with a VR of "AT".
- Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/libsrc/dcitem.cc
-
-**** Changes from 2012.08.24 (schlachter)
-
-- Improved logging levels in module dcmpstat.
- Affects: dcmpstat/libsrc/dcmpstat.cc
- dcmpstat/libsrc/dviface.cc
- dcmpstat/libsrc/dvpsab.cc
- dcmpstat/libsrc/dvpsal.cc
- dcmpstat/libsrc/dvpscf.cc
- dcmpstat/libsrc/dvpsda.cc
- dcmpstat/libsrc/dvpsfs.cc
- dcmpstat/libsrc/dvpsga.cc
- dcmpstat/libsrc/dvpsgl.cc
- dcmpstat/libsrc/dvpsgr.cc
- dcmpstat/libsrc/dvpsib.cc
- dcmpstat/libsrc/dvpsov.cc
- dcmpstat/libsrc/dvpspl.cc
- dcmpstat/libsrc/dvpspl2.cc
- dcmpstat/libsrc/dvpspll.cc
- dcmpstat/libsrc/dvpspr.cc
- dcmpstat/libsrc/dvpsprt.cc
- dcmpstat/libsrc/dvpsri.cc
- dcmpstat/libsrc/dvpsril.cc
- dcmpstat/libsrc/dvpsrs.cc
- dcmpstat/libsrc/dvpsrsl.cc
- dcmpstat/libsrc/dvpssp.cc
- dcmpstat/libsrc/dvpsspl.cc
- dcmpstat/libsrc/dvpssv.cc
- dcmpstat/libsrc/dvpstat.cc
- dcmpstat/libsrc/dvpstx.cc
-
-**** Changes from 2012.08.23 (schlachter)
-
-- Add BUILD_FOR_SHARED_LIBS flag to the CMake build system. With this flag the
- built static libraries can be linked into a single shared library. The DCMTK
- symbols get exported from this library and can be used outside of it.
- Affects: CMake/DCMTK.cmake
- CMake/dcmtkMacros.cmake
- CMake/osconfig.h.in
- ofstd/include/dcmtk/ofstd/ofexport.h
-
-**** Changes from 2012.08.22 (riesmeier)
-
-- Temporarily disabled support for Windows-specific wide character encoding on
- MinGW/MSYS systems in order to compile on such environments. However, this
- only applies to the OFCommandLine and OFConsoleApplication classes.
- Affects: ofstd/include/dcmtk/ofstd/ofcmdln.h
- ofstd/include/dcmtk/ofstd/ofconapp.h
- ofstd/libsrc/ofcmdln.cc
- ofstd/libsrc/ofconapp.cc
-
-- Made sure that SET_TARGET_PROPERTIES() is not called for MinGW/MSYS systems.
- Affects: CMake/dcmtkMacros.cmake
-
-- Added missing libiconv include directory (if option enabled).
- Thanks to Richard Flay <richardf@acres.com.au> for the report.
- Affects: ofstd/CMakeLists.txt
-
-**** Changes from 2012.08.20 (riesmeier)
-
-- Fixed compilation issue with gcc 3.3 (initialization of non-const reference).
- Thanks to forum user "spasmous" for the report.
- Affects: dcmdata/tests/telemlen.cc
-
-**** Changes from 2012.08.16 (riesmeier)
-
-- Added clarifying note that DICONDE tags are now official part of DICOM.
- Affects: dcmdata/data/dicom.dic
- dcmdata/data/diconde.dic
-
-**** Changes from 2012.08.15 (onken)
-
-- Fixed issue reading meta header due to wrong use of read transfer syntax.
- Thanks to forum user "nmoraes" for the bug report.
- Affects: dcmdata/include/dcmtk/dcmdata/dcmetinf.h
- dcmdata/libsrc/dcfilefo.cc
-
-**** Changes from 2012.08.15 (riesmeier)
-
-- Added initial regression tests for class DSRTree and DSRTreeNodeCursor.
- Added: dcmsr/tests/tests.cc
- dcmsr/tests/tsrtree.cc
- Affects: dcmsr/tests/CMakeLists.txt
- dcmsr/tests/Makefile.dep
- dcmsr/tests/Makefile.in
-
-- Fixed issue with addNode(), especially when using the AM_beforeCurrent mode.
- Thanks to forum user "zaq" for the report and suggested fix.
- Affects: dcmsr/libsrc/dsrtree.cc
-
-**** Changes from 2012.08.02 (onken)
-
-- Explained why Modality LUT is not used for rendering of XA and XRF images.
- Affects: dcmimgle/libsrc/dimomod.cc
-
-**** Changes from 2012.07.27 (schlamelcher)
-
-- Fixed VC6 protected scope vs nested classes issue in dcmsr.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
-
-**** Changes from 2012.07.26 (riesmeier)
-
-- Added definition for US-ASCII (7-bit) Windows code page.
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/ofchrenc.cc
-
-**** Changes from 2012.07.25 (riesmeier)
-
-- Fixed confusing log message when processing a softcopy presentation state.
- Thanks to forum user "HackerNeo" for the original report.
- Affects: dcmimgle/libsrc/dimomod.cc
-
-**** Changes from 2012.07.23 (riesmeier)
-
-- Added output stream operator for class OFFilename.
- Affects: ofstd/include/dcmtk/ofstd/offile.h
- ofstd/libsrc/offile.cc
-
-- Moved implementation of class OFFilename to a separate source file.
- Added: ofstd/libsrc/offile.cc
- Affects: ofstd/include/dcmtk/ofstd/offile.h
- ofstd/libsrc/CMakeLists.txt
- ofstd/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.in
- ofstd/tests/Makefile.dep
-
-**** Changes from 2012.07.23 (schlachter)
-
-- Finished conversion to new macros for common tasks on libraries/executables.
- Affects: dcmdata/libi2d/CMakeLists.txt
- dcmjpeg/libijg12/CMakeLists.txt
- dcmjpeg/libijg16/CMakeLists.txt
- dcmjpeg/libijg8/CMakeLists.txt
- dcmjpls/libcharls/CMakeLists.txt
-
-**** Changes from 2012.07.20 (riesmeier)
-
-- Added support for Windows-specific wide character encoding (UTF-16) to the
- fileExists() method.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2012.07.19 (onken)
-
-- Added error code for private module dcmenc.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
-
-**** Changes from 2012.07.17 (riesmeier)
-
-- Added further options to DCMTK's CMake configuration file for ext. projects
- (DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS and DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS).
- Affects: CMake/DCMTKConfig.cmake.in
-
-- Added new section with additional options (DCMTK_WIDE_CHAR_MAIN_FUNCTION).
- Affects: CMake/DCMTKConfig.cmake.in
-
-- Removed superfluous quotation marks in SET() value.
- Affects: CMake/DCMTKConfig.cmake.in
-
-- Fixed incorrect term in comment (replaced "library" by "object file").
- Affects: CMake/DCMTK.cmake
-
-**** Changes from 2012.07.16 (riesmeier)
-
-- Added support for Windows-specific wide character encoding (UTF-16) to the
- command line interface. Currently, none of the command line tools actually
- supports this particular representation of Unicode, though.
- Affects: CMake/DCMTK.cmake
- CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/docs/macros.txt
- dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
- dcmdata/libsrc/cmdlnarg.cc
- ofstd/include/dcmtk/ofstd/ofcmdln.h
- ofstd/include/dcmtk/ofstd/ofconapp.h
- ofstd/include/dcmtk/ofstd/offile.h
- ofstd/libsrc/ofcmdln.cc
- ofstd/libsrc/ofconapp.cc
-
-**** Changes from 2012.07.16 (schlachter)
-
-- Removed outdated CVS/RCS keywords.
- Affects: (almost everything)
-
-- Fixed a pre-processor check for HAVE_WINDOWS_H.
- Affects: ofstd/libsrc/ofconapp.cc
-
-**** Changes from 2012.07.13 (schlamelcher)
-
-- Fixed mingw-w64 compilation issues.
- Affects: CMake/DCMTK.cmake
- CMake/dcmtkMacros.cmake
- dcmnet/libsrc/dul.cc
- ofstd/include/dcmtk/ofstd/offile.h
- ofstd/libsrc/ofxml.cc
-
-**** Changes from 2012.07.13 (riesmeier)
-
-- Removed file extensions and quotation marks from Windows standard library
- and object files.
- Affects: CMake/DCMTK.cmake
-
-**** Changes from 2012.07.12 (riesmeier)
-
-- Made convertToWideCharString()'s input parameter "fromString" const.
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/ofchrenc.cc
-
-- Fixed wrong output format of pixel sequence elements for the DICOM Native
- Model (according to PS 3.19).
- Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
- Affects: dcmdata/include/dcmtk/dcmdata/dcpixseq.h
- dcmdata/libsrc/dcpixseq.cc
-
-**** Changes from 2012.07.11 (riesmeier)
-
-- Fixed wrong attribute name of BulkData element: According to the XML Schema
- in PS 3.19, the name for the UUID reference is "uuid" and not "UUID".
- Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
- Affects: dcmdata/libsrc/dcvrobow.cc
- dcmdata/libsrc/dcvrof.cc
-
-- Made sure that hexadecimal numbers of attribute tags are always printed in
- uppercase for the Native Model (as required by the XML Schema in PS 3.19).
- Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
- Affects: dcmdata/libsrc/dcelem.cc
-
-**** Changes from 2012.07.10 (riesmeier)
-
-- Removed old comment on public DCMTK modules (in contrast to private ones).
- Affects: CMakeLists.txt
-
-- Check HAVE_WINDOWS_H instead of _WIN32 when using Windows-specific functions.
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/ofchrenc.cc
-
-- Added explicit typecast in order to avoid warnings reported by gcc 4.4.5
- with additional options.
- Affects: dcmdata/libsrc/dcswap.cc
-
-**** Changes from 2012.07.09 (schlachter)
-
-- Added macros for common tasks on all libraries/executables.
- Added: CMake/dcmtkMacros.cmake
- Removed: CMake/dcmtkAddTests.cmake
- Affects: CMake/DCMTK.cmake
- config/changext
- dcmdata/apps/CMakeLists.txt
- dcmdata/libsrc/CMakeLists.txt
- dcmimage/apps/CMakeLists.txt
- dcmimage/libsrc/CMakeLists.txt
- dcmimgle/apps/CMakeLists.txt
- dcmimgle/libsrc/CMakeLists.txt
- dcmjpeg/apps/CMakeLists.txt
- dcmjpeg/libsrc/CMakeLists.txt
- dcmjpls/apps/CMakeLists.txt
- dcmjpls/libsrc/CMakeLists.txt
- dcmnet/apps/CMakeLists.txt
- dcmnet/libsrc/CMakeLists.txt
- dcmpstat/apps/CMakeLists.txt
- dcmpstat/libsrc/CMakeLists.txt
- dcmqrdb/apps/CMakeLists.txt
- dcmqrdb/libsrc/CMakeLists.txt
- dcmrt/apps/CMakeLists.txt
- dcmrt/libsrc/CMakeLists.txt
- dcmsign/apps/CMakeLists.txt
- dcmsign/libsrc/CMakeLists.txt
- dcmsr/apps/CMakeLists.txt
- dcmsr/libsrc/CMakeLists.txt
- dcmtls/libsrc/CMakeLists.txt
- dcmwlm/apps/CMakeLists.txt
- dcmwlm/libsrc/CMakeLists.txt
- oflog/libsrc/CMakeLists.txt
- ofstd/libsrc/CMakeLists.txt
-
-- Removed obsolete list of private modules.
- Affects: CMakeLists.txt
-
-**** Changes from 2012.07.09 (riesmeier)
-
-- Replaced remaining tabs by spaces.
- Affects: dcmdata/libsrc/dcswap.cc
-
-- Check HAVE_WINDOWS_H instead of _WIN32 for printing code page identifiers.
- Affects: ofstd/libsrc/ofconapp.cc
-
-- Replaced Windows-specific wildcard expansion for filenames by "setargv.obj".
- Affects: CMake/DCMTK.cmake
- dcmdata/apps/CMakeLists.txt
- dcmdata/apps/dcm2pdf.cc
- dcmdata/apps/dcm2xml.cc
- dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmcrle.cc
- dcmdata/apps/dcmdrle.cc
- dcmdata/apps/dcmdump.cc
- dcmdata/apps/dcmftest.cc
- dcmdata/apps/dcmgpdir.cc
- dcmdata/apps/dump2dcm.cc
- dcmdata/apps/img2dcm.cc
- dcmdata/apps/mdfconen.cc
- dcmdata/apps/pdf2dcm.cc
- dcmdata/apps/xml2dcm.cc
- dcmimage/apps/CMakeLists.txt
- dcmimgle/apps/CMakeLists.txt
- dcmjpeg/apps/CMakeLists.txt
- dcmjpeg/apps/dcmcjpeg.cc
- dcmjpeg/apps/dcmdjpeg.cc
- dcmjpls/apps/CMakeLists.txt
- dcmjpls/apps/dcmcjpls.cc
- dcmjpls/apps/dcmdjpls.cc
- dcmnet/apps/CMakeLists.txt
- dcmnet/apps/dcmsend.cc
- dcmnet/apps/echoscu.cc
- dcmnet/apps/findscu.cc
- dcmnet/apps/getscu.cc
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
- dcmpstat/apps/CMakeLists.txt
- dcmpstat/apps/dcmmkcrv.cc
- dcmpstat/apps/dcmmklut.cc
- dcmpstat/apps/dcmp2pgm.cc
- dcmpstat/apps/dcmprscp.cc
- dcmpstat/apps/dcmprscu.cc
- dcmpstat/apps/dcmpschk.cc
- dcmpstat/apps/dcmpsmk.cc
- dcmpstat/apps/dcmpsprt.cc
- dcmpstat/apps/dcmpsrcv.cc
- dcmpstat/apps/dcmpssnd.cc
- dcmpstat/tests/msgserv.cc
- dcmqrdb/apps/CMakeLists.txt
- dcmqrdb/apps/dcmqridx.cc
- dcmqrdb/apps/dcmqrscp.cc
- dcmqrdb/apps/dcmqrti.cc
- dcmrt/apps/CMakeLists.txt
- dcmrt/apps/drtdump.cc
- dcmsign/apps/CMakeLists.txt
- dcmsign/apps/dcmsign.cc
- dcmsr/apps/CMakeLists.txt
- dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsr2xml.cc
- dcmsr/apps/dsrdump.cc
- dcmsr/apps/xml2dsr.cc
- dcmwlm/apps/CMakeLists.txt
- dcmwlm/apps/wlcefs.cc
- ofstd/include/dcmtk/ofstd/ofcmdln.h
- ofstd/include/dcmtk/ofstd/ofconapp.h
- ofstd/include/dcmtk/ofstd/oftest.h
-
-**** Changes from 2012.07.05 (riesmeier)
-
-- Output the current OEM/ANSI code page identifiers on Windows systems.
- Affects: ofstd/include/dcmtk/ofstd/ofconapp.h
- ofstd/libsrc/ofconapp.cc
-
-- Made sure that library "sndfile" is disabled if path is not set.
- Affects: CMake/3rdparty.cmake
-
-- Removed double blank line at the end of the file.
- Affects: CMake/DCMTK.cmake
-
-**** Changes from 2012.07.04 (riesmeier)
-
-- Extended support for Windows-specific conversion to and from wide character
- encoding (UTF-16) by adding an optional "code page identifier" parameter.
- Also renamed the conversion functions (removed the "UTF8" from the names).
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/ofchrenc.cc
- ofstd/tests/tchrenc.cc
- ofstd/tests/tests.cc
-
-**** Changes from 2012.07.03 (riesmeier)
-
-- Make sure that "??" is never used for an unknown VR in the XML output.
- Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
- Affects: dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dcsequen.cc
-
-**** Changes from 2012.07.02 (schlachter)
-
-- Rebuilt Makefile dependencies.
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/libi2d/Makefile.dep
- dcmdata/libsrc/Makefile.dep
- dcmdata/tests/Makefile.dep
- dcmimage/apps/Makefile.dep
- dcmimage/libsrc/Makefile.dep
- dcmimgle/apps/Makefile.dep
- dcmimgle/libsrc/Makefile.dep
- dcmjpeg/apps/Makefile.dep
- dcmjpeg/libijg12/Makefile.dep
- dcmjpeg/libijg16/Makefile.dep
- dcmjpeg/libijg8/Makefile.dep
- dcmjpeg/libsrc/Makefile.dep
- dcmjpls/apps/Makefile.dep
- dcmjpls/libcharls/Makefile.dep
- dcmjpls/libsrc/Makefile.dep
- dcmnet/apps/Makefile.dep
- dcmnet/libsrc/Makefile.dep
- dcmpstat/apps/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmpstat/tests/Makefile.dep
- dcmqrdb/apps/Makefile.dep
- dcmqrdb/libsrc/Makefile.dep
- dcmrt/apps/Makefile.dep
- dcmrt/libsrc/Makefile.dep
- dcmrt/tests/Makefile.dep
- dcmsign/apps/Makefile.dep
- dcmsign/libsrc/Makefile.dep
- dcmsr/apps/Makefile.dep
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/Makefile.dep
- dcmtls/libsrc/Makefile.dep
- dcmwlm/apps/Makefile.dep
- dcmwlm/libsrc/Makefile.dep
- dcmwlm/tests/Makefile.dep
- dcmwlm/wwwapps/Makefile.dep
- oflog/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.dep
- ofstd/tests/Makefile.dep
-
-- Move configure checks to their own file.
- Added: CMake/DCMTK.cmake
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMakeLists.txt
-
-- Use the current source dir in CMakeLists.txt instead of the top-level one.
- Affects: CMakeLists.txt
-
-**** Changes from 2012.07.02 (riesmeier)
-
-- Enhanced output of warning message in case the private creator is missing.
- Fixed some typecast warnings reported by gcc 4.4.5 with additional options.
- Affects: dcmdata/libsrc/dcelem.cc
-
-- Fixed wrong logger output of File Meta Information Version (0002,0001).
- Affects: dcmdata/libsrc/dcfilefo.cc
-
-- Fixed wrong error message for conflict check of option --write-binary-data.
- Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
- Affects: dcmdata/apps/dcm2xml.cc
-
-**** Changes from 2012.06.29 (riesmeier)
-
-- Added some more simple tests for the integrated XML parser.
- Affects: ofstd/tests/txml.cc
-
-**** Changes from 2012.06.28 (riesmeier)
-
-- Added comment that DCMTK does not compile when UNICODE or _UNICODE is defined
- on a Windows system (VisualStudio compiler).
- Affects: INSTALL
-
-- Fixed various warning messages reported by VisualStudio 2008 and gcc 4.4.5.
- Affects: dcmpstat/libsrc/dviface.cc
-
-**** Changes from 2012.06.27 (riesmeier)
-
-- Added new method isNested(), which checks whether an element/item is nested
- in a sequence of items (SQ) element or a top-level/stand-alone element/item.
- Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcobject.h
- dcmdata/include/dcmtk/dcmdata/dcpxitem.h
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcobject.cc
- dcmdata/libsrc/dcpxitem.cc
-
-- Fixed wrong name of #include guard (was OFITER_H instead of OFALGO_H).
- Affects: ofstd/include/dcmtk/ofstd/ofalgo.h
-
-**** Changes from 2012.06.20 (riesmeier)
-
-- Slightly changed the rules for partial access to pixel data to reduce memory
- consumption (see comment on the CIF_UsePartialAccessToPixelData flag).
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the original patch.
- Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
- dcmimgle/include/dcmtk/dcmimgle/diutils.h
- dcmimage/apps/dcm2pnm.cc
-
-**** Changes from 2012.06.19 (riesmeier)
-
-- Replaced use of OFListIterator by OFListConstIterator for variable
- declaration in order to compile when HAVE_STL or HAVE_STL_LIST is defined.
- Affects: ofstd/include/dcmtk/ofstd/oftest.h
-
-**** Changes from 2012.06.15 (riesmeier)
-
-- Added support for writing the current CMake configuration to file in order
- to be used by external projects. Currently, only very basic configuration
- settings like version information and some build options are stored.
- Thanks to Marco Nolden <m.nolden@dkfz-heidelberg.de> for the suggestion.
- Added: CMake/DCMTKConfig.cmake.in
- Affects: CMakeLists.txt
-
-**** Changes from 2012.06.13 (riesmeier)
-
-- Added proper definition of "soname" for better shared library support.
- Thanks to Mario Ceresa <mrceresa@gmail.com> for the original idea and to
- Mathieu Malaterre <mathieu.malaterre@gmail.com> for the reminder.
- Affects: CMakeLists.txt
- dcmdata/libi2d/CMakeLists.txt
- dcmdata/libsrc/CMakeLists.txt
- dcmimage/libsrc/CMakeLists.txt
- dcmimgle/libsrc/CMakeLists.txt
- dcmjpeg/libijg12/CMakeLists.txt
- dcmjpeg/libijg16/CMakeLists.txt
- dcmjpeg/libijg8/CMakeLists.txt
- dcmjpeg/libsrc/CMakeLists.txt
- dcmjpls/libcharls/CMakeLists.txt
- dcmjpls/libsrc/CMakeLists.txt
- dcmnet/libsrc/CMakeLists.txt
- dcmpstat/libsrc/CMakeLists.txt
- dcmqrdb/libsrc/CMakeLists.txt
- dcmrt/libsrc/CMakeLists.txt
- dcmsign/libsrc/CMakeLists.txt
- dcmsr/libsrc/CMakeLists.txt
- dcmtls/libsrc/CMakeLists.txt
- dcmwlm/libsrc/CMakeLists.txt
- oflog/libsrc/CMakeLists.txt
- ofstd/libsrc/CMakeLists.txt
-
-**** Changes from 2012.06.12 (riesmeier)
-
-- Converted deprecated CMake command SUBDIRS() into ADD_DIRECTORY() calls.
- Thanks to Hans J. Johnson <hans-johnson@uiowa.edu> for pointing this out.
- Affects: config/CMakeLists.txt
- dcmdata/CMakeLists.txt
- dcmimage/CMakeLists.txt
- dcmimgle/CMakeLists.txt
- dcmjpeg/CMakeLists.txt
- dcmjpls/CMakeLists.txt
- dcmnet/CMakeLists.txt
- dcmpstat/CMakeLists.txt
- dcmqrdb/CMakeLists.txt
- dcmrt/CMakeLists.txt
- dcmsign/CMakeLists.txt
- dcmsr/CMakeLists.txt
- dcmtls/CMakeLists.txt
- dcmwlm/CMakeLists.txt
- oflog/CMakeLists.txt
- ofstd/CMakeLists.txt
-
-**** Changes from 2012.06.11 (riesmeier)
-
-- Added optional "check" parameter to "set" methods and enhanced documentation.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
- dcmsr/include/dcmtk/dcmsr/dsrcontn.h
- dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
- dcmsr/include/dcmtk/dcmsr/dsrdattn.h
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrdtitn.h
- dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h
- dcmsr/include/dcmtk/dcmsr/dsrrefin.h
- dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h
- dcmsr/include/dcmtk/dcmsr/dsrscovl.h
- dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
- dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
- dcmsr/include/dcmtk/dcmsr/dsrtcodt.h
- dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
- dcmsr/include/dcmtk/dcmsr/dsrtextn.h
- dcmsr/include/dcmtk/dcmsr/dsrtimtn.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/include/dcmtk/dcmsr/dsruidtn.h
- dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
- dcmsr/libsrc/dsrcitem.cc
- dcmsr/libsrc/dsrcodvl.cc
- dcmsr/libsrc/dsrcomtn.cc
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrcontn.cc
- dcmsr/libsrc/dsrcsidl.cc
- dcmsr/libsrc/dsrdattn.cc
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrdtitn.cc
- dcmsr/libsrc/dsrimgtn.cc
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrpnmtn.cc
- dcmsr/libsrc/dsrrefin.cc
- dcmsr/libsrc/dsrreftn.cc
- dcmsr/libsrc/dsrsc3vl.cc
- dcmsr/libsrc/dsrscovl.cc
- dcmsr/libsrc/dsrsoprf.cc
- dcmsr/libsrc/dsrstrvl.cc
- dcmsr/libsrc/dsrtcodt.cc
- dcmsr/libsrc/dsrtcovl.cc
- dcmsr/libsrc/dsrtextn.cc
- dcmsr/libsrc/dsrtimtn.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/libsrc/dsruidtn.cc
- dcmsr/libsrc/dsrwavvl.cc
-
-**** Changes from 2012.06.04 (riesmeier)
-
-- Moved module for "DICOM in Radiation Therapy" (DCMRT) to the public DCMTK.
- Please note that this module is not yet complete, because the so-called
- medium-level API is still missing. Currently, it consists of classes that
- are generated automatically based on the 2007 edition of the DICOM standard.
- See "dcmrt/CHANGES" file for details on changes before this merge happened.
- Added: doxygen/manpages/man1/drtdump.1
- Affects: CMakeLists.txt
- COPYRIGHT
- Makefile
- README
- config/modules
- doxygen/htmldocs.cfg
- doxygen/htmldocs.dox
-
-- Removed double entry on dcmqrdb module (second one added with last commit).
- Affects: doxygen/htmldocs.dox
-
-**** Changes from 2012.06.04 (schlachter)
-
-- Added an 'exhaustive' test mode for running slow tests.
- Affects: ofstd/include/dcmtk/ofstd/oftest.h
- ofstd/tests/CMakeLists.txt
- ofstd/tests/Makefile.in
- ofstd/tests/tests.cc
- ofstd/tests/toffile.cc
-
-**** Changes from 2012.05.30 (riesmeier)
-
-- Added support for Waveform Storage SOP Classes introduced after 2003 edition
- of the DICOM standard, i.e. General Audio, Arterial Pulse and Respiratory.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
- dcmsr/libsrc/dsrwavvl.cc
-
-**** Changes from 2012.05.29 (riesmeier)
-
-- Slightly modified code for using methods from class DcmSequenceOfItems.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/libsrc/dsrcsidl.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrrefin.cc
- dcmsr/libsrc/dsrsoprf.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Added explicit type casts or changed type declaration in order to avoid
- warnings reported by gcc 4.4.5 (Linux) with additional flags.
- Affects: dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrreftn.cc
-
-**** Changes from 2012.05.25 (riesmeier)
-
-- Added support for optional Retrieve Location UID (0040,E011) to the class
- DSRSOPInstanceReferenceList since it is required for IHE XDS-I (see CP-958).
- Thanks to forum user "xcoder" for pointing this out.
- Affects: dcmsr/data/dsr2xml.xsd
- dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
- dcmsr/libsrc/dsrsoprf.cc
-
-- Added note on current limitations of the XML Schema "dsr2xml.xsd".
- Affects: dcmsr/docs/dsr2xml.man
- dcmsr/docs/xml2dsr.man
-
-**** Changes from 2012.05.24 (riesmeier)
-
-- Added Windows-specific support for converting between wide character encoding
- (UTF-16) and UTF-8. No external library is required for this, e.g. libiconv.
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/ofchrenc.cc
- ofstd/tests/tchrenc.cc
- ofstd/tests/tests.cc
-
-**** Changes from 2012.05.23 (riesmeier)
-
-- Simplified code of assignment operator since OFList::operator=() now exists.
- Affects: dcmsr/libsrc/dsrtncsr.cc
-
-**** Changes from 2012.05.15 (riesmeier)
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/*
-
-- Added missing word "directory" to libsndfile warning message.
- Affects: CMake/3rdparty.cmake
-
-**** Changes from 2012.05.14 (onken)
-
-- Enhanced handling of error codes for C-GET (added explicit support for
- missing code Ax702 and enhanced recognition of customized 0xCxxx codes.)
- Affects: dcmtk/dcmnet/scu.cc
-
-**** Changes from 2012.05.14 (schlachter)
-
-- Fixed error reporting for all objects created through a factory.
- Thanks to Heyo Spekker <spekker@icsmed.de> for reporting this issue.
- Affects: oflog/libsrc/factory.cc
-
-**** Changes from 2012.05.10 (riesmeier)
-
-- Added explicit type casts to avoid warnings reported by gcc 4.4.5 (Linux)
- with additional flags.
- Affects: ofstd/libsrc/ofcmdln.cc
- ofstd/libsrc/oftime.cc
- ofstd/tests/tchrenc.cc
-
-**** Changes from 2012.05.08 (riesmeier)
-
-- Output a warning message if value of "maxBytesPerStudy" exceeds upper limit.
- Thanks to Michal Spacek <tupinek@gmail.com> for the suggested patch.
- Affects: dcmqrdb/libsrc/dcmqrdbi.cc
-
-**** Changes from 2012.05.07 (riesmeier)
-
-- Added suppport for accessing the parent of a DICOM object/element, i.e. the
- surrounding structure in the DICOM dataset, in which it is contained. This
- also includes access to both the parent and the root item.
- Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcobject.h
- dcmdata/include/dcmtk/dcmdata/dcpxitem.h
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcobject.cc
- dcmdata/libsrc/dcpixseq.cc
- dcmdata/libsrc/dcpxitem.cc
- dcmdata/libsrc/dcsequen.cc
-
-**** Changes from 2012.05.07 (schlachter)
-
-- Fixed a bug in the earlier bug fix where a 32bit int may be shifted by 32.
- Affects: dcmjpls/libcharls/encodstr.h
-
-- Added a test for the new functions for accessing parent objects and items.
- Added: dcmdata/tests/dctmacro.h
- dcmdata/tests/tparent.cc
- Affects: dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
- dcmdata/tests/tparser.cc
-
-- Fixed a bug in the output buffer flushing which caused a failed assertion.
- Thanks to forum user "wollet88" for the original report.
- Affects: dcmjpls/libcharls/encodstr.h
-
-**** Changes from 2012.05.04 (onken)
-
-- Cleaned up includes. Thanks to Michal Spacek <tupinek@gmail.com> for the hint.
- Fixed plugin functionality to receive list of supported SOP classes.
- Affects: dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2d.h
- dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2doutpl.h
- dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2dplnsc.h
- dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2dplsc.h
- dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2dplvlp.h
- dcmtk/dcmdata/libi2d/i2dplnsc.cc
- dcmtk/dcmdata/libi2d/i2dplsc.cc
- dcmtk/dcmdata/libi2d/i2dplvlp.cc
-
-**** Changes from 2012.04.25 (riesmeier)
-
-- Now, also error log messages are disabled by default.
- Affects: ofstd/include/dcmtk/ofstd/oftest.h
-
-- Made sure that NDEBUG is always defined in release mode when overwriting the
- compiler flags for Visual Studio on Windows systems, which is the default.
- Thanks to forum user "wollet88" for the original report.
- Affects: CMakeLists.txt
-
-**** Changes from 2012.04.19 (riesmeier)
-
-- Updated information on latest CMake version that has been tested to "2.8.8".
- Affects: CMakeLists.txt
-
-**** Changes from 2012.04.18 (riesmeier)
-
-- Fixed wrong reference to ".txt" files with further documentation. Thanks to
- Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> for pointing this out.
- Affects: dcmnet/docs/testing.txt
-
-**** Changes from 2012.04.17 (riesmeier)
-
-- Made it clearer that --search prints the textual dump of the specified tag
- (consisting of tag, VR, value, etc.) and not only the element's value.
- Affects: dcmdata/apps/dcmdump.cc
- dcmdata/docs/dcmdump.man
-
-**** Changes from 2012.04.16 (schlachter)
-
-- Fixed several assignment operators in STL replacement classes.
- Affects: ofstd/include/dcmtk/ofstd/ofmap.h
- ofstd/include/dcmtk/ofstd/ofstack.h
- ofstd/include/dcmtk/ofstd/ofvector.h
-
-**** Changes from 2012.04.13 (riesmeier)
-
-- Avoid crash on Windows systems when prepareCmdLineArgs() is called multiple
- times. Thanks to Hanno Hugenberg <hanno.hugenberg@gkmedsys.de> for the report
- and suggested fix.
- Affects: dcmdata/libsrc/cmdlnarg.cc
-
-- Made sure that VisualStudio does not complain about the redefinition of
- O_BINARY (moved existing code a few lines down).
- Affects: dcmdata/libsrc/dcdicdir.cc
-
-**** Changes from 2012.04.12 (riesmeier)
-
-- Added support for CP-1188 to data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Added support for CP-1182 (Add SOP Classes to CT/MR Media Profiles).
- Affects: dcmdata/libsrc/dcddirif.cc
-
-- Added support for CP-1123 to data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2012.04.11 (schlachter)
-
-- Use OFVector instead of OFOrderedSet for the file list.
- Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h
- dcmwlm/libsrc/wlfsim.cc
-
-- Fix a narrowing conversion error with gcc 4.7.0. Yay for C++11.
- Affects: dcmdata/tests/tparser.cc
-
-- Minor change to make gcc 4.7.0 happy.
- Affects: ofstd/include/dcmtk/ofstd/ofuoset.h
-
-**** Changes from 2012.03.27 (schlachter)
-
-- Use O_BINARY again when writing dicom dirs.
- Affects: dcmdata/libsrc/dcdicdir.cc
-
-**** Changes from 2012.03.21 (riesmeier)
-
-- Never create temporary DICOMDIR file in "temp" directory in order to avoid
- possible EXDEV I/O error (Invalid cross-device link).
- Affects: dcmdata/libsrc/dcdicdir.cc
-
-**** Changes from 2012.03.12 (riesmeier)
-
-- Slightly adapted code in order to avoid unneeded calls to OFString::c_str().
- Affects: dcmdata/libsrc/dcddirif.cc
-
-- Made sure that the member variable "nonSignificantChars" is also copied in
- the copy constructor and the assignment operator.
- Affects: dcmdata/libsrc/dcbytstr.cc
-
-- Added new command line options for parsing incorrectly encoded datasets
- where the sequence and/or item delimitation items are mixed up.
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmdump.cc
- dcmdata/docs/dcmconv.man
- dcmdata/docs/dcmdump.man
-
-- Added new parser flag that allows for reading corrupted datasets where the
- sequence and/or item delimitation items are incorrect (e.g. mixed up).
- Thanks to Carmen Avram <carmen@pixeldata.ro> for the report and test data.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcobject.h
- dcmdata/libsrc/dcerror.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcobject.cc
- dcmdata/libsrc/dcsequen.cc
- dcmdata/tests/tests.cc
- dcmdata/tests/tparser.cc
-
-- Updated gcc version number based on the main development system (Linux).
- Affects: INSTALL
-
-- Output debug message in case access to a storage area is not permitted.
- Affects: dcmqrdb/libsrc/dcmqrsrv.cc
-
-**** Changes from 2012.03.06 (riesmeier)
-
-- Fixed Doxygen documentation issues: Appended "\" in case "." does not mark
- the end of a sentence. Also made documentation on DICOMDIR use clearer.
- Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
-
-- Fixed Doxygen documentation issue in subsection title.
- Affects: dcmpstat/docs/dcmpsprt.man
-
-**** Changes from 2012.02.28 (riesmeier)
-
-- Fixed compilation issue on MinGW/MSYS systems (modified #ifdef statement).
- Thanks to forum user "martinrame" for the report.
- Affects: ofstd/libsrc/ofchrenc.cc
-
-**** Changes from 2012.02.24 (riesmeier)
-
-- Updated copyright date.
- Affects: COPYRIGHT
-
-**** Changes from 2012.02.23 (riesmeier)
-
-- Fixed Doxygen documentation issue: Appended "\" in case "." does not mark
- the end of a sentence.
- Affects: ofstd/include/dcmtk/ofstd/ofcond.h
-
-**** Changes from 2012.02.22 (riesmeier)
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/*
-
-**** Changes from 2012.02.21 (riesmeier)
-
-- Removed misplaced export macro (forward declaration of a class).
- Affects: oflog/include/dcmtk/oflog/socketap.h
-
-- Fixed wrong comment on the time complexity of the swap() function.
- Affects: ofstd/include/dcmtk/ofstd/ofstring.h
-
-- Added fast, non-throwing swap function to OFFilename class.
- Thanks to Niels Dekker <C.E.Dekker@lumc.nl> for providing the patch.
- Affects: ofstd/include/dcmtk/ofstd/offile.h
-
-- Added support for progress notifications while sending and receiving DICOM
- datasets. Thanks to Michal Spacek <tupinek@gmail.com> for the original patch.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-**** Changes from 2012.02.20 (riesmeier)
-
-- Replaced tab by space character.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
-
-- Minor changes of source code formatting, documentation and the like.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/libsrc/dsrimgfr.cc
- dcmsr/libsrc/dsrsc3gr.cc
- dcmsr/libsrc/dsrscogr.cc
- dcmsr/libsrc/dsrscotn.cc
- dcmsr/libsrc/dsrtcoto.cc
- dcmsr/libsrc/dsrwavch.cc
-
-- Fixed typo in comment.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/assoc.cc
- dcmqrdb/libsrc/dcmqrptb.cc
-
-- Rebuilt Makefile dependencies.
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/libi2d/Makefile.dep
- dcmdata/libsrc/Makefile.dep
- dcmdata/tests/Makefile.dep
- dcmimage/apps/Makefile.dep
- dcmimage/libsrc/Makefile.dep
- dcmimgle/apps/Makefile.dep
- dcmimgle/libsrc/Makefile.dep
- dcmjpeg/apps/Makefile.dep
- dcmjpeg/libijg12/Makefile.dep
- dcmjpeg/libijg16/Makefile.dep
- dcmjpeg/libijg8/Makefile.dep
- dcmjpeg/libsrc/Makefile.dep
- dcmjpls/apps/Makefile.dep
- dcmjpls/libcharls/Makefile.dep
- dcmjpls/libsrc/Makefile.dep
- dcmnet/apps/Makefile.dep
- dcmpstat/apps/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmpstat/tests/Makefile.dep
- dcmqrdb/apps/Makefile.dep
- dcmqrdb/libsrc/Makefile.dep
- dcmsign/apps/Makefile.dep
- dcmsign/libsrc/Makefile.dep
- dcmsr/apps/Makefile.dep
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/Makefile.dep
- dcmtls/libsrc/Makefile.dep
- dcmwlm/apps/Makefile.dep
- dcmwlm/libsrc/Makefile.dep
- dcmwlm/tests/Makefile.dep
- dcmwlm/wwwapps/Makefile.dep
- oflog/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.dep
- ofstd/tests/Makefile.dep
-
-- Added initial support for wide character strings (UTF-16) used for filenames
- by the Windows operating system. Thanks to Niels Dekker <C.E.Dekker@lumc.nl>
- and Jeroen Eggermont <J.Eggermont@lumc.nl> for the suggestion.
- Affects: CMakeLists.txt
- CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/docs/macros.txt
- dcmdata/include/dcmtk/dcmdata/dcdatset.h
- dcmdata/include/dcmtk/dcmdata/dcfilefo.h
- dcmdata/include/dcmtk/dcmdata/dcistrmf.h
- dcmdata/include/dcmtk/dcmdata/dcmetinf.h
- dcmdata/include/dcmtk/dcmdata/dcostrmf.h
- dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcistrmf.cc
- dcmdata/libsrc/dcmetinf.cc
- dcmdata/libsrc/dcostrmf.cc
- ofstd/include/dcmtk/ofstd/offile.h
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-- Output dataset dump with PF_convertToOctalNumbers flag in case of error.
- This makes some unusual control characters more visible in the output.
- Affects: dcmsr/libsrc/dsrdoctn.cc
-
-**** Changes from 2012.02.17 (riesmeier)
-
-- Added missing "stdlib" include, required for free() on some Linux systems.
- Thanks to Markus Mertens <Markus.Mertens@evkb.de> for the report.
- Affects: ofstd/include/dcmtk/ofstd/ofcond.h
-
-**** Changes from 2012.02.15 (riesmeier)
-
-- Improved performance of findParam() when used with long list of parameters.
- Now, the previous parameter position is used for searching (if possible).
- Affects: ofstd/include/dcmtk/ofstd/ofcmdln.h
- ofstd/libsrc/ofcmdln.cc
-
-**** Changes from 2012.02.15 (schlachter)
-
-- Removed dependency on static initialization order from OFCondition.
- All static condition objects are now created via makeOFConditionConst()
- in a way that doesn't need a constructor to run. This should only break
- code which defines its own condition objects, all other changes are
- backwards compatible.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcerror.cc
- dcmjpeg/include/dcmtk/dcmjpeg/djutils.h
- dcmjpeg/libsrc/djutils.cc
- dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
- dcmjpls/libsrc/djerror.h
- dcmjpls/libsrc/djutils.cc
- dcmnet/include/dcmtk/dcmnet/cond.h
- dcmnet/libsrc/cond.cc
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h
- dcmqrdb/libsrc/dcmqropt.cc
- dcmrt/include/dcmtk/dcmrt/drttypes.h
- dcmrt/libsrc/drttypes.cc
- dcmsign/include/dcmtk/dcmsign/sitypes.h
- dcmsign/libsrc/sitypes.cc
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrtypes.cc
- dcmwlm/include/dcmtk/dcmwlm/wltypdef.h
- ofstd/include/dcmtk/ofstd/ofcond.h
- ofstd/libsrc/ofcond.cc
-
-- Don't use C++ comments in file included from C.
- Affects: ofstd/include/dcmtk/ofstd/ofexport.h
-
-- Removed OFCONDITION_STRICT_MODE since DCMTK didn't compile in this mode.
- Affects: config/docs/macros.txt
- dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmnet/include/dcmtk/dcmnet/cond.h
- ofstd/include/dcmtk/ofstd/ofcond.h
-
-**** Changes from 2012.02.14 (riesmeier)
-
-- Added support for Observation UID (0040,A171) to content items (CP-1147).
- Affects: dcmsr/data/dsr2xml.xsd
- dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/libsrc/dsrcitem.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrreftn.cc
-
-**** Changes from 2012.02.10 (onken)
-
-- Removed duplicate log message when closing an association.
- Affects: dcmnet/apps/getscu.cc
-
-**** Changes from 2012.02.10 (riesmeier)
-
-- Introduced a new timeout of 60 seconds for the send() function in order to
- make sure that the association is terminated if the sender looses the
- connection to the receiver. This can be disabled by DISABLE_SEND_TIMEOUT.
- Thanks to forum user "Matterhorn" for the original report.
- Affects: config/docs/macros.txt
- dcmnet/libsrc/dcmtrans.cc
-
-- Moved setting of timeout for recv() function to the DcmTransportConnection
- constructor. The previous commit was not really solving the problem.
- Affects: dcmnet/libsrc/dcmtrans.cc
- dcmnet/libsrc/dul.cc
- dcmnet/libsrc/Makefile.dep
-
-- Moved setting of timeout for the recv() function to initializeNetworkTCP(),
- i.e. now it applies to both incoming and outgoing connections.
- Affects: dcmnet/libsrc/dul.cc
-
-- Fixed issue with tagExistsWithValue() and compressed PixelData (7fe0,0010).
- Thanks to forum user "angad" for the original report.
- Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/libsrc/dcitem.cc
-
-**** Changes from 2012.02.08 (schlachter)
-
-- Link libraries against their external dependencies.
- Affects: dcmdata/libsrc/CMakeLists.txt
- dcmimage/libsrc/CMakeLists.txt
- dcmsign/libsrc/CMakeLists.txt
- dcmsr/libsrc/CMakeLists.txt
- dcmtls/libsrc/CMakeLists.txt
- ofstd/libsrc/CMakeLists.txt
-
-**** Changes from 2012.02.07 (riesmeier)
-
-- Added comment about conflicting definition of (0040,A170) in Supplement 23
- (frozen draft from 1997) and DICOM standard. This might result in parsing
- errors when reading/processing old trial implementation draft SR documents.
- Affects: dcmdata/data/dicom.dic
-
-**** Changes from 2012.02.03 (riesmeier)
-
-- Added missing package include statement for "FindPackageHandleStandardArgs".
- Thanks to Julien Finet <julien.finet@kitware.com> for the report and fix.
- Affects: CMake/FindICONV.cmake
-
-**** Changes from 2012.02.01 (schlachter)
-
-- Don't call MSVC++ with -fvisibility=hidden.
- Affects: CMakeLists.txt
-
-- Build the ijg libraries as shared libraries if BUILD_SHARED_LIBS is ON.
- Affects: dcmjpeg/libijg12/CMakeLists.txt
- dcmjpeg/libijg12/jmorecfg12.h
- dcmjpeg/libijg16/CMakeLists.txt
- dcmjpeg/libijg16/jmorecfg16.h
- dcmjpeg/libijg8/CMakeLists.txt
- dcmjpeg/libijg8/jmorecfg8.h
-
-- Moved some definitions to a file that can be included from C.
- Added: ofstd/include/dcmtk/ofstd/ofexport.h
- Affects: ofstd/include/dcmtk/ofstd/ofdefine.h
-
-- Build charls as a shared library if BUILD_SHARED_LIBS is ON.
- Affects: dcmjpls/libcharls/CMakeLists.txt
- dcmjpls/libcharls/intrface.h
-
-- Corrected CMake's test for strerror_r()'s return value. Thanks to forum
- user "chaircrusher" for the report.
- Affects: CMake/GenerateDCMTKConfigure.cmake
-
-**** Changes from 2012.01.30 (riesmeier)
-
-- Added explicit type cast to avoid warning reporting on Mac OS X with Clang.
- Thanks to forum user "chaircrusher" for the report and suggested patch.
- Affects: dcmdata/libsrc/dcvrobow.cc
-
-- Fixed issue reported on Mac OS X with Clang: Only define the macro MAX() if
- not yet defined somewhere else.
- Thanks to forum user "chaircrusher" for the report.
- Affects: dcmwlm/wwwapps/writwlst.cc
-
-- Fixed issue with wrong initialization of member variable "waitMillis".
- Thanks to forum user "chaircrusher" for the report.
- Affects: oflog/libsrc/config.cc
-
-**** Changes from 2012.01.27 (elgazzar)
-
-- Added a module number for the dcmkosel module
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
-
-**** Changes from 2012.01.26 (riesmeier)
-
-- Removed outdated comment on the main class and revised some other comments.
- Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
-
-- Converted (static) class variable to member variable in order to avoid crash
- on Windows systems (OFCondition instances cannot be used in global objects).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/libsrc/dsrcitem.cc
-
-- Fixed wrong return status when reading an IMAGE content item without icon.
- Affects: dcmsr/libsrc/dsrimgvl.cc
-
-**** Changes from 2012.01.24 (riesmeier)
-
-- Fixed wrong line break in XML output, which caused problems with the xml2dcm
- conversion. Thanks to forum user "henry" for the report.
- Affects: dcmdata/libsrc/dcelem.cc
-
-**** Changes from 2012.01.18 (schlachter)
-
-- Don't use P_tmpdir because in MSC6 this define breaks OFTempFile.
- Affects: ofstd/libsrc/oftempf.cc
-
-- Made it clearer that CMake also works on non-windows systems.
- Affects: INSTALL
-
-- Fixed OFPair to compile again on MSC6.
- Affects: ofstd/include/dcmtk/ofstd/ofmap.h
-
-- Correctly disable warning 4251 with MSC6.
- Affects: CMakeLists.txt
- CMake/osconfig.h.in
-
-- Added support for building with hidden visibility.
- Affects: CMakeLists.txt
- CMake/osconfig.h.in
- oflog/include/dcmtk/oflog/config.h
- oflog/include/dcmtk/oflog/config/win32.h
- ofstd/include/dcmtk/ofstd/ofdefine.h
- ofstd/include/dcmtk/ofstd/ofxml.h
-
-**** Changes from 2012.01.12 (riesmeier)
-
-- Added note that the dataset passed to the write method is not cleared.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
-
-**** Changes from 2012.01.10 (riesmeier)
-
-- Fixed inconsistent transfer syntax names in given example (added spaces).
- Thanks to Detlev Hohmeier <detlev.hohmeier@meditec.zeiss.com> for the report.
- Affects: dcmdata/docs/dcm2xml.man
- dcmdata/docs/xml2dcm.man
-
-**** Changes from 2012.01.06 (riesmeier)
-
-- Make sure to link LIBTIFF and LIBPNG to programs that use the dcmsr library
- in order to avoid linker errors when compiling with shared libraries.
- Affects: dcmsr/apps/CMakeLists.txt
- dcmsr/apps/Makefile.in
- dcmsr/tests/CMakeLists.txt
- dcmsr/tests/Makefile.in
- dcmpstat/apps/CMakeLists.txt
- dcmpstat/apps/Makefile.in
- dcmpstat/tests/Makefile.in
-
-**** Changes from 2012.01.06 (schlachter)
-
-- Replace ${STATIC_ON_WINDOWS} with STATIC.
- Affects: CMakeLists.txt
- dcmjpeg/libijg12/CMakeLists.txt
- dcmjpeg/libijg16/CMakeLists.txt
- dcmjpeg/libijg8/CMakeLists.txt
- dcmjpls/libcharls/CMakeLists.txt
-
-- Reintroduce library components which were lost in the DLL commits.
- Affects: dcmdata/libi2d/CMakeLists.txt
- dcmdata/libsrc/CMakeLists.txt
- dcmimage/libsrc/CMakeLists.txt
- dcmimgle/libsrc/CMakeLists.txt
- dcmjpeg/libijg12/CMakeLists.txt
- dcmjpeg/libijg16/CMakeLists.txt
- dcmjpeg/libijg8/CMakeLists.txt
- dcmjpeg/libsrc/CMakeLists.txt
- dcmjpls/libcharls/CMakeLists.txt
- dcmjpls/libsrc/CMakeLists.txt
- dcmnet/libsrc/CMakeLists.txt
- dcmpstat/libsrc/CMakeLists.txt
- dcmqrdb/libsrc/CMakeLists.txt
- dcmsign/libsrc/CMakeLists.txt
- dcmsr/libsrc/CMakeLists.txt
- dcmtls/libsrc/CMakeLists.txt
- dcmwlm/libsrc/CMakeLists.txt
- oflog/libsrc/CMakeLists.txt
- ofstd/libsrc/CMakeLists.txt
-
-- Make it possible to build dcmpstat as a DLL. Thanks to
- Thomas Sondergaard <ts@medical-insight.com> for making this possible.
- Added: dcmpstat/include/dcmtk/dcmpstat/dpdefine.h
- Affects: dcmpstat/include/dcmtk/dcmpstat/*.h
- dcmpstat/libsrc/CMakeLists.txt
-
-- Make it possible to build dcmsr as a DLL. Thanks to
- Thomas Sondergaard <ts@medical-insight.com> for making this possible.
- Added: dcmsr/include/dcmtk/dcmsr/dsdefine.h
- Affects: dcmsr/include/dcmtk/dcmsr/*.h
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/dsrimgfr.cc
- dcmsr/libsrc/dsrtcodt.cc
- dcmsr/libsrc/dsrtcosp.cc
- dcmsr/libsrc/dsrtcoto.cc
-
-**** Changes from 2012.01.05 (riesmeier)
-
-- Fixed issue with output of strings with embedded NULL bytes to the logger.
- Thanks to Michal Spacek <tupinek@gmail.com> for the original report.
- Affects: ofstd/include/dcmtk/ofstd/ofstream.h
-
-- Fixed issue with old stringstream classes (reported by VisualStudio 2005).
- Affects: ofstd/include/dcmtk/ofstd/ofstream.h
-
-- Added explicit type casts to keep VisualStudio 2005 quiet.
- Affects: ofstd/libsrc/ofuuid.cc
-
-**** Changes from 2012.01.04 (riesmeier)
-
-- Updated information on latest CMake version that has been tested to "2.8.7".
- Affects: CMakeLists.txt
-
-**** Changes from 2012.01.03 (riesmeier)
-
-- Fixed bug in putString() method when a UID name is mapped to a UID number.
- Thanks to Michal Spacek <tupinek@gmail.com> for the report and suggested fix.
- Affects: dcmdata/libsrc/dcvrui.cc
-
-- Also link "dcmimage" library, which is now required by the "dcmsr" library.
- Affects: dcmpstat/apps/CMakeLists.txt
- dcmpstat/apps/Makefile.in
-
-- Added support for icon image to IMAGE content item (introduced with CP-217).
- Affects: dcmsr/CMakeLists.txt
- dcmsr/apps/CMakeLists.txt
- dcmsr/apps/Makefile.dep
- dcmsr/apps/Makefile.in
- dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/tests/CMakeLists.txt
- dcmsr/tests/Makefile.dep
- dcmsr/tests/Makefile.in
-
-**** Changes from 2011.12.22 (riesmeier)
-
-- Fixed issue with user-defined modality LUT transformation in combination with
- the processNextFrames() method.
- Thanks to forum user "jacobscolin" for the original report.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dimopx.h
- dcmimgle/libsrc/dimoimg.cc
- dcmimgle/libsrc/dimopx.cc
-
-**** Changes from 2011.12.16 (eichelberg)
-
-- Minor changes for MSVC6 compatibility
- Affects: dcmnet/apps/getscu.cc
- dcmwlm/wwwapps/readoviw.cc
- dcmwlm/wwwapps/readwlst.cc
-
-**** Changes from 2011.12.16 (riesmeier)
-
-- Added support for optional attribute Fiducial UID (0070,031A) to SCOORD and
- SCOORD3D content items.
- Affects: dcmsr/data/dsr2xml.xsd
- dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h
- dcmsr/include/dcmtk/dcmsr/dsrscovl.h
- dcmsr/libsrc/dsrsc3vl.cc
- dcmsr/libsrc/dsrscovl.cc
-
-- Added support for 16 bits per sample to PNG image export.
- Thanks to forum user "AlexanderLysenko" for the original idea.
- Affects: dcmimage/apps/dcm2pnm.cc
- dcmimage/docs/dcm2pnm.man
- dcmimage/include/dcmtk/dcmimage/dipipng.h
- dcmimage/libsrc/dipipng.cc
- dcmjpeg/docs/dcmj2pnm.man
- dcmjpls/docs/dcml2pnm.man
-
-**** Changes from 2011.12.15 (riesmeier)
-
-- Fixed typo in comments.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/libsrc/dsrcodvl.cc
- dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrstrvl.cc
- dcmsr/libsrc/dsrwavvl.cc
-
-- Fixed issue in XML Schema: The concept name is optional/conditional for
- SCOORD, SCOORD3D and TCOORD content items.
- Affects: dcmsr/data/dsr2xml.xsd
-
-- Added support for optional series-related attributes (Series Date and Series
- Time). Also improved handling of other study/series-related attributes.
- Affects: dcmsr/data/dsr2xml.xsd
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/libsrc/dsrdoc.cc
-
-- Added support for additional representations of a numeric value according to
- CP-1064 (Float VR in numeric SR content items).
- Affects: dcmsr/data/dsr2xml.xsd
- dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrnumvl.cc
- dcmsr/libsrc/dsrtypes.cc
-
-**** Changes from 2011.12.14 (riesmeier)
-
-- Added initial support for the "Enhanced Encoding Mode", which comprises some
- optional attributes that further describe a code value.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodtn.h
- dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/libsrc/dsrcodvl.cc
-
-- Fixed wrong definition of value representation Date Time (DT): All trailing
- components can be omitted, i.e. the shortest DT value consists of "YYYY".
- Affects: dcmdata/libsrc/vrscanl.c
- dcmdata/libsrc/vrscanl.h
- dcmdata/libsrc/vrscanl.l
- dcmdata/tests/tchval.cc
-
-- Report a warning if the value of Template Identifier (0040,DB00) does not
- follow the rules for DICOM template identifiers.
- Affects: dcmsr/libsrc/dsrdoctn.cc
-
-**** Changes from 2011.12.14 (schlachter)
-
-- Make it possible to build dcmqrdb as a DLL. Thanks to
- Thomas Sondergaard <ts@medical-insight.com> for making this possible.
- Added: dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbf.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbg.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbm.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbs.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbs.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrptb.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrtis.h
- dcmqrdb/libsrc/CMakeLists.txt
-
-- Make it possible to precisely build dcmsign and dcmwlm as DLLs. Thanks to
- Thomas Sondergaard <ts@medical-insight.com> for doing the hard work.
- Added: dcmsign/include/dcmtk/dcmsign/sidefine.h
- dcmwlm/include/dcmtk/dcmwlm/wldefine.h
- Affects: dcmsign/include/dcmtk/dcmsign/*
- dcmsign/libsrc/CMakeLists.txt
- dcmsign/libsrc/dcsignat.cc
- dcmwlm/include/dcmtk/dcmwlm/wlds.h
- dcmwlm/include/dcmtk/dcmwlm/wldsfs.h
- dcmwlm/include/dcmtk/dcmwlm/wlfsim.h
- dcmwlm/include/dcmtk/dcmwlm/wlmactmg.h
- dcmwlm/include/dcmtk/dcmwlm/wltypdef.h
- dcmwlm/libsrc/CMakeLists.txt
-
-- Make it possible to perfectly build dcmnet and dcmtls as DLLs. Thanks to
- Thomas Sondergaard <ts@medical-insight.com> for making this possible.
- Added: dcmnet/include/dcmtk/dcmnet/dndefine.h
- dcmtls/include/dcmtk/dcmtls/tlsdefin.h
- Affects: dcmnet/include/dcmtk/dcmnet/*
- dcmnet/libsrc/CMakeLists.txt
- dcmtls/include/dcmtk/dcmtls/tlslayer.h
- dcmtls/include/dcmtk/dcmtls/tlsscu.h
- dcmtls/include/dcmtk/dcmtls/tlstrans.h
- dcmtls/libsrc/CMakeLists.txt
- dcmtls/libsrc/tlslayer.cc
-
-- Add some changes which were missing in the previous commit.
- Affects: dcmjpls/include/dcmtk/dcmjpls/djcodecd.h
- dcmjpls/include/dcmtk/dcmjpls/djcodece.h
- dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
- dcmjpls/include/dcmtk/dcmjpls/djrparam.h
-
-- Make it possible to rightly build dcmjpls as a DLL. Thanks to
- Thomas Sondergaard <ts@medical-insight.com> for making this possible.
- Added: dcmjpls/include/dcmtk/dcmjpls/dldefine.h
- Affects: dcmjpls/include/dcmtk/dcmjpls/djcodecd.h
- dcmjpls/include/dcmtk/dcmjpls/djcodece.h
- dcmjpls/include/dcmtk/dcmjpls/djcparam.h
- dcmjpls/include/dcmtk/dcmjpls/djdecode.h
- dcmjpls/include/dcmtk/dcmjpls/djencode.h
- dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
- dcmjpls/include/dcmtk/dcmjpls/djrparam.h
- dcmjpls/libcharls/CMakeLists.txt
- dcmjpls/libsrc/CMakeLists.txt
-
-- Make it possible to decently build dcmjpeg as a DLL. Thanks to
- Thomas Sondergaard <ts@medical-insight.com> for making this possible.
- Added: dcmjpeg/include/dcmtk/dcmjpeg/djdefine.h
- Affects: dcmjpeg/include/dcmtk/dcmjpeg/*
- dcmjpeg/libijg12/CMakeLists.txt
- dcmjpeg/libijg16/CMakeLists.txt
- dcmjpeg/libijg8/CMakeLists.txt
- dcmjpeg/libsrc/CMakeLists.txt
-
-- Make it possible to nicely build dcmimage as a DLL. Thanks to
- Thomas Sondergaard <ts@medical-insight.com> for making this possible.
- Added: dcmimage/include/dcmtk/dcmimage/dicdefin.h
- Affects: dcmimage/include/dcmtk/dcmimage/diargimg.h
- dcmimage/include/dcmtk/dcmimage/dicmyimg.h
- dcmimage/include/dcmtk/dcmimage/dicoimg.h
- dcmimage/include/dcmtk/dcmimage/dicoopx.h
- dcmimage/include/dcmtk/dcmimage/dicopx.h
- dcmimage/include/dcmtk/dcmimage/dihsvimg.h
- dcmimage/include/dcmtk/dcmimage/dilogger.h
- dcmimage/include/dcmtk/dcmimage/dipalimg.h
- dcmimage/include/dcmtk/dcmimage/dipipng.h
- dcmimage/include/dcmtk/dcmimage/dipitiff.h
- dcmimage/include/dcmtk/dcmimage/diqtctab.h
- dcmimage/include/dcmtk/dcmimage/diqtfs.h
- dcmimage/include/dcmtk/dcmimage/diqthash.h
- dcmimage/include/dcmtk/dcmimage/diqthitl.h
- dcmimage/include/dcmtk/dcmimage/diqthitm.h
- dcmimage/include/dcmtk/dcmimage/diqtid.h
- dcmimage/include/dcmtk/dcmimage/diqtpbox.h
- dcmimage/include/dcmtk/dcmimage/diqtpix.h
- dcmimage/include/dcmtk/dcmimage/diqtstab.h
- dcmimage/include/dcmtk/dcmimage/diqttype.h
- dcmimage/include/dcmtk/dcmimage/diquant.h
- dcmimage/include/dcmtk/dcmimage/diregist.h
- dcmimage/include/dcmtk/dcmimage/dirgbimg.h
- dcmimage/include/dcmtk/dcmimage/diybrimg.h
- dcmimage/include/dcmtk/dcmimage/diyf2img.h
- dcmimage/include/dcmtk/dcmimage/diyp2img.h
- dcmimage/libsrc/CMakeLists.txt
-
-- Make it possible to properly build dcmimgle as a DLL. Thanks to
- Thomas Sondergaard <ts@medical-insight.com> for making this possible.
- Added: dcmimgle/include/dcmtk/dcmimgle/didefine.h
- Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
- dcmimgle/include/dcmtk/dcmimgle/dibaslut.h
- dcmimgle/include/dcmtk/dcmimgle/diciefn.h
- dcmimgle/include/dcmtk/dcmimgle/dicielut.h
- dcmimgle/include/dcmtk/dcmimgle/didislut.h
- dcmimgle/include/dcmtk/dcmimgle/didispfn.h
- dcmimgle/include/dcmtk/dcmimgle/didocu.h
- dcmimgle/include/dcmtk/dcmimgle/digsdfn.h
- dcmimgle/include/dcmtk/dcmimgle/digsdlut.h
- dcmimgle/include/dcmtk/dcmimgle/diimage.h
- dcmimgle/include/dcmtk/dcmimgle/diinpx.h
- dcmimgle/include/dcmtk/dcmimgle/diluptab.h
- dcmimgle/include/dcmtk/dcmimgle/dimo1img.h
- dcmimgle/include/dcmtk/dcmimgle/dimo2img.h
- dcmimgle/include/dcmtk/dcmimgle/dimoimg.h
- dcmimgle/include/dcmtk/dcmimgle/dimomod.h
- dcmimgle/include/dcmtk/dcmimgle/dimoopx.h
- dcmimgle/include/dcmtk/dcmimgle/dimopx.h
- dcmimgle/include/dcmtk/dcmimgle/diobjcou.h
- dcmimgle/include/dcmtk/dcmimgle/diovdat.h
- dcmimgle/include/dcmtk/dcmimgle/diovlay.h
- dcmimgle/include/dcmtk/dcmimgle/diovlimg.h
- dcmimgle/include/dcmtk/dcmimgle/diovpln.h
- dcmimgle/include/dcmtk/dcmimgle/dipixel.h
- dcmimgle/include/dcmtk/dcmimgle/diplugin.h
- dcmimgle/include/dcmtk/dcmimgle/diregbas.h
- dcmimgle/include/dcmtk/dcmimgle/diutils.h
- dcmimgle/libsrc/CMakeLists.txt
-
-- Make it possible to accurately build dcmdata and libi2d as DLLs. Thanks to
- Thomas Sondergaard <ts@medical-insight.com> for his work.
- Added: dcmdata/include/dcmtk/dcmdata/dcdefine.h
- dcmdata/include/dcmtk/dcmdata/libi2d/i2define.h
- Affects: dcmdata/include/dcmtk/dcmdata/*
- dcmdata/include/dcmtk/dcmdata/libi2d/*
- dcmdata/libi2d/CMakeLists.txt
- dcmdata/libsrc/CMakeLists.txt
-
-- Make it possible to successfully build oflog as a DLL. Thanks to
- Thomas Sondergaard <ts@medical-insight.com> for his work.
- Affects: oflog/include/dcmtk/oflog/oflog.h
- oflog/include/dcmtk/oflog/config/win32.h
- oflog/libsrc/CMakeLists.txt
-
-- Make it possible to correctly build ofstd as a DLL. Thanks to
- Thomas Sondergaard <ts@medical-insight.com> for his work.
- Affects: CMake/osconfig.h.in
- CMakeLists.txt
- ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/include/dcmtk/ofstd/ofcmdln.h
- ofstd/include/dcmtk/ofstd/ofconapp.h
- ofstd/include/dcmtk/ofstd/ofcond.h
- ofstd/include/dcmtk/ofstd/ofconfig.h
- ofstd/include/dcmtk/ofstd/ofconsol.h
- ofstd/include/dcmtk/ofstd/ofcrc32.h
- ofstd/include/dcmtk/ofstd/ofdate.h
- ofstd/include/dcmtk/ofstd/ofdatime.h
- ofstd/include/dcmtk/ofstd/ofdefine.h
- ofstd/include/dcmtk/ofstd/offname.h
- ofstd/include/dcmtk/ofstd/oflist.h
- ofstd/include/dcmtk/ofstd/ofstack.h
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/include/dcmtk/ofstd/ofstring.h
- ofstd/include/dcmtk/ofstd/oftempf.h
- ofstd/include/dcmtk/ofstd/ofthread.h
- ofstd/include/dcmtk/ofstd/oftime.h
- ofstd/include/dcmtk/ofstd/oftimer.h
- ofstd/include/dcmtk/ofstd/ofuuid.h
- ofstd/include/dcmtk/ofstd/ofxml.h
- ofstd/libsrc/CMakeLists.txt
-
-- Always build static libraries on windows (for now).
- Affects: CMakeLists.txt
- dcmdata/libi2d/CMakeLists.txt
- dcmdata/libsrc/CMakeLists.txt
- dcmimage/libsrc/CMakeLists.txt
- dcmimgle/libsrc/CMakeLists.txt
- dcmjpeg/libijg12/CMakeLists.txt
- dcmjpeg/libijg16/CMakeLists.txt
- dcmjpeg/libijg8/CMakeLists.txt
- dcmjpeg/libsrc/CMakeLists.txt
- dcmjpls/libcharls/CMakeLists.txt
- dcmjpls/libsrc/CMakeLists.txt
- dcmnet/libsrc/CMakeLists.txt
- dcmpstat/libsrc/CMakeLists.txt
- dcmqrdb/libsrc/CMakeLists.txt
- dcmsign/libsrc/CMakeLists.txt
- dcmsr/libsrc/CMakeLists.txt
- dcmtls/libsrc/CMakeLists.txt
- dcmwlm/libsrc/CMakeLists.txt
- oflog/libsrc/CMakeLists.txt
- ofstd/libsrc/CMakeLists.txt
-
-**** Changes from 2011.12.12 (riesmeier)
-
-- Added missing header file for memcmp(), needed by gcc 4.4.3 on Linux. Thanks
- to Markus Mertens <markus.mertens@evkb.de> for the original issue report.
- Affects: ofstd/tests/Makefile.dep
- ofstd/tests/tuuid.cc
-
-**** Changes from 2011.12.09 (riesmeier)
-
-- Removed numerous explicit typecasts because they are not needed any longer.
- Affects: dcmsr/libsrc/dsrcsidl.cc
-
-- Fixed various comments (Doxygen documentation).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
-
-- Changed "module name" when checking an element value (now using the default).
- Affects: dcmsr/libsrc/dsrcodvl.cc
-
-- Rebuilt Makefile dependencies.
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/Makefile.dep
-
-- Added support for optional Purpose of Reference Code Sequence (0040,A170) to
- class DSRSOPInstanceReferenceList.
- Affects: dcmsr/data/dsr2xml.xsd
- dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrsoprf.cc
-
-- Use "defaultValue" parameter of dcmFindNameOfUID() where appropriate.
- Affects: dcmsr/libsrc/dsrcomvl.cc
- dcmsr/libsrc/dsrwavvl.cc
-
-- Added support for the Referenced Instance Sequence (0008,114A) introduced
- with CP-670 (Reference rendering of SR), which allows for referencing an
- equivalent CDA document or a rendering as an Encapsulated PDF document.
- Added: dcmsr/include/dcmtk/dcmsr/dsrrefin.h
- dcmsr/libsrc/dsrrefin.cc
- Affects: dcmsr/apps/Makefile.dep
- dcmsr/data/dsr2xml.xsd
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/libsrc/CMakeLists.txt
- dcmsr/libsrc/Makefile.dep
- dcmsr/libsrc/Makefile.in
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/tests/Makefile.dep
-
-- Fixed wrong checkConflict() call for option --add-schema-reference.
- Affects: dcmsr/apps/dsr2xml.cc
-
-- Output a warning message to the logger in case an offset cannot be resolved.
- Slightly modified the output of the DcmDicomDir::print() method.
- Affects: dcmdata/libsrc/dcdicdir.cc
-
-**** Changes from 2011.12.08 (riesmeier)
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/*
-
-**** Changes from 2011.12.07 (schlachter)
-
-- Updated the man page of dcm2xml.
- Affects: dcmdata/docs/dcm2xml.man
-
-- Use an UUID instead of an UID for the BulkData XML output.
- Affects: dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/dcvrobow.cc
- dcmdata/libsrc/dcvrof.cc
-
-- Could someone please hand me a brown paper bag?
- Affects: ofstd/include/dcmtk/ofstd/ofuuid.h
- ofstd/libsrc/ofuuid.cc
- ofstd/tests/tuuid.cc
-
-- Added a new class for generating Universally Unique Identifiers.
- Added: ofstd/include/dcmtk/ofstd/ofuuid.h
- ofstd/libsrc/ofuuid.cc
- ofstd/tests/tuuid.cc
- Affects: ofstd/libsrc/CMakeLists.txt
- ofstd/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.in
- ofstd/tests/CMakeLists.txt
- ofstd/tests/Makefile.dep
- ofstd/tests/Makefile.in
- ofstd/tests/tests.cc
-
-**** Changes from 2011.12.07 (riesmeier)
-
-- Various minor fixes to API documentation and other comments.
- Affects: ofstd/include/dcmtk/ofstd/ofuuid.h
-
-- Added explicit type cast to keep VisualStudio 2008 from moaning. Other fixes.
- Affects: ofstd/libsrc/ofuuid.cc
-
-- Changed order of attributes for XML element "DicomAttribute" in order to be
- consistent with the XML Schema given in the DICOM standard.
- Affects: dcmdata/libsrc/dcelem.cc
-
-**** Changes from 2011.12.06 (elgazzar)
-
-- Added const declaration to a parameter of findSOPInstance().
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-**** Changes from 2011.12.06 (riesmeier)
-
-- Updated outdated comment after the module's logger has been changed from a
- global function with a static variable to a global variable.
- Affects: dcmimage/libsrc/dilogger.cc
- dcmimgle/libsrc/diutils.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Enhanced handling and logging of some missing mandatory data elements.
- Affects: dcmimgle/libsrc/diimage.cc
- dcmimgle/libsrc/dimomod.cc
-
-**** Changes from 2011.12.05 (riesmeier)
-
-- Added workaround that treats the non-standard VR "OX" as "OW" when reading a
- DICOM dataset, since it seems to be used by some products out there.
- Thanks to Brad Jascob <bjascob@msn.com> for pointing this out.
- Affects: dcmdata/libsrc/dcitem.cc
-
-- Fixed a bug in DUL_RejectAssociationRQ() which always set the "Source" field
- of the ASSOCIATE-RJ PDU to 0x01 (DICOM UL service-user).
- Thanks to Thomas Puckett <puckett_thomas@hotmail.com> for the report.
- Affects: dcmnet/include/dcmtk/dcmnet/cond.h
- dcmnet/libsrc/dul.cc
-
-**** Changes from 2011.12.02 (riesmeier)
-
-- Made sure that the BulkData XML element is not written for empty values.
- Affects: dcmdata/libsrc/dcvrobow.cc
- dcmdata/libsrc/dcvrof.cc
-
-- Various fixes after first commit of the Native DICOM Model format support.
- Affects: dcmdata/apps/dcm2xml.cc
- dcmdata/docs/dcm2xml.man
- dcmdata/include/dcmtk/dcmdata/dctypes.h
- dcmdata/include/dcmtk/dcmdata/dcvrpn.h
- dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dcerror.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcmetinf.cc
- dcmdata/libsrc/dcsequen.cc
- dcmdata/libsrc/dcvrds.cc
- dcmdata/libsrc/dcvrobow.cc
- dcmdata/libsrc/dcvrpn.cc
- dcmdata/tests/tests.cc
- dcmdata/tests/tvrpn.cc
-
-- Added dedicated writeXML() method for OF elements because the VM is always 1.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrof.h
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/dcvrof.cc
-
-**** Changes from 2011.12.01 (onken)
-
-- Added support for Application Hosting's Native DICOM Model xml format
- to dcm2xml.
- Added: dcmdata/tests/tvrpn.cc
- Affects: dcmdata/apps/dcm2xml.cc
- dcmdata/docs/dcm2xml.man
- dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/include/dcmtk/dcmdata/dctypes.h
- dcmdata/include/dcmtk/dcmdata/dcvrpn.h
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dcerror.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcmetinf.cc
- dcmdata/libsrc/dcsequen.cc
- dcmdata/libsrc/dctypes.cc
- dcmdata/libsrc/dcvrds.cc
- dcmdata/libsrc/dcvrobow.cc
- dcmdata/libsrc/dcvrpn.cc
- dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.dep
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
-
-**** Changes from 2011.11.30 (elgazzar)
-
-- Added functions front() and back() to return const reference.
- Affects: ofstd/include/dcmtk/ofstd/oflist.h
-
-**** Changes from 2011.11.30 (schlachter)
-
-- Correctly clean up if libiconv was found but iconv.h wasn't.
- Affects: CMake/FindICONV.cmake
-
-- Fix for CMake 2.6 which doesn't support the ADD_TEST syntax used.
- Affects: CMakeLists.txt
- CMake/dcmtkAddTests.cmake
-
-- Don't overwrite the compiler flags if BUILD_SHARED_LIBS is set.
- Affects: CMakeLists.txt
-
-**** Changes from 2011.11.30 (riesmeier)
-
-- Added missing support for value type SCOORD3D (Spatial Coordinates 3D).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
- dcmsr/libsrc/dsrcitem.cc
-
-- Output date and time values in general header of print() method in a more
- readable way by using separators for the date and time components.
- Affects: dcmsr/libsrc/dsrdoc.c
-
-- Output optional observation date/time of each content item in print() method.
- Affects: dcmsr/libsrc/dsrdoctr.cc
-
-- Made setISOFormattedeTime() more robust with regard to input values. Fixed
- an issue with determining the local time zone (introduced with last commit).
- Affects: ofstd/libsrc/oftime.cc
-
-**** Changes from 2011.11.29 (riesmeier)
-
-- Enhanced some existing test cases and added two new OFDateTime tests.
- Affects: ofstd/tests/tofdatim.cc
-
-- Made setISOFormattedDateTime() more robust with regard to input values.
- Affects: ofstd/libsrc/ofdatime.cc
-
-- Added support for optional time zone to XML read/write methods of DT values.
- Thanks to forum user "dclunie" for the original report.
- Affects: dcmsr/data/dsr2xml.xsd
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdtitn.cc
-
-- Added support for optional "timeZoneSeparator" parameter to some get methods.
- Also removed some "hacks" that were needed for the old Sun CC 2.0.1 compiler.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrdt.h
- dcmdata/libsrc/dcvrdt.cc
-
-- Added new tests and also separated tests for OFDate, OFTime and OFDateTime.
- Affects: ofstd/tests/tests.cc
- ofstd/tests/tofdatim.cc
-
-- Added support for the optional time zone to setISOFormattedDateTime().
- Also removed some "hacks" that were needed for the old Sun CC 2.0.1 compiler.
- Affects: ofstd/include/dcmtk/ofstd/ofdatime.h
- ofstd/libsrc/ofdatime.cc
-
-- Added support for the optional time zone to setISOFormattedTime(). Also made
- sure that all time zones in the range of -12 to +14 are regarded as valid.
- Affects: ofstd/include/dcmtk/ofstd/oftime.h
- ofstd/libsrc/oftime.cc
-
-- Added optional "check" parameter to some further methods (not only "set").
- Also removed some "hacks" that were needed for the old Sun CC 2.0.1 compiler.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/libsrc/dsrdoc.cc
-
-**** Changes from 2011.11.28 (riesmeier)
-
-- Fixed issue with libxml version 2.7.3 (and above): The maximum length of XML
- element values was limited to 10 MB. This limit is now explicitly disabled.
- Affects: dcmdata/apps/xml2dcm.cc
- dcmdata/docs/xml2dcm.man
-
-- Added new option/mode that allows for sending all DICOM files referenced
- from a DICOMDIR without accessing the files for association negotiation.
- Thanks to forum user "Geof" for the initial idea.
- Affects: dcmnet/apps/dcmsend.cc
- dcmnet/docs/dcmsend.man
- dcmnet/include/dcmtk/dcmnet/dstorscu.h
- dcmnet/libsrc/dstorscu.cc
-
-- Reserve expected size of resulting string in order to reduce number of memory
- allocations in helper functions.
- Affects: dcmdata/libsrc/dcddirif.cc
-
-- Added general condition constant for invalid filenames.
- Affects: ofstd/include/dcmtk/ofstd/ofcond.h
- ofstd/libsrc/ofcond.cc
-
-**** Changes from 2011.11.25 (riesmeier)
-
-- Added note that the XML input file can also be compressed with ZIP if libxml
- has been compiled with ZLIB support (see --version output).
- Affects: dcmdata/apps/xml2dcm.cc
- dcmdata/docs/xml2dcm.man
- dcmsr/apps/xml2dsr.cc
- dcmsr/docs/xml2dsr.man
-
-- Added clarifying note on the maximum length of XML element values (introduced
- with libxml 2.7.3).
- Affects: dcmdata/docs/xml2dcm.man
- dcmsr/docs/xml2dsr.man
-
-- Output --version information whether LIBICONV support is included in LIBXML.
- Affects: dcmdata/apps/xml2dcm.cc
- dcmsr/apps/xml2dsr.cc
-
-**** Changes from 2011.11.24 (riesmeier)
-
-- Handle an empty element/input value as a special case in the "convert to ISO
- format" methods, i.e. the resulting string is cleared and no error reported.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrda.h
- dcmdata/include/dcmtk/dcmdata/dcvrdt.h
- dcmdata/include/dcmtk/dcmdata/dcvrtm.h
- dcmdata/libsrc/dcvrda.cc
- dcmdata/libsrc/dcvrdt.cc
- dcmdata/libsrc/dcvrtm.cc
-
-- Made get/set methods consistent with upcoming DCMRT module, i.e. all methods
- now return a status code, the get methods provide a "pos" and the set methods
- a "check" parameter. Please note that this is an incompatible API change!
- Affects: dcmpstat/libsrc/dviface.cc
- dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsr2xml.cc
- dcmsr/include/dcmtk/dcmsr/dsrdoc.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Made all public methods "virtual" in order to better support derived classes.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
-
-- Minor fixes to also compile with VisualStudio 2008 on Windows systems.
- Affects: ofstd/include/dcmtk/ofstd/ofxml.h
-
-- Added first version of a simple non-validating XML parser written by Frank
- Vanden Berghen. This parser is intended to be used for configuration files
- and the like. Therefore, it is integrated into the DCMTK (unlike libxml2).
- Added: ofstd/include/dcmtk/ofstd/ofxml.h
- ofstd/libsrc/ofxml.cc
- ofstd/tests/tests.cc
- ofstd/tests/txml.cc
- Affects: COPYRIGHT
- ofstd/libsrc/CMakeLists.txt
- ofstd/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.in
- ofstd/tests/CMakeLists.txt
- ofstd/tests/Makefile.dep
- ofstd/tests/Makefile.in
-
-- Moved implementation of putOFStringArray() from DcmByteString to DcmElement.
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcelem.h
- dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dcelem.cc
-
-**** Changes from 2011.11.23 (schlachter)
-
-- Change ADD_TEST() call so that we get the full path to the test driver.
- Affects: CMake/dcmtkAddTests.cmake
-
-- Remove a Latin-1 encoded umlaut from the source.
- Affects: dcmdata/include/dcmtk/dcmdata/dcdirrec.h
-
-**** Changes from 2011.11.21 (riesmeier)
-
-- Moved log message on transfer syntax from DcmItem to DcmDataset/DcmMetaInfo.
- Affects: dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcmetinf.cc
-
-- Output message to debug logger when value of --charset-assume is not needed.
- Affects: dcmdata/apps/dcm2xml.cc
-
-- Improved log messages on transfer syntaxes and file meta information.
- Affects: dcmdata/libsrc/dcddirif.cc
-
-**** Changes from 2011.11.17 (riesmeier)
-
-- Fixed warning on declaration of local variable shadowing a previous local.
- Affects: dcmdata/apps/dcm2xml.cc
-
-- Minor fixes to keep XCode 4.2 on Mac OS X Lion (clang compiler) quiet.
- Thanks to Daniele Giunchi <d.giunchi@scsitaly.com> for the suggested patch.
- Affects: dcmimage/include/dcmtk/dcmimage/diargpxt.h
- dcmimage/include/dcmtk/dcmimage/dicmypxt.h
- dcmimage/include/dcmtk/dcmimage/dicocpt.h
- dcmimage/include/dcmtk/dcmimage/dicoflt.h
- dcmimage/include/dcmtk/dcmimage/dicorot.h
- dcmimage/include/dcmtk/dcmimage/dicosct.h
- dcmimage/include/dcmtk/dcmimage/dihsvpxt.h
- dcmimage/include/dcmtk/dcmimage/dipalpxt.h
- dcmimage/include/dcmtk/dcmimage/dirgbpxt.h
- dcmimage/include/dcmtk/dcmimage/diybrpxt.h
- dcmimage/include/dcmtk/dcmimage/diyf2pxt.h
- dcmimage/include/dcmtk/dcmimage/diyp2pxt.h
- dcmimgle/include/dcmtk/dcmimgle/diflipt.h
- dcmimgle/include/dcmtk/dcmimgle/dimoflt.h
- dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h
- dcmimgle/include/dcmtk/dcmimgle/dimorot.h
- dcmimgle/include/dcmtk/dcmimgle/dimosct.h
- dcmimgle/include/dcmtk/dcmimgle/dirotat.h
- dcmimgle/include/dcmtk/dcmimgle/discalet.h
- ofstd/include/dcmtk/ofstd/ofoset.h
- ofstd/libsrc/ofchrenc.cc
-
-- Slightly modified code in order to avoid the use of the OFCondition default
- constructor.
- Affects: dcmdata/libsrc/dcdicdir.cc
- dcmdata/libsrc/dcpath.cc
-
-- Define WIN32_LEAN_AND_MEAN in order to avoid unneeded header file inclusions
- caused by "windows.h".
- Affects: ofstd/libsrc/oftimer.cc
- ofstd/libsrc/ofcmdln.cc
-
-- Made sure that the new OFTempFile class also compiles on Windows.
- Affects: ofstd/libsrc/oftempf.cc
-
-- Made sure that the OFCondition member variable gets initialized in the
- constructor. Thanks to Markus Mertens <markus.mertens@uni-muenster.de> for
- the original issue report.
- Affects: ofstd/libsrc/oftempf.cc
-
-**** Changes from 2011.11.16 (schlachter)
-
-- Corrected my broken Makefile.dep change.
- Affects: ofstd/libsrc/Makefile.dep
-
-- Added a new class for managing temporary files.
- Added: ofstd/include/dcmtk/ofstd/oftempf.h
- ofstd/libsrc/oftempf.cc
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/include/dcmtk/dcmdata/dcdicdir.h
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/dcdicdir.cc
- dcmdata/tests/Makefile.dep
- dcmdata/tests/tparser.cc
- ofstd/include/dcmtk/ofstd/ofcond.h
- ofstd/libsrc/CMakeLists.txt
- ofstd/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.in
- ofstd/libsrc/ofcond.cc
-
-- Fixed and improved CMake's libiconv and libcharset detection.
- Added: CMake/FindCharset.cmake
- Affects: CMake/3rdparty.cmake
- CMake/FindICONV.cmake
- CMake/dcmtkTryCompile.cmake
-
-**** Changes from 2011.11.15 (riesmeier)
-
-- Added check that specified input directory really exists. Also made sure that
- directories are ignored as parameters if option --recurse is not set.
- Affects: dcmdata/apps/dcmgpdir.cc
-
-- Moved command line option --output-file to the "output options" section.
- Affects: dcmdata/apps/dcmgpdir.cc
- dcmdata/docs/dcmgpdir.man
- dcmjpeg/docs/dcmmkdir.man
-
-- Added support for the following standard headers: locale, map, memory, vector
- Affects: ofstd/include/dcmtk/ofstd/ofstdinc.h
- ofstd/libsrc/ofconapp.cc
-
-- Output information to debug logger when skipping application segments (APPn).
- Also added explicit type cast to integer variables when output to the logger.
- Affects: dcmdata/libi2d/i2djpgs.cc
-
-- Added regression tests for class DcmUniqueIdentifier.
- Added: dcmdata/tests/tvrui.cc
- Affects: dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
-
-**** Changes from 2011.11.14 (riesmeier)
-
-- Slightly improved API documentation on containsExtendedCharacters() and
- isAffectedBySpecificCharacterSet().
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcchrstr.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcsequen.h
-
-- Fixed typo in comment. Also fixed wrong application name.
- Thanks to Michal Spacek <tupinek@gmail.com> for the report and fix.
- Affects: dcmqrdb/etc/dcmqrscp.cfg
-
-**** Changes from 2011.11.11 (riesmeier)
-
-- Updated information on latest CMake version that has been tested to "2.8.6".
- Affects: CMakeLists.txt
-
-- Added support for retrieving Rescale Slope/Intercept from the Shared
- Functional Groups Sequence (as used in many Enhanced Image IODs).
- Affects: dcmimgle/libsrc/dimomod.cc
-
-- Changed optional DcmObject* parameter into DcmItem* and added this optional
- parameter to some further getValue() methods.
- Affects: dcmimgle/include/dcmtk/dcmimgle/didocu.h
- dcmimgle/include/dcmtk/dcmimgle/diluptab.h
- dcmimgle/libsrc/didocu.cc
- dcmimgle/libsrc/diluptab.cc
-
-**** Changes from 2011.11.10 (riesmeier)
-
-- Fixed missing path separator issues in CMake configuration file.
- Thanks to Michal Spacek <tupinek@gmail.com> for the original report.
- Affects: CMake/GenerateDCMTKConfigure.cmake
-
-- Fixed a couple of typos in comments and made some parameters "const".
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.cc
-
-**** Changes from 2011.11.09 (riesmeier)
-
-- Changed the way option --charset-assume works. Now, the DICOM defined term
- for the character set has to be used (old values are still supported). This
- makes sure that this option can be used together with --convert-to-utf8.
- Affects: dcmdata/apps/dcm2xml.cc
- dcmdata/docs/dcm2xml.man
- dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsr2xml.cc
- dcmsr/docs/dsr2html.man
- dcmsr/docs/dsr2xml.man
-
-- Avoid wrong error message / status code that a conversion descriptor cannot
- be closed when libiconv is not available.
- Affects: ofstd/libsrc/ofchrenc.cc
-
-- Renamed the new option "--convert-to-latin-1" to "--convert-to-latin1".
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/docs/dcmconv.man
-
-- Made sure that "ISO_IR 6" is never written as the defined term for ASCII.
- Affects: dcmsr/libsrc/dsrtypes.cc
-
-**** Changes from 2011.11.09 (schlachter)
-
-- Added a destructor to DcmQueryRetrieveConfig.
- Thanks to forum user "st80rules" for reporting these memleaks.
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h
- dcmqrdb/libsrc/dcmqrcnf.cc
-
-- Changed the default for external libraries to be enabled if found.
- Affects: CMakeLists.txt
-
-- Made sure the recent changes work correctly with CMake GUIs.
- Affects: CMake/3rdparty.cmake
-
-- Fixed warnings from -Weffc++ and OFPair<OFString, void*>.
- Affects: ofstd/include/dcmtk/ofstd/ofmap.h
-
-- Added support for detecting iconv on non-Windows platforms.
- Added: CMake/FindICONV.cmake
- Affects: CMakeLists.txt
- CMake/3rdparty.cmake
- dcmdata/apps/CMakeLists.txt
-
-**** Changes from 2011.11.08 (riesmeier)
-
-- Added support for converting files, datasets and element values to any DICOM
- character set that does not require code extension techniques (if compiled
- with and supported by libiconv), not only to UTF-8 as before.
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/docs/dcmconv.man
- dcmdata/include/dcmtk/dcmdata/dcchrstr.h
- dcmdata/include/dcmtk/dcmdata/dcdatset.h
- dcmdata/include/dcmtk/dcmdata/dcdirrec.h
- dcmdata/include/dcmtk/dcmdata/dcfilefo.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcobject.h
- dcmdata/include/dcmtk/dcmdata/dcsequen.h
- dcmdata/include/dcmtk/dcmdata/dcspchrs.h
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/dcchrstr.cc
- dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcobject.cc
- dcmdata/libsrc/dcsequen.cc
- dcmdata/libsrc/dcspchrs.cc
- dcmdata/tests/tests.cc
- dcmdata/tests/tspchrs.cc
-
-**** Changes from 2011.11.07 (riesmeier)
-
-- Fixed problematical typo in a comment ("get" -> "set").
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
-
-**** Changes from 2011.11.03 (riesmeier)
-
-- Output the current locale's character encoding together with the host type.
- This info is shown when calling a command line tool with option --version.
- Affects: ofstd/include/dcmtk/ofstd/ofconapp.h
- ofstd/libsrc/ofconapp.cc
- dcmdata/libsrc/Makefile.in
-
-- Added support for CP-1147, which reintroduces ObservationUID (0040,A171).
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2011.11.02 (riesmeier)
-
-- Added two new tests for checking the correct handling of delimiters.
- Affects: dcmdata/tests/tspchrs.cc
-
-- Fixed minor issue with wrong/insufficient log output in case of delimiters.
- Affects: dcmdata/libsrc/dcspchrs.cc
-
-- Added new command line option for converting a DICOM file/dataset to UTF-8.
- Also fixed some small inconsistencies regarding the character set handling.
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/apps/dcm2xml.cc
- dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmdump.cc
- dcmdata/docs/dcm2xml.man
- dcmdata/docs/dcmdump.man
- dcmsr/apps/Makefile.dep
- dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsr2xml.cc
- dcmsr/apps/dsrdump.cc
- dcmsr/docs/dsr2html.man
- dcmsr/docs/dsr2xml.man
- dcmsr/docs/dsrdump.man
-
-- Fixed issue with UI values not being properly normalized in getOFString().
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcvrui.h
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dcvrui.cc
-
-- Fixed minor inconsistencies regarding documentation and formatting.
- Affects: dcmdata/apps/dcmconv.cc
-
-- Rebuilt Makefile dependencies.
- Affects: dcmdata/tests/Makefile.dep
-
-- Added missing notes section on "Scanning Directories".
- Affects: dcmjpeg/docs/dcmmkdir.man
-
-- Added note on "directory to be scanned" to the "dcmfile-in" parameter.
- Affects: dcmdata/apps/dcmgpdir.cc
- dcmdata/docs/dcmgpdir.man
-
-- Slightly revised notes section on "Scanning Directories".
- Affects: dcmdata/docs/dcmdump.man
- dcmdata/docs/dcmgpdir.man
- dcmnet/docs/dcmsend.man
- dcmnet/docs/storescu.man
-
-- Slightly restructured command line options and introduced new subsections.
- Affects: dcmdata/apps/dcmdump.cc
- dcmdata/docs/dcmdump.man
-
-**** Changes from 2011.11.01 (onken)
-
-- Added section regarding directory scanning, especially to make clear how to
- work with the accompanying file pattern option.
- Affects: dcmdata/docs/dcmdump.man
- dcmdata/docs/dcmgpdir.man
- dcmnet/docs/dcmsend.man
- dcmnet/docs/storescu.man
-
-**** Changes from 2011.11.01 (schlachter)
-
-- Fixed CMake's output while running compile tests.
- Affects: CMake/dcmtkTryCompile.cmake
-
-- Fixed the test for pthread_t being a pointer type.
- Affects: CMake/GenerateDCMTKConfigure.cmake
-
-**** Changes from 2011.11.01 (riesmeier)
-
-- Added support for code extensions (escape sequences) according to ISO 2022
- to the character set conversion code.
- Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h
- dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/include/dcmtk/dcmdata/dcspchrs.h
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/dcchrstr.cc
- dcmdata/libsrc/dcerror.cc
- dcmdata/libsrc/dcspchrs.cc
- dcmdata/libsrc/dcvrlo.cc
- dcmdata/libsrc/dcvrpn.cc
- dcmdata/libsrc/dcvrsh.cc
- dcmdata/tests/tests.cc
- dcmdata/tests/tspchrs.cc
-
-- Fixed source code formatting and typo in a comment.
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/libsrc/dcbytstr.cc
-
-- Fixed typo in a comment.
- Affects: ofstd/tests/tmap.cc
-
-- Fixed wrong comment on return value of method convertToOctalString().
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
-
-**** Changes from 2011.10.28 (riesmeier)
-
-- Restructured code of OFCharacterEncoding in order to allow particular classes
- to access more low-level functions, e.g. for opening multiple conversion
- descriptors at the same time. This will be needed for ISO 2022 support.
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/include/dcmtk/ofstd/ofcond.h
- ofstd/libsrc/ofchrenc.cc
- ofstd/libsrc/ofcond.cc
-
-- Added OFCharacterEncoding to the list of "further classes of interest".
- Affects: ofstd/docs/ofstd.dox
-
-- Minor stylistic changes regarding parameter declaration and documentation.
- Affects: dcmdata/include/dcmtk/dcmdata/dcpath.h
- dcmdata/libsrc/dcpath.cc
-
-**** Changes from 2011.10.27 (riesmeier)
-
-- Made sure that the character set conversion code (incl. checking the option)
- is only compiled when the WITH_LIBICONV macro is defined.
- Affects: dcmdata/apps/dcmconv.cc
-
-- Added libiconv to all "apps" that depend on dcmdata to avoid linker errors.
- Affects: dcmdata/apps/CMakeLists.txt
- dcmdata/apps/Makefile.in
- dcmdata/tests/Makefile.in
- dcmimage/apps/CMakeLists.txt
- dcmimage/apps/Makefile.in
- dcmimgle/apps/CMakeLists.txt
- dcmimgle/apps/Makefile.in
- dcmjpeg/apps/CMakeLists.txt
- dcmjpeg/apps/Makefile.in
- dcmjpls/apps/CMakeLists.txt
- dcmjpls/apps/Makefile.in
- dcmnet/apps/CMakeLists.txt
- dcmnet/apps/Makefile.in
- dcmpstat/apps/CMakeLists.txt
- dcmpstat/apps/Makefile.in
- dcmpstat/tests/Makefile.in
- dcmqrdb/apps/CMakeLists.txt
- dcmqrdb/apps/Makefile.in
- dcmsign/apps/CMakeLists.txt
- dcmsign/apps/Makefile.in
- dcmsr/apps/CMakeLists.txt
- dcmsr/apps/Makefile.in
- dcmsr/tests/CMakeLists.txt
- dcmsr/tests/Makefile.in
- dcmwlm/apps/CMakeLists.txt
- dcmwlm/apps/Makefile.in
- dcmwlm/tests/Makefile.in
- dcmwlm/wwwapps/CMakeLists.txt
- dcmwlm/wwwapps/Makefile.in
- ofstd/tests/CMakeLists.txt
-
-- Removed superfluous tab character from definition of compiler call.
- Affects: config/Makefile.def.in
-
-**** Changes from 2011.10.27 (schlachter)
-
-- Use existing code for extracting directory name from a path.
- Affects: dcmdata/libsrc/dcdicdir.cc
-
-- Added new macro for trying to compile C++ source code.
- Added: CMake/dcmtkTryCompile.cmake
- Removed: CMake/dcmtkTestBoolType.cc
- CMake/dcmtkTestCharPStrerror.cc
- CMake/dcmtkTestNameTooLong.cc
- CMake/dcmtkTestPThreadType.cc
- CMake/dcmtkTestSelectIntP.cc
- CMake/dcmtkTestSocketIntP.cc
- CMake/dcmtkTestStdIosNocreate.cc
- CMake/dcmtkTestTypename.cc
- CMake/dcmtkTestVariableLengthArrays.cc
- Affects: CMake/GenerateDCMTKConfigure.cmake
-
-- Dropped some unused prototypes for mktemp() and mkstemp().
- Affects: dcmnet/apps/storescp.cc
-
-- Added rpaths to configure which can be disabled via --disable-rpath.
- Affects: config/aclocal.m4
- config/configure
-
-- Fixed some compiler warnings when libiconv was not found.
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/ofchrenc.cc
-
-- Ported recent change to configure into the correct file.
- Affects: config/rootconf
-
-**** Changes from 2011.10.26 (riesmeier)
-
-- Added new command line option for converting a DICOM file/dataset to UTF-8.
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/apps/dcmconv.cc
- dcmdata/docs/dcmconv.man
-
-- Added method that allows for converting a dataset or element value to UTF-8.
- Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h
- dcmdata/include/dcmtk/dcmdata/dcdatset.h
- dcmdata/include/dcmtk/dcmdata/dcdirrec.h
- dcmdata/include/dcmtk/dcmdata/dcfilefo.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcobject.h
- dcmdata/include/dcmtk/dcmdata/dcsequen.h
- dcmdata/libsrc/dcchrstr.cc
- dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcobject.cc
- dcmdata/libsrc/dcsequen.cc
-
-- Added helper class for converting between different DICOM character sets.
- This initial version only supports the conversion to UTF-8 (Unicode) and only
- from DICOM characters sets without code extension techniques (i.e. ISO 2022).
- Added: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
- dcmdata/libsrc/dcspchrs.cc
- dcmdata/tests/tspchrs.cc
- Affects: dcmdata/apps/CMakeLists.txt
- dcmdata/apps/Makefile.in
- dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/Makefile.in
- dcmdata/libsrc/dcerror.cc
- dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.dep
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
-
-**** Changes from 2011.10.25 (riesmeier)
-
-- Be prepared that older versions of locale_charset() might return NULL.
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/ofchrenc.cc
-
-- Added new convert method that accepts a C string and its length as input.
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/ofchrenc.cc
- ofstd/tests/tchrenc.cc
-
-**** Changes from 2011.10.24 (riesmeier)
-
-- Added static method counting the characters in a given UTF-8 string.
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/ofchrenc.cc
- ofstd/tests/tchrenc.cc
- ofstd/tests/tests.cc
-
-- Changed name of status code constant for "illegal character encoding".
- Affects: ofstd/include/dcmtk/ofstd/ofcond.h
- ofstd/libsrc/ofchrenc.cc
- ofstd/libsrc/ofcond.cc
-
-- Made sure that iconvctl() is really supported by the libiconv toolkit.
- Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/ofchrenc.cc
- ofstd/tests/tchrenc.cc
-
-- Removed outdated comment that the "implementation of sigmoid transformation
- is still missing".
- Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
-
-**** Changes from 2011.10.23 (riesmeier)
-
-- Removed reference to libiconv header file "localcharset.h".
- Affects: ofstd/libsrc/Makefile.dep
-
-**** Changes from 2011.10.21 (riesmeier)
-
-- Added class for managing and converting between different character encodings
- based on the libiconv toolkit.
- Added: ofstd/include/dcmtk/ofstd/ofchrenc.h
- ofstd/libsrc/ofchrenc.cc
- ofstd/tests/tchrenc.cc
- Affects: CMakeLists.txt
- INSTALL
- CMake/3rdparty.cmake
- CMake/osconfig.h.in
- config/Makefile.def.in
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- doxygen/htmldocs.cfg
- ofstd/include/dcmtk/ofstd/ofcond.h
- ofstd/libsrc/CMakeLists.txt
- ofstd/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.in
- ofstd/libsrc/ofcond.cc
- ofstd/tests/CMakeLists.txt
- ofstd/tests/Makefile.dep
- ofstd/tests/Makefile.in
- ofstd/tests/tests.cc
-
-- Fixed some log messages.
- Affects: dcmdata/apps/dcm2xml.cc
- dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsr2xml.cc
- dcmsr/apps/xml2dsr.cc
-
-- Minor fix to keep VisualStudio from moaning.
- Affects: dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dcvrds.cc
-
-**** Changes from 2011.10.21 (schlachter)
-
-- Improved the handling of some configure options.
- Affects: config/aclocal.m4
- config/configure
- config/configure.in
-
-- Don't define a static version of isatty() since it seems to be not needed.
- Affects: dcmdata/libsrc/vrscanl.c
- dcmdata/libsrc/vrscanl.h
- dcmdata/libsrc/vrscanl.l
-
-**** Changes from 2011.10.20 (schlachter)
-
-- Disable option checking in individual module's configure scripts.
- Affects: config/confmod
- config/confmod.in
-
-- Abort if a module's configure script fails.
- Affects: configure
-
-**** Changes from 2011.10.19 (riesmeier)
-
-- Fixed unexpected behavior of getOFString() method when called for an empty
- element value. Thanks to forum user "aprogrammer" for the original report.
- Affects: dcmdata/libsrc/dcbytstr.cc
-
-- Fixed some typos and other minor issues regarding the comments.
- Affects: ofstd/include/dcmtk/ofstd/ofaptr.h
- dcmnet/include/dcmtk/dcmnet/dstorscu.h
-
-**** Changes from 2011.10.18 (riesmeier)
-
-- Removed global helper functions that were replaced in a previously commit.
- Removed: dcmdata/include/dcmtk/dcmdata/dcvm.h
- dcmdata/libsrc/dcvm.cc
- Affects: dcmdata/apps/Makefile.dep
- dcmdata/include/dcmtk/dcmdata/dctk.h
- dcmdata/include/dcmtk/dcmdata/dcvr.h
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/libsrc/Makefile.dep
- dcmdata/libsrc/Makefile.in
- dcmdata/tests/Makefile.dep
- dcmimage/apps/Makefile.dep
- dcmimgle/apps/Makefile.dep
- dcmimgle/libsrc/Makefile.dep
- dcmjpeg/apps/Makefile.dep
- dcmjpls/apps/Makefile.dep
- dcmnet/apps/Makefile.dep
- dcmnet/libsrc/Makefile.dep
- dcmpstat/apps/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmsign/apps/Makefile.dep
- dcmsr/apps/Makefile.dep
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/Makefile.dep
- dcmtls/libsrc/Makefile.dep
-
-- Rebuilt Makefile dependencies.
- Affects: dcmpstat/tests/Makefile.dep
- dcmqrdb/apps/Makefile.dep
- dcmqrdb/libsrc/Makefile.dep
- dcmwlm/apps/Makefile.dep
- dcmwlm/libsrc/Makefile.dep
- dcmwlm/wwwapps/Makefile.dep
-
-- Added test program for various "string value" methods.
- Added: dcmdata/tests/tstrval.cc
- Affects: dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
-
-- Added support for embedded NULL bytes in string element values.
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcchrstr.h
- dcmdata/include/dcmtk/dcmdata/dcelem.h
- dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/include/dcmtk/dcmdata/dcvrat.h
- dcmdata/include/dcmtk/dcmdata/dcvrfd.h
- dcmdata/include/dcmtk/dcmdata/dcvrfl.h
- dcmdata/include/dcmtk/dcmdata/dcvrobow.h
- dcmdata/include/dcmtk/dcmdata/dcvrsl.h
- dcmdata/include/dcmtk/dcmdata/dcvrss.h
- dcmdata/include/dcmtk/dcmdata/dcvrui.h
- dcmdata/include/dcmtk/dcmdata/dcvrul.h
- dcmdata/include/dcmtk/dcmdata/dcvrus.h
- dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dcchrstr.cc
- dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcvrat.cc
- dcmdata/libsrc/dcvrds.cc
- dcmdata/libsrc/dcvrfd.cc
- dcmdata/libsrc/dcvrfl.cc
- dcmdata/libsrc/dcvrobow.cc
- dcmdata/libsrc/dcvrsl.cc
- dcmdata/libsrc/dcvrss.cc
- dcmdata/libsrc/dcvrui.cc
- dcmdata/libsrc/dcvrul.cc
- dcmdata/libsrc/dcvrus.cc
- dcmdata/tests/tvrds.cc
-
-- Removed redundant variable declaration that shadowed a previous local
- (reported by gcc with additional warning flags).
- Affects: dcmnet/apps/movescu.cc
-
-**** Changes from 2011.10.17 (riesmeier)
-
-- Made sure that non-ASCII characters are quoted appropriately if the Specific
- Character Set is not supported.
- Affects: dcmdata/apps/dcm2xml.cc
-
-- Added writeXML() flag that allows for converting all non-ASCII characters.
- Affects: dcmdata/include/dcmtk/dcmdata/dctypes.h
- dcmdata/libsrc/dcelem.cc
- dcmdata/libsrc/dctypes.cc
- dcmdata/libsrc/dcvrds.cc
-
-**** Changes from 2011.10.14 (schlachter)
-
-- Fixed a minor memory leak in the base64 test.
- Affects: ofstd/tests/tbase64.cc
-
-- Fixed a memory leak due to unjoined threads.
- Affects: ofstd/tests/tthread.cc
-
-**** Changes from 2011.10.14 (riesmeier)
-
-- Replaced the "o umlaut" encoded in ISO 8859-1 with its octal representation.
- Affects: ofstd/tests/tmarkup.cc
-
-- Do not delete "htmldocs.tmp" and "manpages.tmp" during "make clean" since
- these files are only (re)generated during configure.
- Affects: doxygen/CMakeLists.txt
-
-**** Changes from 2011.10.13 (riesmeier)
-
-- Use putOFStringArray() instead of putString() where appropriate.
- Affects: dcmdata/apps/xml2dcm.cc
- dcmdata/libsrc/dcvrda.cc
- dcmdata/libsrc/dcvrdt.cc
- dcmdata/libsrc/dcvrpn.cc
- dcmdata/libsrc/dcvrtm.cc
-
-- Commented out 2nd test since the required "dcmdata" method is not yet there.
- Affects: dcmdata/tests/tvrds.cc
-
-- Enhanced documentation in case more than one input file is given.
- Affects: dcmpstat/docs/dcmpsmk.man
-
-- Added tests for class DcmDecimalString, especially for getFloat64Vector().
- Added: dcmdata/tests/tvrds.cc
- Affects: dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.dep
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
-
-**** Changes from 2011.10.12 (riesmeier)
-
-- Use CMake variable DOXYGEN_DATA_DIR in order to reference the CSS file.
- Affects: doxygen/htmldocs.cfg
-
-- Added new command line option that quotes non-ASCII and control chars as
- octal numbers.
- Affects: dcmdata/apps/dcmdump.cc
- dcmdata/docs/dcmdump.man
-
-- Added new print() flag that allows for converting non-ASCII and control
- characters to their octal representation ('\ooo').
- Affects: dcmdata/include/dcmtk/dcmdata/dctypes.h
- dcmdata/libsrc/dcbytstr.cc
- dcmdata/libsrc/dctypes.cc
-
-- Added methods for converting non-ASCII and control characters to their octal
- representation, i.e. to '\ooo' where 'ooo' are the three octal digits.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-- Added tests for convertToMarkupString() method.
- Added: ofstd/tests/tmarkup.cc
- Affects: ofstd/tests/CMakeLists.txt
- ofstd/tests/Makefile.dep
- ofstd/tests/Makefile.in
- ofstd/tests/tests.cc
-
-- Added support for strings containing NULL bytes to "convert to markup"
- methods. Also added optional parameter for specifying the maximum length.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-**** Changes from 2011.10.11 (riesmeier)
-
-- Made methods card() and cardSub() const.
- Affects: dcmdata/include/dcmtk/dcmdata/dcdirrec.h
- dcmdata/include/dcmtk/dcmdata/dcsequen.h
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcsequen.cc
-
-- Added content of "doxygen.css" to the modified style sheet since the standard
- CSS is not copied to the output directory if replaced by a user-defined CSS.
- Affects: doxygen/htmldocs.css
-
-- Added extra newline in order to make sure that the "\if ... \endif" blocks
- still work correctly with the new Doxygen version.
- Affects: doxygen/htmldocs.dox
-
-- Sort classes by fully-qualified names, including namespaces.
- Affects: doxygen/htmldocs.cfg
-
-- Updated Doxygen configuration files for latest release version 1.7.5.1.
- As a result, the output in HTML format also changed at little.
- Added: doxygen/htmldocs.css
- Affects: doxygen/htmldocs.cfg
- doxygen/manpages.cfg
-
-**** Changes from 2011.10.11 (schlachter)
-
-- Move OFFileNameCreator::myrand_r to class OFStandard.
- Affects: dcmimage/libsrc/diqtfs.cc
- ofstd/include/dcmtk/ofstd/offname.h
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/offname.cc
- ofstd/libsrc/ofstd.cc
-
-- Made sure that makeFilename() influences the caller's seed.
- Affects: ofstd/include/dcmtk/ofstd/offname.h
- ofstd/libsrc/offname.cc
-
-- Renamed myrand_r(int*) a to rand_r(int&).
- Affects: dcmimage/libsrc/Makefile.dep
- dcmimage/libsrc/diqtfs.cc
- ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/Makefile.dep
- ofstd/libsrc/offname.cc
- ofstd/libsrc/ofstd.cc
-
-- Switched to autoconf 2.68.
- Affects: config/aclocal.m4
- config/autoall
- config/configure
- config/configure.in
- config/confmod
- config/include/dcmtk/config/osconfig.h.in
-
-**** Changes from 2011.10.10 (schlachter)
-
-- Replaced the old OFM_imagectn with OFM_dcmqrdb and OFM_dcmqrdbx.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-- Slightly improved the error condition names and definition.
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h
- dcmqrdb/libsrc/dcmqrcbm.cc
- dcmqrdb/libsrc/dcmqrdbi.cc
- dcmqrdb/libsrc/dcmqropt.cc
-
-- Moved SCU-specific error condition to the correct place.
- Affects: dcmnet/include/dcmtk/dcmnet/cond.h
- dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/cond.cc
- dcmnet/libsrc/scu.cc
-
-- Discard all console output in inetd mode.
- Affects: dcmnet/apps/storescp.cc
- dcmnet/docs/storescp.man
-
-**** Changes from 2011.10.10 (riesmeier)
-
-- Added output stream operator in order to use different time units depending
- on the value range, i.e. "ms", "s", "m" and "h".
- Affects: ofstd/include/dcmtk/ofstd/oftimer.h
- ofstd/libsrc/oftimer.cc
-
-- Moved implementation from header to source file in order to avoid unwanted
- header file inclusion.
- Added: ofstd/libsrc/oftimer.cc
- Affects: ofstd/include/dcmtk/ofstd/oftimer.h
- ofstd/libsrc/CMakeLists.txt
- ofstd/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.in
-
-- Added missing DIMSE-N status code "Attribute Value out of Range" (0116h) used
- for Print Management. Thanks to forum user "Yves Neumann" for the report.
- Affects: dcmnet/include/dcmtk/dcmnet/dimse.h
- dcmnet/libsrc/dimdump.cc
- dcmnet/libsrc/diutil.cc
-
-- Fixed some other small inconsistencies regarding the DIMSE status codes.
- Affects: dcmnet/include/dcmtk/dcmnet/dimse.h
- dcmnet/libsrc/dimdump.cc
- dcmnet/libsrc/diutil.cc
-
-**** Changes from 2011.10.07 (elgazzar)
-
-- Fixed source code bug in the sendActionResponse() function.
- Affects: dcmnet/libsrc/scp.cc
-
-**** Changes from 2011.10.07 (riesmeier)
-
-- Added explaining sentence to the NOTES section that specifying multiple query
- files results in sending multiple C-GET request to the SCP.
- Affects: dcmnet/docs/getscu.man
-
-- Added explaining sentence to the NOTES section that specifying multiple query
- files results in sending multiple C-FIND request to the SCP.
- Affects: dcmnet/docs/findscu.man
-
-- Added explaining sentence to the NOTES section that specifying multiple query
- files results in sending multiple C-MOVE request to the SCP.
- Affects: dcmnet/docs/movescu.man
-
-- Fixed typo in comments introduced with a recent commit.
- Affects: CMake/osconfig.h.in
-
-**** Changes from 2011.10.06 (riesmeier)
-
-- On non-Windows systems, make sure that the pre-defined man pages (shipped
- with this package) are installed if not re-generated by Doxygen.
- Affects: doxygen/CMakeLists.txt
-
-- Now also SOP instances from DICOM datasets can be added to the transfer list.
- This allows for sending datasets created or received in memory.
- Affects: dcmnet/include/dcmtk/dcmnet/cond.h
- dcmnet/include/dcmtk/dcmnet/dstorscu.h
- dcmnet/libsrc/cond.cc
- dcmnet/libsrc/dstorscu.cc
-
-- Removed unused local variable.
- Affects: dcmnet/libsrc/scp.cc
-
-- Added new method compactElements() for compacting all elements which exceed
- a given length and which can be loaded from file when needed again.
- Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/libsrc/dcitem.cc
-
-- Output some useful information to the DEBUG logger when compacting a value.
- Affects: dcmdata/libsrc/dcelem.cc
-
-- Replaced remaining tabs by spaces.
- Affects: dcmdata/include/dcmtk/dcmdata/dcobject.h
-
-**** Changes from 2011.10.05 (elgazzar)
-
-- Added a function to respond to N-Action request.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.cc
-
-**** Changes from 2011.10.05 (riesmeier)
-
-- Enhanced code that checks for valid and supported Storage SOP Classes.
- Affects: dcmnet/libsrc/dstorscu.cc
-
-- Make sure to link LIBTIFF and LIBPNG to the new "dcmsend" command line tool
- in order to avoid linker errors when using DCMTK with shared libraries.
- Affects: dcmnet/apps/CMakeLists.txt
- dcmnet/apps/Makefile.in
-
-- Added new command line tool "dcmsend", which is a Simple Storage Service
- Class User based on the recently introduced network class DcmStorageSCU.
- Added: dcmnet/apps/dcmsend.cc
- dcmnet/docs/dcmsend.man
- doxygen/manpages/man1/dcmsend.1
- Affects: dcmnet/apps/CMakeLists.txt
- dcmnet/apps/Makefile.dep
- dcmnet/apps/Makefile.in
- dcmnet/docs/dcmnet.dox
-
-- Added easy-to-use interface class for a Storage Service Class User (SCU).
- Added: dcmnet/include/dcmtk/dcmnet/dstorscu.h
- dcmnet/libsrc/dstorscu.cc
- Affects: dcmnet/docs/dcmnet.dox
- dcmnet/libsrc/CMakeLists.txt
- dcmnet/libsrc/Makefile.dep
- dcmnet/libsrc/Makefile.in
-
-**** Changes from 2011.10.04 (riesmeier)
-
-- Added method that allows for updating the original transfer syntax (e.g.
- after pixel data with a particular representation has been added).
- Affects: dcmdata/libsrc/dcdatset.cc
- dcmdata/include/dcmtk/dcmdata/dcdatset.h
-
-- Added support for storing the current transfer syntax of the dataset (in
- addition to the original one). The transfer syntax is also used for the
- print() and writeXML() methods. The default is explicit VR local endian.
- Affects: dcmdata/libsrc/dcdatset.cc
- dcmdata/include/dcmtk/dcmdata/dcdatset.h
-
-- Avoid double output of particular error messages to the logger.
- Affects: dcmnet/apps/findscu.cc
- dcmnet/libsrc/dfindscu.cc
-
-- Added flag that allows for specifying whether to convert a dataset to be
- transferred to the network transfer syntax. Also removed unused parameters
- "rspCommandSet" and "rspStatusDetail" from method sendSTORERequest().
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.10.03 (schlachter)
-
-- Reverted some accidentally committed changes.
- Affects: dcmjpeg/libijg12/jdhuff.c
- dcmjpeg/libijg12/jdmarker.c
-
-**** Changes from 2011.09.30 (riesmeier)
-
-- Fixed wrong or misleading comment on the member variable "Xfer".
- Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h
-
-**** Changes from 2011.09.30 (schlachter)
-
-- Removed a recursion in moveRecordToTree() which could cause stack overflows.
- Thanks to forum user "flang" for the report and the original patch.
- Affects: dcmdata/libsrc/dcdicdir.cc
-
-- Replaced an ugly "else while" construct with a clearer version.
- Affects: dcmdata/libsrc/dcdicdir.cc
-
-- Added a proper check for gethostbyname_r().
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
- config/configure
- config/configure.in
- config/include/dcmtk/config/osconfig.h.in
- dcmdata/libsrc/dcuid.cc
- oflog/include/dcmtk/oflog/config/defines.h
-
-- Made CHECK_FUNCTIONWITHHEADER_EXISTS generate an unique message.
- Affects: CMake/CheckFunctionWithHeaderExists.cmake
-
-- Corrected accidentally broken log output.
- Affects: dcmjpeg/libijg12/jdhuff.c
- dcmjpeg/libijg12/jdhuff12.h
- dcmjpeg/libijg12/jdmarker.c
- dcmjpeg/libijg12/jerror12.h
- dcmjpeg/libijg12/jmemsys12.h
- dcmjpeg/libijg16/jdhuff16.h
- dcmjpeg/libijg16/jerror16.h
- dcmjpeg/libijg16/jmemsys16.h
- dcmjpeg/libijg8/jdhuff8.h
- dcmjpeg/libijg8/jerror8.h
- dcmjpeg/libijg8/jmemsys8.h
-
-- Improved log output and moved to DEBUG log level.
- Affects: dcmjpls/libsrc/djcodecd.cc
- dcmjpls/libsrc/djcodece.cc
-
-**** Changes from 2011.09.29 (riesmeier)
-
-- Fixed memory leak in sendSTORERequest(), a DICOM dataset was not deleted.
- Affects: dcmnet/libsrc/scu.cc
-
-- Enhanced loadFile() method by making sure that the file preamble is present.
- Affects: dcmdata/include/dcmtk/dcmdata/dcmetinf.h
- dcmdata/libsrc/dcmetinf.cc
-
-- Introduced new network-related error codes, e.g. in case that none of the
- proposed presentation contexts were accepted by the association acceptor.
- Affects: dcmnet/include/dcmtk/dcmnet/cond.h
- dcmnet/libsrc/cond.cc
- dcmnet/libsrc/dfindscu.cc
- dcmnet/libsrc/scu.cc
-
-- Added check whether the presentation context specified by the caller of the
- method was really accepted before sending a C-STORE request.
- Affects: dcmnet/libsrc/scu.cc
-
-- Enhanced implementation of the function that retrieves the abstract syntax
- and transfer syntax of a particular presentation context (using the ID).
- Affects: dcmnet/libsrc/scp.cc
- dcmnet/libsrc/scu.cc
-
-- Further cleanup of the log output (verbose vs. debug mode).
- Affects: dcmnet/apps/movescu.cc
-
-- Output message ID of request and DIMSE status of response messages to the
- INFO logger (if DEBUG level is not enabled). All tools and classes in the
- "dcmnet" module now use (more or less) the same output in verbose mode.
- Affects: dcmnet/apps/echoscu.cc
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
- dcmnet/libsrc/dfindscu.cc
- dcmnet/libsrc/scp.cc
- dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.09.28 (riesmeier)
-
-- Added general support for transfer syntax conversions to sendSTORERequest().
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-- Simplified code for reporting the conversion of transfer syntaxes to logger.
- Affects: dcmnet/apps/storescu.cc
-
-- Return a more appropriate error code in case the dataset to be sent is
- invalid. This also required to introduce a return value for getDatasetInfo().
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-- Introduced new isLossy() and isLossless() methods in order to check whether
- a transfer syntax uses a lossy or lossless compression (if any at all).
- Affects: dcmdata/include/dcmtk/dcmdata/dcxfer.h
- dcmdata/libsrc/dcxfer.cc
-
-- Output the DIMSE status in verbose mode (if debug mode is not enabled).
- Affects: dcmnet/libsrc/scp.cc
- dcmnet/libsrc/scu.cc
-
-- Completed implementation of function DU_cgetStatusString().
- Affects: dcmnet/libsrc/diutil.cc
-
-- Added function that converts the status of a C-ECHO response to a string.
- Affects: dcmnet/apps/echoscu.cc
- dcmnet/include/dcmtk/dcmnet/diutil.h
- dcmnet/libsrc/diutil.cc
-
-- Added method that allows for clearing the list of presentation contexts.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-- Introduced a couple of new network-related error codes (aka OFCondition).
- Affects: dcmnet/include/dcmtk/dcmnet/cond.h
- dcmnet/libsrc/cond.cc
- dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.09.26 (riesmeier)
-
-- Added definitions for enabling full support for the ON_THE_FLY_COMPRESSION
- feature by uncommenting a single line in the (C)make file.
- Affects: dcmnet/apps/CMakeLists.txt
- dcmnet/apps/Makefile.in
-
-- Removed superfluous include directories (to IJG headers).
- Affects: dcmjpeg/apps/CMakeLists.txt
-
-- Added support for JPEG-LS to the experimental ON_THE_FLY_COMPRESSION feature.
- Affects: dcmnet/apps/storescu.cc
-
-- Changed order of DCMTK modules in order to allow network applications to
- depend on the image compression libraries. Of course, this is only a
- modification of the default configuration. The user can still change the
- order or disable particular modules (see INSTALL file for details).
- Affects: CMakeLists.txt
- Makefile
- config/modules
-
-- Moved --verbose-pc option to the end of the "general options" section.
- Affects: dcmnet/apps/getscu.cc
- dcmnet/apps/storescu.cc
- dcmnet/docs/getscu.man
-
-**** Changes from 2011.09.23 (riesmeier)
-
-- Removed needless deletion of the "statusDetail" variable.
- Affects: dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.09.22 (riesmeier)
-
-- Fixed incorrect comment on return code of some sendXXXRequest() methods.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/include/dcmtk/dcmnet/scu.h
-
-- Removed "dcmtls" headers, which were used/needed in a previous version.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
-
-- Updated man pages for new development snapshot.
- Added: doxygen/manpages/man1/getscu.1
- Affects: doxygen/manpages/man1/*
-
-- Fixed MinGW defines by explicitly specifying the value.
- Affects: config/configure.in
-
-- Output status detail information (if any) to the DEBUG logger and not to the
- WARN or INFO logger. This is now consistent for all DCMTK network tools.
- Affects: dcmnet/apps/echoscu.cc
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
- dcmnet/libsrc/dfindscu.cc
-
-- Output DIMSE status of the response message to the INFO logger (if DEBUG mode
- if not enabled). Thanks to forum user "kron24" for the original report.
- Affects: dcmnet/apps/storescu.cc
-
-- Added note that the three FIND SOP classes are also proposed, even though
- they are not used (a relict of the RSNA'93 demonstration).
- Affects: dcmnet/docs/movescu.man
-
-**** Changes from 2011.09.21 (riesmeier)
-
-- Moved two options from the "general" section to more appropriate subsections.
- Introduced new --backup option to indicate what the default behavior is and
- modified some backup-related log messages.
- Affects: dcmdata/apps/mdfconen.cc
- dcmdata/docs/dcmodify.man
-
-- Added missing man page for the new C-GET SCU command line tool.
- Added: dcmnet/docs/getscu.man
- Affects: dcmnet/docs/dcmnet.dox
-
-- Added explicit typecast in order to correctly output the presentation context
- ID to the logger.
- Affects: dcmnet/libsrc/dfindscu.cc
- dcmnet/apps/movescu.cc
-
-- Removed TCP wrapper support (libwrap) which is not really useful for an SCU.
- Affects: dcmnet/apps/getscu.cc
-
-- Removed option --disable-host-lookup which is not really useful for an SCU.
- Affects: dcmnet/apps/getscu.cc
-
-- Removed version check for "Darwin" in order to always support the most recent
- Mac OS X version. Thanks to forum user "coach4ae" for the original report.
- Affects: config/configure
- config/configure.in
-
-- Fixed minor issue regarding the --key option.
- Affects: dcmnet/docs/movescu.man
-
-**** Changes from 2011.09.20 (schlachter)
-
-- Fixed a badly choosen timeout when accepting a new association. Thanks to
- Kornelius Sohn <k.sohn@starc-medical.de> for the report and the suggested fix.
- Affects: dcmnet/libsrc/dul.cc
-
-- Correctly signal timeouts while accepting an association.
- Thanks to Kornelius Sohn <k.sohn@starc-medical.de> for the report.
- Affects: dcmnet/libsrc/dulfsm.cc
-
-**** Changes from 2011.09.19 (riesmeier)
-
-- Made output of C-FIND responses to logger more consistent with movescu.
- Affects: dcmnet/libsrc/dfindscu.cc
-
-- Output more details on incoming sub-associations (e.g. presentation
- contexts). Also fixed some other inconsistencies regarding the logging.
- Affects: dcmnet/apps/movescu.cc
-
-- Added further helper classes to the module's documentation page.
- Affects: ofstd/docs/ofstd.dox
-
-**** Changes from 2011.09.16 (riesmeier)
-
-- Fixed some typos and other small inconsistencies.
- Affects: dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.09.09 (riesmeier)
-
-- Output more details in case of bad command to the ERROR and DEBUG logger.
- Affects: dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
-
-- Output error message on bad command type to ERROR instead of INFO logger.
- Affects: dcmpstat/libsrc/dvpsprt.cc
-
-- Replaced local list of supported storage SOP classes by the global variable
- dcmLongSCUStorageSOPClassUIDs, which is maintained at a central location.
- Affects: dcmnet/apps/getscu.cc
-
-- Aligned list of documented SOP classes with the actual implementation.
- Affects: dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmqrdb/docs/dcmqrscp.man
-
-- Fixed outdated notes on the --port option and some other minor issues.
- Affects: dcmnet/docs/movescu.man
-
-**** Changes from 2011.09.08 (elgazzar)
-
-- Added a module number for the dcmstscp module for the error codes.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
-
-**** Changes from 2011.09.08 (riesmeier)
-
-- Added support for new SOP Class UID from Supplement 152 (Ophthalmic Thickness
- Map Storage SOP Class).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/docs/storescu.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added support for final text version of Supplement 152 (Ophthalmic Thickness
- Map Storage SOP Class) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Fixed log message in checkMetaHeaderValue() for reasons of consistency.
- Affects: dcmdata/libsrc/dcfilefo.cc
-
-**** Changes from 2011.09.07 (riesmeier)
-
-- Made more clear that option --key also supports path expressions.
- Affects: dcmnet/apps/getscu.cc
-
-**** Changes from 2011.09.06 (elgazzar)
-
-- Added a function to handle N-ACTION request.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.cc
-
-- Also added a function to send N-EVENT-REPORT request on the current
- association. Intended to be used for a storage commitment server.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.cc
-
-- Also added a function to find a presentation context given a presentation
- context ID.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.cc
-
-- Fixed wrong logger name which caused compiler error.
- Affects: dcmnet/libsrc/scu.cc
-
-- Added a function to send N-EVENT-REPORT request and receive a response.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.09.06 (riesmeier)
-
-- Added support for final text version of CP-1064 (Float VR in numeric SR
- content items) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Also remove elements of group 0x0006 from sequence items (see CP-1129).
- Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h
- dcmdata/libsrc/dcdatset.cc
-
-- Fixed typo in CMake warning message (copy-and-paste bug). Thanks to Per Inge
- Mathisen <per.mathisen@gmail.com> for the report and suggested fix.
- Affects: CMake/3rdparty.cmake
-
-**** Changes from 2011.08.30 (schlachter)
-
-- Fix compilation on Solaris and possibly other systems.
- Affects: dcmnet/libsrc/dulfsm.cc
-
-**** Changes from 2011.08.26 (riesmeier)
-
-- Added new helper methods putAndInsertFloat32/64Array().
- Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
- dcmdata/libsrc/dcitem.cc
-
-- Fixed issue with possibly wrong status return value in putAndInsertFloat32().
- Affects: dcmdata/libsrc/dcitem.cc
-
-- Replaced remaining tabs by spaces.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvrfd.h
- dcmdata/include/dcmtk/dcmdata/dcvrfl.h
-
-**** Changes from 2011.08.25 (riesmeier)
-
-- Further cleanup of minor inconsistencies regarding documentation, parameter
- names, log output and handling of status details information.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-- Changed data structure for Q/R responses from OFVector to OFList. Also fixed
- some possible memory leaks and made the FIND/MOVE/GET code more consistent.
- Affects: dcmnet/apps/getscu.cc
- dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-- Added "verbose-pc" mode that shows the presentation contexts in verbose mode.
- Affects: dcmnet/apps/getscu.cc
-
-- Fixed minor issues in the documentation, parameter and method names. Output
- retrieve responses to main dcmnet logger instead of response logger.
- Affects: dcmnet/libsrc/scu.cc
-
-- Fixed minor issues in the API documentation, parameter and method names.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
-
-**** Changes from 2011.08.25 (onken)
-
-- Added getscu to configure/make build system.
- Affects: dcmnet/apps/Makefile.dep
- dcmnet/apps/Makefile.in
-
-- Added C-GET functionality to DcmSCU class and accompanying getscu
- commandline application.
- Added: dcmnet/apps/getscu.cc
- Affects: dcmnet/apps/CMakeLists.txt
- dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-- Fixed typo and adapted copyright.
- Affects: dcmdata/docs/dcmodify.man
-
-- Added dcmodify option that permits creation of files from scratch.
- Affects: dcmdata/apps/mdfconen.cc
- dcmdata/apps/mdfconen.h
- dcmdata/apps/mdfdsman.cc
- dcmdata/apps/mdfdsman.h
- dcmdata/docs/dcmodify.man
-
-**** Changes from 2011.08.24 (riesmeier)
-
-- Uncommented name of unused method parameter that caused a compiler warning.
- Affects: dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.08.23 (riesmeier)
-
-- Added optional parameter for the private creator to the DcmTag constructor
- in order to better support private tag definitions.
- Affects: dcmdata/include/dcmtk/dcmdata/dctag.h
- dcmdata/libsrc/dctag.cc
-
-- Fixed another inconsistent test name.
- Affects: dcmdata/tests/tests.cc
- dcmdata/tests/tparser.cc
-
-- Minor stylistic corrections.
- Affects: INSTALL
-
-**** Changes from 2011.08.22 (riesmeier)
-
-- Fixed misleading documentation for hasValidGroup() method.
- Affects: dcmdata/include/dcmtk/dcmdata/dctagkey.h
-
-**** Changes from 2011.08.22 (schlachter)
-
-- Enhanced the "make check" target.
- Affects: Makefile
- config/Makefile.in
- config/rootconf
- dcmdata/Makefile.in
- dcmdata/tests/Makefile.in
- dcmimage/Makefile.in
- dcmimage/tests/Makefile.in
- dcmimgle/Makefile.in
- dcmimgle/tests/Makefile.in
- dcmjpeg/Makefile.in
- dcmjpeg/tests/Makefile.in
- dcmjpls/Makefile.in
- dcmjpls/tests/Makefile.in
- dcmnet/Makefile.in
- dcmnet/tests/Makefile.in
- dcmpstat/Makefile.in
- dcmpstat/tests/Makefile.in
- dcmqrdb/Makefile.in
- dcmqrdb/tests/Makefile.in
- dcmsign/Makefile.in
- dcmsign/tests/Makefile.in
- dcmsr/Makefile.in
- dcmsr/tests/Makefile.in
- dcmtls/Makefile.in
- dcmtls/tests/Makefile.in
- dcmwlm/Makefile.in
- dcmwlm/tests/Makefile.in
- oflog/Makefile.in
- oflog/tests/Makefile.in
- ofstd/Makefile.in
- ofstd/tests/Makefile.in
-
-- Fixed atof test with MSC6.
- Affects: ofstd/tests/tatof.cc
-
-**** Changes from 2011.08.19 (schlachter)
-
-- Added a function for sleeping with a millisecond timeout.
- Affects: ofstd/include/dcmtk/ofstd/ofstd.h
- ofstd/libsrc/ofstd.cc
-
-- Speed up the thread test by polling more often for events.
- Affects: ofstd/tests/tthread.cc
-
-- Fixed compilation with MSC6.
- Affects: dcmdata/tests/telemlen.cc
- dcmjpeg/libsrc/djdijg12.cc
- dcmjpeg/libsrc/djdijg16.cc
- dcmjpeg/libsrc/djdijg8.cc
-
-- Turned on make's silent mode for "make check".
- Affects: Makefile
- config/rootconf
-
-**** Changes from 2011.08.19 (riesmeier)
-
-- Moved "TLS options" section closer to the related "network options" section.
- Affects: dcmnet/apps/storescp.cc
- dcmnet/docs/storescp.man
-
-- Added support for specifying the directory where the response messages are
- stored. Also output the name of the created file to the logger.
- Affects: dcmnet/apps/findscu.cc
- dcmnet/docs/findscu.man
- dcmnet/include/dcmtk/dcmnet/dfindscu.h
- dcmnet/libsrc/dfindscu.cc
-
-- Added new command line options in order to enable the output of C-FIND
- response messages to the new dcmnet response logger (on INFO level).
- Affects: dcmnet/apps/findscu.cc
- dcmnet/docs/findscu.man
-
-- Output C-FIND response messages to a separate logger (on INFO level).
- Affects: dcmnet/include/dcmtk/dcmnet/diutil.h
- dcmnet/libsrc/dfindscu.cc
- dcmnet/libsrc/diutil.cc
- oflog/etc/logger.cfg
-
-- Passed log4cplus's internal log level OFF_LOG_LEVEL to OFLogger and added
- new method for setting the log level directly.
- Affects: oflog/include/dcmtk/oflog/oflog.h
-
-**** Changes from 2011.08.18 (riesmeier)
-
-- Replaced the private creator part of the hash function by an equivalent
- but probably more efficient implementation.
- Affects: dcmdata/libsrc/dchashdi.cc
-
-- Fixed API documentation (required after last commit).
- Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h
-
-- Fixed some settings regarding CygWin.
- Affects: CMake/osconfig.h.in
-
-- Made sure that #define statements always have a value and #undef has none.
- Affects: CMake/osconfig.h.in
- config/include/dcmtk/config/osconfig.h.in
-
-- Added "wwwapps" sub-directory to CMake project files.
- Added: dcmwlm/wwwapps/CMakeLists.txt
- Affects: dcmwlm/CMakeLists.txt
-
-- Replaced function max() by macro MAX() in order to compile with VisualStudio.
- Affects: dcmwlm/wwwapps/writwlst.cc
-
-**** Changes from 2011.08.17 (schlachter)
-
-- Added a small test for the data dictionary.
- Added: dcmdata/tests/tdict.cc
- Affects: dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
-
-- Fixed a crash when iterating over an empty dictionary.
- Affects: dcmdata/libsrc/dchashdi.cc
-
-- Improved hashing function for tags (less code, handles private creator).
- Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h
- dcmdata/libsrc/dchashdi.cc
-
-- Removed some accidentally committed test code.
- Affects: dcmdata/tests/tdict.cc
-
-**** Changes from 2011.08.16 (riesmeier)
-
-- Replaced define HAVE_CONFIG_H by a more appropriate INETD_AVAILABLE.
- Affects: dcmnet/apps/storescp.cc
- dcmnet/docs/storescp.man
-
-- Added missing CMake tests for system header files.
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
-
-- Added missing CMake tests for system functions.
- Affects: CMake/GenerateDCMTKConfigure.cmake
- CMake/osconfig.h.in
-
-- Replaced system-dependent checks by the defines for localtime_r and gmtime_r.
- Affects: ofstd/libsrc/ofdate.cc
- ofstd/libsrc/oftime.cc
-
-- Fixed wrong use of #if statement.
- Affects: ofstd/libsrc/oftime.cc
-
-**** Changes from 2011.08.11 (riesmeier)
-
-- Added new Storage SOP Classes from DICOM 2011, which are originally defined
- in DICOS and DICONDE standard, respectively.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
-
-- Updated data dictionary for DICOM 2011 standard. This includes definitions
- from DICOS (Digital Imaging and Communications in Security) standard.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Added missing header file to compile when PRINT_REPLACED_DICTIONARY_ENTRIES
- is defined.
- Affects: dcmdata/libsrc/dchashdi.cc
-
-**** Changes from 2011.08.10 (riesmeier)
-
-- Removed any references to the old "cfunix.h" file. Thanks to Markus Mertens
- <markus.mertens@uni-muenster.de> for the original report.
- Affects: config/Makefile.in
- dcmdata/docs/datadict.txt
-
-**** Changes from 2011.08.10 (schlachter)
-
-- Improved robustness of the DCMTK_ADD_TESTS CMake macro.
- Affects: CMake/dcmtkAddTests.cmake
-
-- Increase minimum CMake version to 2.6.
- Affects: CMakeLists.txt
- INSTALL
-
-**** Changes from 2011.08.09 (riesmeier)
-
-- Introduced installation components for the CMake build system (in a similar
- way as for GNU autoconf), which could be useful for package maintainers.
- Added: dcmdata/include/CMakeLists.txt
- dcmimage/include/CMakeLists.txt
- dcmimgle/include/CMakeLists.txt
- dcmjpeg/include/CMakeLists.txt
- dcmjpls/include/CMakeLists.txt
- dcmnet/include/CMakeLists.txt
- dcmpstat/include/CMakeLists.txt
- dcmqrdb/include/CMakeLists.txt
- dcmsign/include/CMakeLists.txt
- dcmsr/include/CMakeLists.txt
- dcmtls/include/CMakeLists.txt
- dcmwlm/include/CMakeLists.txt
- oflog/include/CMakeLists.txt
- ofstd/include/CMakeLists.txt
- Removed: dcmdata/include/dcmtk/dcmdata/CMakeLists.txt
- dcmdata/include/dcmtk/dcmdata/libi2d/CMakeLists.txt
- dcmimage/include/dcmtk/dcmimage/CMakeLists.txt
- dcmimgle/include/dcmtk/dcmimgle/CMakeLists.txt
- dcmjpeg/include/dcmtk/dcmjpeg/CMakeLists.txt
- dcmjpls/include/dcmtk/dcmjpls/CMakeLists.txt
- dcmnet/include/dcmtk/dcmnet/CMakeLists.txt
- dcmpstat/include/dcmtk/dcmpstat/CMakeLists.txt
- dcmqrdb/include/dcmtk/dcmqrdb/CMakeLists.txt
- dcmsign/include/dcmtk/dcmsign/CMakeLists.txt
- dcmsr/include/dcmtk/dcmsr/CMakeLists.txt
- dcmtls/include/dcmtk/dcmtls/CMakeLists.txt
- dcmwlm/include/dcmtk/dcmwlm/CMakeLists.txt
- oflog/include/dcmtk/oflog/CMakeLists.txt
- ofstd/include/dcmtk/ofstd/CMakeLists.txt
- Affects: CMakeLists.txt
- config/docs/CMakeLists.txt
- dcmdata/CMakeLists.txt
- dcmdata/apps/CMakeLists.txt
- dcmdata/data/CMakeLists.txt
- dcmdata/docs/CMakeLists.txt
- dcmdata/libi2d/CMakeLists.txt
- dcmdata/libsrc/CMakeLists.txt
- dcmimage/CMakeLists.txt
- dcmimage/apps/CMakeLists.txt
- dcmimage/libsrc/CMakeLists.txt
- dcmimgle/CMakeLists.txt
- dcmimgle/apps/CMakeLists.txt
- dcmimgle/data/CMakeLists.txt
- dcmimgle/libsrc/CMakeLists.txt
- dcmjpeg/CMakeLists.txt
- dcmjpeg/apps/CMakeLists.txt
- dcmjpeg/libijg12/CMakeLists.txt
- dcmjpeg/libijg16/CMakeLists.txt
- dcmjpeg/libijg8/CMakeLists.txt
- dcmjpeg/libsrc/CMakeLists.txt
- dcmjpls/CMakeLists.txt
- dcmjpls/apps/CMakeLists.txt
- dcmjpls/libcharls/CMakeLists.txt
- dcmjpls/libsrc/CMakeLists.txt
- dcmnet/CMakeLists.txt
- dcmnet/apps/CMakeLists.txt
- dcmnet/docs/CMakeLists.txt
- dcmnet/etc/CMakeLists.txt
- dcmnet/libsrc/CMakeLists.txt
- dcmpstat/CMakeLists.txt
- dcmpstat/apps/CMakeLists.txt
- dcmpstat/data/CMakeLists.txt
- dcmpstat/etc/CMakeLists.txt
- dcmpstat/libsrc/CMakeLists.txt
- dcmqrdb/CMakeLists.txt
- dcmqrdb/apps/CMakeLists.txt
- dcmqrdb/docs/CMakeLists.txt
- dcmqrdb/etc/CMakeLists.txt
- dcmqrdb/libsrc/CMakeLists.txt
- dcmsign/CMakeLists.txt
- dcmsign/apps/CMakeLists.txt
- dcmsign/libsrc/CMakeLists.txt
- dcmsr/CMakeLists.txt
- dcmsr/apps/CMakeLists.txt
- dcmsr/data/CMakeLists.txt
- dcmsr/libsrc/CMakeLists.txt
- dcmtls/CMakeLists.txt
- dcmtls/docs/CMakeLists.txt
- dcmtls/libsrc/CMakeLists.txt
- dcmwlm/CMakeLists.txt
- dcmwlm/apps/CMakeLists.txt
- dcmwlm/data/CMakeLists.txt
- dcmwlm/docs/CMakeLists.txt
- dcmwlm/libsrc/CMakeLists.txt
- doxygen/CMakeLists.txt
- oflog/CMakeLists.txt
- oflog/etc/CMakeLists.txt
- oflog/libsrc/CMakeLists.txt
- ofstd/CMakeLists.txt
- ofstd/libsrc/CMakeLists.txt
-
-- Fixed wrong pattern in INSTALL statement.
- Affects: dcmdata/include/CMakeLists.txt
- dcmimgle/include/CMakeLists.txt
-
-- Moved "osconfig.h" file generated by CMake to "config" sub-directory.
- Affects: CMakeLists.txt
- INSTALL
-
-**** Changes from 2011.08.08 (riesmeier)
-
-- Added label to CMake tests (CTest), which is identical to the module name.
- Affects: CMake/dcmtkAddTests.cmake
-
-- Added test cases for new parser flag "dcmPreferVRFromDataDictionary".
- Affects: dcmdata/tests/tests.cc
- dcmdata/tests/tparser.cc
-
-- Added new parser flag that allows for ignoring the element's VR read from the
- dataset and for preferring the VR defined in the data dictionary.
- Affects: dcmdata/apps/dcmconv.cc
- dcmdata/apps/dcmdump.cc
- dcmdata/docs/dcmconv.man
- dcmdata/docs/dcmdump.man
- dcmdata/include/dcmtk/dcmdata/dcobject.h
- dcmdata/libsrc/dcitem.cc
- dcmdata/libsrc/dcobject.cc
-
-- Fixed various minor issues related to the Doxygen documentation.
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
-
-**** Changes from 2011.08.08 (onken)
-
-- Added further doxygen documentation.
- Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h
-
-- Made assignment operator private and added public copy
- constructor. Fixed doxygen documentation.
- Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h
-
-- Added dumb assignment operator in order to keep VS compilers quiet. Thanks to
- Yves Neumann <neumann@image-systems.biz> for the hint and suggested patch.
- Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h
-
-**** Changes from 2011.08.05 (riesmeier)
-
-- Renamed test logger in order to reflect the current name of the program.
- Affects: dcmdata/tests/tpath.cc
-
-- Fixed output of test program in debug mode.
- Affects: dcmdata/tests/tpath.cc
-
-**** Changes from 2011.08.05 (onken)
-
-- Added function to find out whether current process was "forked" under
- windows as a child.
-- Added functions to switch between blocking and non-blocking TCP/IP connection
- mode. Also permits giving a timeout for non-blocking mode (default is 1000
- seconds as it was hardcoded before).
-- DcmSCP now listens in TCP/IP blocking mode per default! This is since
- it is expected that most users like to have the server running endlessly.
-- Renamed member and functions for DIMSE blocking mode in order to be clearly
- distinguishable from TCP/IP blocking mode.
-- Moved message about disabled dcmdata autocorrection to listen() function in
- order to (have the possibility to) suppress it in the child processes.
-- Added some debug output and documentation.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/libsrc/scp.cc
-
-**** Changes from 2011.08.03 (riesmeier)
-
-- Added macro that allows for disabling the port permission check in SCPs.
- Thanks to forum user "Per" for pointing to this issue.
- Affects: config/docs/macros.txt
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/include/dcmtk/dcmnet/cond.h
- dcmnet/libsrc/cond.cc
- dcmnet/libsrc/scp.cc
- dcmpstat/apps/dcmpsrcv.cc
- dcmpstat/tests/msgserv.cc
- dcmqrdb/apps/dcmqrscp.cc
- dcmwlm/libsrc/wlmactmg.cc
-
-- Added blocking mode and timeout parameter to request association functions.
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the original patch.
- Affects: dcmnet/include/dcmtk/dcmnet/assoc.h
- dcmnet/include/dcmtk/dcmnet/dul.h
- dcmnet/libsrc/assoc.cc
- dcmnet/libsrc/dul.cc
-
-- Include "io.h" required for mktemp() on Windows with VisualStudio.
- Affects: dcmdata/libsrc/dcdicdir.cc
-
-- Added "io.h" to the list of headers used for testing function prototypes.
- Required in order to avoid a compiler warning on Windows with VisualStudio.
- Affects: CMake/GenerateDCMTKConfigure.cmake
-
-- Updated information on latest version of CMake that has been tested (2.8.5).
- Affects: CMakeLists.txt
-
-**** Changes from 2011.08.02 (schlachter)
-
-- Speed up the code for writing DICOMDIRs.
- Affects: dcmdata/libsrc/dcdicdir.cc
-
-- Don't load files twice when constructing a DICOMDIR.
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/include/dcmtk/dcmdata/dcdirrec.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcdirrec.cc
-
-- Speed up the code for reading DICOMDIRs, too.
- Affects: dcmdata/include/dcmtk/dcmdata/dcdicdir.h
- dcmdata/libsrc/dcdicdir.cc
-
-**** Changes from 2011.08.02 (riesmeier)
-
-- Added more general support for softcopy presentation states (not only GSPS).
- Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrimgvl.cc
- dcmsr/libsrc/dsrtypes.cc
-
-- Fixed typos and/or minor formatting issues.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrcodtn.h
- dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
- dcmsr/include/dcmtk/dcmsr/dsrcomtn.h
- dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
- dcmsr/include/dcmtk/dcmsr/dsrcontn.h
- dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
- dcmsr/include/dcmtk/dcmsr/dsrdattn.h
- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
- dcmsr/include/dcmtk/dcmsr/dsrdtitn.h
- dcmsr/include/dcmtk/dcmsr/dsrimgfr.h
- dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
- dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
- dcmsr/include/dcmtk/dcmsr/dsrnumtn.h
- dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
- dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h
- dcmsr/include/dcmtk/dcmsr/dsrreftn.h
- dcmsr/include/dcmtk/dcmsr/dsrscogr.h
- dcmsr/include/dcmtk/dcmsr/dsrscotn.h
- dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
- dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
- dcmsr/include/dcmtk/dcmsr/dsrtcodt.h
- dcmsr/include/dcmtk/dcmsr/dsrtcosp.h
- dcmsr/include/dcmtk/dcmsr/dsrtcotn.h
- dcmsr/include/dcmtk/dcmsr/dsrtcoto.h
- dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
- dcmsr/include/dcmtk/dcmsr/dsrtextn.h
- dcmsr/include/dcmtk/dcmsr/dsrtimtn.h
- dcmsr/include/dcmtk/dcmsr/dsrtlist.h
- dcmsr/include/dcmtk/dcmsr/dsruidtn.h
- dcmsr/include/dcmtk/dcmsr/dsrwavch.h
- dcmsr/include/dcmtk/dcmsr/dsrwavtn.h
- dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
-
-**** Changes from 2011.08.01 (onken)
-
-- Added CMake option for enforcing -fPIC flag when compiling on 64 bit
- unix platforms, needed for linking from dynamic libraries to statically
- linked DCMTK libraries.
- Affects: CMakeLists.txt
-
-- Fixed CVS log at end of file.
- Affects: dcmdata/tests/tparser.cc
-
-- Added deletion of temporary files in case tests fail.
- Affects: dcmdata/tests/tparser.cc
-
-- Changed random file name generation to avoid warning about mktemp on
- linux systems.
- Affects: dcmdata/tests/tparser.cc
-
-**** Changes from 2011.07.26 (onken)
-
-- Fixed regular expression in Mac OS X Lion adaption.
- Affects: config/configure
- config/configure.in
-
-- Fixed compilation with configure/make on Mac OS X Lion (10.7).
- Thanks to Eric A. Borisch <eborisch@macports.org> for the suggested patch.
- Affects: config/configure
- config/configure.in
-
-**** Changes from 2011.07.14 (riesmeier)
-
-- Slightly enhanced performance of DICOMDIR code, e.g. by a more appropriate
- use of the underlying DcmList class.
- Affects: dcmdata/include/dcmtk/dcmdata/dcdicdir.h
- dcmdata/libsrc/dcdicdir.cc
-
-- Fixed wrong method name in log message.
- Affects: dcmdata/libsrc/dcdirrec.cc
-
-**** Changes from 2011.07.12 (riesmeier)
-
-- Made sure that elements from group 0x0000 are also removed from a data set.
- Affects: dcmdata/libsrc/dcdatset.cc
-
-- Added new optional flag that allows for removing invalid elements from a
- command set.
- Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h
- dcmdata/libsrc/dcdatset.cc
-
-- Output information on removed invalid data elements to debug logger.
- Affects: dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcmetinf.cc
-
-**** Changes from 2011.07.07 (riesmeier)
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/*
-
-- Added missing extern "C" declaration for mktemp(), e.g. required for MSVC++.
- Affects: dcmdata/tests/tparser.cc
-
-**** Changes from 2011.07.06 (riesmeier)
-
-- Added missing test file "tparser" introduced with the last commit.
- Affects: dcmdata/tests/CMakeLists.txt
-
-**** Changes from 2011.07.06 (schlachter)
-
-- Rename include guards to match yesterday's rename.
- Affects: config/configure.in
- config/include/dcmtk/config/osconfig.h.in
-
-- Improved OFMap's and OFPair's standard conformance.
- Affects: ofstd/include/dcmtk/ofstd/ofmap.h
-
-- Removed some outdated notes, references and files.
- Removed: config/Makefile.x.in
- config/mvldflags
- Affects: config/docs/config.txt
- config/docs/modules.txt
-
-- Fixed various compiler warnings.
- Affects: dcmdata/apps/pdf2dcm.cc
- dcmdata/libi2d/Makefile.in
- dcmdata/libsrc/dcddirif.cc
- dcmnet/include/dcmtk/dcmnet/assoc.h
- dcmnet/libsrc/assoc.cc
- dcmnet/libsrc/scp.cc
- dcmnet/libsrc/scu.cc
- dcmpstat/apps/dcmmklut.cc
- dcmpstat/apps/dcmp2pgm.cc
- dcmpstat/apps/dcmpschk.cc
- dcmpstat/apps/dcmpsprt.cc
- dcmqrdb/libsrc/dcmqrtis.cc
- dcmwlm/libsrc/wlds.cc
- dcmwlm/libsrc/wlmactmg.cc
- dcmwlm/tests/wltest.cc
- dcmwlm/wwwapps/readoviw.cc
- dcmwlm/wwwapps/readwlst.cc
-
-- Added tests for some bugs which we recently fixed.
- Added: dcmdata/tests/tparser.cc
- Affects: dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
-
-- Fixed some inconsistencies in test names.
- Affects: dcmdata/tests/tests.cc
- dcmdata/tests/tpath.cc
- ofstd/tests/tbase64.cc
- ofstd/tests/tests.cc
- ofstd/tests/tofstd.cc
-
-- Updated the template files.
- Affects: config/templates/Makefile.lib
- config/templates/Makefile.mod
- config/templates/Makefile.src
-
-- Changed the default log level for tests to "ERROR".
- Affects: oflog/include/dcmtk/oflog/oflog.h
- oflog/libsrc/oflog.cc
- ofstd/include/dcmtk/ofstd/oftest.h
-
-**** Changes from 2011.07.05 (riesmeier)
-
-- Updated documentation in order to reflect the removal / renaming of
- "cfunix.h.in". Slightly revised the wording and formatting of the text.
- Affects: config/docs/config.txt
- config/docs/modules.txt
-
-**** Changes from 2011.07.05 (schlachter)
-
-- Merge osconfig.h and cfunix.h.in into osconfig.h.in.
- Added: config/include/dcmtk/config/osconfig.h.in
- Removed: config/include/dcmtk/config/cfunix.h.in
- config/include/dcmtk/config/osconfig.h
- Affects: config/configure
- config/configure.in
- dcmdata/apps/Makefile.dep
- dcmdata/libi2d/Makefile.dep
- dcmdata/libsrc/Makefile.dep
- dcmdata/tests/Makefile.dep
- dcmimage/apps/Makefile.dep
- dcmimage/libsrc/Makefile.dep
- dcmimgle/apps/Makefile.dep
- dcmimgle/libsrc/Makefile.dep
- dcmjpeg/apps/Makefile.dep
- dcmjpeg/libijg12/Makefile.dep
- dcmjpeg/libijg16/Makefile.dep
- dcmjpeg/libijg8/Makefile.dep
- dcmjpeg/libsrc/Makefile.dep
- dcmjpls/apps/Makefile.dep
- dcmjpls/libcharls/Makefile.dep
- dcmjpls/libsrc/Makefile.dep
- dcmnet/apps/Makefile.dep
- dcmnet/libsrc/Makefile.dep
- dcmpstat/apps/Makefile.dep
- dcmpstat/libsrc/Makefile.dep
- dcmpstat/tests/Makefile.dep
- dcmqrdb/apps/Makefile.dep
- dcmqrdb/libsrc/Makefile.dep
- dcmsign/apps/Makefile.dep
- dcmsign/libsrc/Makefile.dep
- dcmsr/apps/Makefile.dep
- dcmsr/libsrc/Makefile.dep
- dcmsr/tests/Makefile.dep
- dcmtls/libsrc/Makefile.dep
- dcmwlm/apps/Makefile.dep
- dcmwlm/libsrc/Makefile.dep
- dcmwlm/tests/Makefile.dep
- dcmwlm/wwwapps/Makefile.dep
- oflog/libsrc/Makefile.dep
- ofstd/libsrc/Makefile.dep
- ofstd/tests/Makefile.dep
-
-**** Changes from 2011.06.30 (riesmeier)
-
-- Fixed minor issue that is reported when compiled with "gcc -Weffc++".
- Affects: dcmjpls/libsrc/djcparam.cc
-
-**** Changes from 2011.06.29 (riesmeier)
-
-- Minor changes to new section "RUNNING THE TESTSUITE".
- Affects: INSTALL
-
-- Fixed various issues that are reported when compiled with "gcc -Weffc++".
- Affects: dcmimage/include/dcmtk/dcmimage/diqtpix.h
- dcmnet/libsrc/scu.cc
- ofstd/include/dcmtk/ofstd/oftest.h
-
-**** Changes from 2011.06.29 (onken)
-
-- Enhanced documentation of DcmItem::clear().
- Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
-
-**** Changes from 2011.06.27 (riesmeier)
-
-- Closed two memory leaks. Thanks to forum user "angad" for the report.
- Affects: dcmwlm/libsrc/wlfsim.cc
-
-- Fixed mismatched delete vs. delete[] statements reported by valgrind.
- Affects: dcmwlm/libsrc/wlmactmg.cc
-
-**** Changes from 2011.06.21 (riesmeier)
-
-- Separated JPEG and JPEG 2000 variants of General Purpose DVD and USB/Flash
- Memory application profiles.
- Affects: dcmdata/apps/dcmgpdir.cc
- dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/libsrc/dcddirif.cc
- dcmjpeg/docs/dcmmkdir.man
-
-- Added two new multi-frame composite IODs from Supplement 151 to application
- profile DVD Interchange with MPEG2 Main Profile @ Main Level.
- Affects: dcmdata/libsrc/dcddirif.cc
-
-- Added support for Blu-ray Disc Media Application Profiles (Supplement 153).
- Affects: dcmdata/apps/dcmgpdir.cc
- dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/libsrc/dcddirif.cc
- dcmjpeg/docs/dcmmkdir.man
-
-**** Changes from 2011.06.21 (schlachter)
-
-- Renamed all log4cplus macros to avoid conflicts with external log4cplus.
- Again, thanks to forum user "ymartelli" for the report.
- Affects: oflog/docs/oflog.dox
- oflog/include/dcmtk/oflog/appender.h
- oflog/include/dcmtk/oflog/config.h
- oflog/include/dcmtk/oflog/configrt.h
- oflog/include/dcmtk/oflog/consap.h
- oflog/include/dcmtk/oflog/fileap.h
- oflog/include/dcmtk/oflog/fstreams.h
- oflog/include/dcmtk/oflog/hierarchy.h
- oflog/include/dcmtk/oflog/hierlock.h
- oflog/include/dcmtk/oflog/layout.h
- oflog/include/dcmtk/oflog/logger.h
- oflog/include/dcmtk/oflog/loglevel.h
- oflog/include/dcmtk/oflog/logmacro.h
- oflog/include/dcmtk/oflog/ndc.h
- oflog/include/dcmtk/oflog/ntelogap.h
- oflog/include/dcmtk/oflog/nullap.h
- oflog/include/dcmtk/oflog/oflog.h
- oflog/include/dcmtk/oflog/socketap.h
- oflog/include/dcmtk/oflog/streams.h
- oflog/include/dcmtk/oflog/syslogap.h
- oflog/include/dcmtk/oflog/tstring.h
- oflog/include/dcmtk/oflog/winconap.h
- oflog/include/dcmtk/oflog/windebap.h
- oflog/include/dcmtk/oflog/config/defines.h
- oflog/include/dcmtk/oflog/config/macosx.h
- oflog/include/dcmtk/oflog/config/win32.h
- oflog/include/dcmtk/oflog/helpers/apndimpl.h
- oflog/include/dcmtk/oflog/helpers/lloguser.h
- oflog/include/dcmtk/oflog/helpers/loglog.h
- oflog/include/dcmtk/oflog/helpers/pointer.h
- oflog/include/dcmtk/oflog/helpers/property.h
- oflog/include/dcmtk/oflog/helpers/sleep.h
- oflog/include/dcmtk/oflog/helpers/sockbuff.h
- oflog/include/dcmtk/oflog/helpers/socket.h
- oflog/include/dcmtk/oflog/helpers/strhelp.h
- oflog/include/dcmtk/oflog/helpers/syncppth.h
- oflog/include/dcmtk/oflog/helpers/syncprims.h
- oflog/include/dcmtk/oflog/helpers/syncpwin.h
- oflog/include/dcmtk/oflog/helpers/threadcf.h
- oflog/include/dcmtk/oflog/helpers/threads.h
- oflog/include/dcmtk/oflog/helpers/timehelp.h
- oflog/include/dcmtk/oflog/spi/apndatch.h
- oflog/include/dcmtk/oflog/spi/factory.h
- oflog/include/dcmtk/oflog/spi/filter.h
- oflog/include/dcmtk/oflog/spi/logevent.h
- oflog/include/dcmtk/oflog/spi/logfact.h
- oflog/include/dcmtk/oflog/spi/logimpl.h
- oflog/include/dcmtk/oflog/spi/objreg.h
- oflog/include/dcmtk/oflog/spi/rootlog.h
- oflog/libsrc/apndimpl.cc
- oflog/libsrc/appender.cc
- oflog/libsrc/config.cc
- oflog/libsrc/consap.cc
- oflog/libsrc/factory.cc
- oflog/libsrc/fileap.cc
- oflog/libsrc/filter.cc
- oflog/libsrc/globinit.cc
- oflog/libsrc/hierarchy.cc
- oflog/libsrc/hierlock.cc
- oflog/libsrc/layout.cc
- oflog/libsrc/logevent.cc
- oflog/libsrc/logger.cc
- oflog/libsrc/logimpl.cc
- oflog/libsrc/loglevel.cc
- oflog/libsrc/loglog.cc
- oflog/libsrc/ndc.cc
- oflog/libsrc/ntelogap.cc
- oflog/libsrc/objreg.cc
- oflog/libsrc/patlay.cc
- oflog/libsrc/pointer.cc
- oflog/libsrc/property.cc
- oflog/libsrc/rootlog.cc
- oflog/libsrc/sockbuff.cc
- oflog/libsrc/socketap.cc
- oflog/libsrc/strhelp.cc
- oflog/libsrc/syncprims.cc
- oflog/libsrc/syslogap.cc
- oflog/libsrc/threads.cc
- oflog/libsrc/timehelp.cc
- oflog/libsrc/unixsock.cc
- oflog/libsrc/winconap.cc
- oflog/libsrc/winsock.cc
-
-- Backport r1439 from log4cplus to fix endless loop in PatternParser.
- Thanks to forum user "kosborn" for (accidentally) finding the problem.
- Affects: oflog/libsrc/patlay.cc
-
-- Fix linking errors when compiling on windows.
- Affects: oflog/libsrc/winsock.cc
-
-- Use OFBool for a variable which is already used as a boolean.
- Affects: dcmimage/apps/dcm2pnm.cc
-
-**** Changes from 2011.06.21 (onken)
-
-- Fixed small documentation issue.
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
-
-**** Changes from 2011.06.20 (onken)
-
-- Fixed documentation of notifyDIMSEError() and sendSTOREResponse().
- Affects: dcmnet/include/dcmtk/dcmnet/scp.h
-
-**** Changes from 2011.06.20 (riesmeier)
-
-- Added two new SOP Class UIDs from Supplement 151 (Intravascular OCT Image
- Storage SOP Class).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/docs/storescu.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-**** Changes from 2011.06.17 (riesmeier)
-
-- Added support for final text version of Supplement 151 (Intravascular OCT
- Image Storage SOP Class) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2011.06.15 (riesmeier)
-
-- Used new DcmTagKey::getBaseTag() where appropriate to simplify the code.
- Affects: dcmdata/libsrc/dcitem.cc
-
-- Made sure that only standard tags (even) are detected as repeating groups.
- Affects: dcmdata/libsrc/dctagkey.cc
-
-- Fixed insufficient comparison of repeating group tags OverlayData and
- CurveData. Thanks to forum user "budric" for pointing this out.
- Affects: dcmdata/libsrc/dcitem.cc
-
-- Added method that returns the base tag, i.e. in case of a repeating group tag
- always the base group number 0x5000 (curve) or 0x6000 (overlay) is used.
- Affects: dcmdata/include/dcmtk/dcmdata/dctagkey.h
- dcmdata/libsrc/dctagkey.cc
-
-- Added suffix "UL" to integer constant in order to avoid a compiler warning.
- Affects: dcmdata/libi2d/i2dbmps.cc
-
-- Updated copyright date.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrimpcc.h
- dcmsr/libsrc/dsrimpcc.cc
-
-**** Changes from 2011.06.15 (schlachter)
-
-- Made sure thread 2 can't run before thread 1 in the semaphore test.
- Affects: ofstd/tests/tthread.cc
-
-- Moved log4cplus into namespace dcmtk::log4cplus.
- Thanks to forum user "ymartelli" for the report.
- Affects: dcmpstat/apps/dcmprscp.cc
- dcmpstat/apps/dcmprscu.cc
- dcmpstat/libsrc/dviface.cc
- oflog/include/dcmtk/oflog/appender.h
- oflog/include/dcmtk/oflog/configrt.h
- oflog/include/dcmtk/oflog/consap.h
- oflog/include/dcmtk/oflog/fileap.h
- oflog/include/dcmtk/oflog/fstreams.h
- oflog/include/dcmtk/oflog/hierarchy.h
- oflog/include/dcmtk/oflog/hierlock.h
- oflog/include/dcmtk/oflog/layout.h
- oflog/include/dcmtk/oflog/logger.h
- oflog/include/dcmtk/oflog/loglevel.h
- oflog/include/dcmtk/oflog/logmacro.h
- oflog/include/dcmtk/oflog/ndc.h
- oflog/include/dcmtk/oflog/ntelogap.h
- oflog/include/dcmtk/oflog/nullap.h
- oflog/include/dcmtk/oflog/oflog.h
- oflog/include/dcmtk/oflog/socketap.h
- oflog/include/dcmtk/oflog/streams.h
- oflog/include/dcmtk/oflog/syslogap.h
- oflog/include/dcmtk/oflog/tstring.h
- oflog/include/dcmtk/oflog/winconap.h
- oflog/include/dcmtk/oflog/windebap.h
- oflog/include/dcmtk/oflog/helpers/apndimpl.h
- oflog/include/dcmtk/oflog/helpers/lloguser.h
- oflog/include/dcmtk/oflog/helpers/loglog.h
- oflog/include/dcmtk/oflog/helpers/pointer.h
- oflog/include/dcmtk/oflog/helpers/property.h
- oflog/include/dcmtk/oflog/helpers/sleep.h
- oflog/include/dcmtk/oflog/helpers/sockbuff.h
- oflog/include/dcmtk/oflog/helpers/socket.h
- oflog/include/dcmtk/oflog/helpers/strhelp.h
- oflog/include/dcmtk/oflog/helpers/syncppth.h
- oflog/include/dcmtk/oflog/helpers/syncprims.h
- oflog/include/dcmtk/oflog/helpers/syncpwin.h
- oflog/include/dcmtk/oflog/helpers/threadcf.h
- oflog/include/dcmtk/oflog/helpers/threads.h
- oflog/include/dcmtk/oflog/helpers/timehelp.h
- oflog/include/dcmtk/oflog/spi/apndatch.h
- oflog/include/dcmtk/oflog/spi/factory.h
- oflog/include/dcmtk/oflog/spi/filter.h
- oflog/include/dcmtk/oflog/spi/logevent.h
- oflog/include/dcmtk/oflog/spi/logfact.h
- oflog/include/dcmtk/oflog/spi/logimpl.h
- oflog/include/dcmtk/oflog/spi/objreg.h
- oflog/include/dcmtk/oflog/spi/rootlog.h
- oflog/libsrc/apndimpl.cc
- oflog/libsrc/appender.cc
- oflog/libsrc/config.cc
- oflog/libsrc/consap.cc
- oflog/libsrc/factory.cc
- oflog/libsrc/fileap.cc
- oflog/libsrc/filter.cc
- oflog/libsrc/globinit.cc
- oflog/libsrc/hierarchy.cc
- oflog/libsrc/hierlock.cc
- oflog/libsrc/layout.cc
- oflog/libsrc/lloguser.cc
- oflog/libsrc/logevent.cc
- oflog/libsrc/logger.cc
- oflog/libsrc/logimpl.cc
- oflog/libsrc/loglevel.cc
- oflog/libsrc/loglog.cc
- oflog/libsrc/ndc.cc
- oflog/libsrc/ntelogap.cc
- oflog/libsrc/nullap.cc
- oflog/libsrc/objreg.cc
- oflog/libsrc/oflog.cc
- oflog/libsrc/patlay.cc
- oflog/libsrc/pointer.cc
- oflog/libsrc/property.cc
- oflog/libsrc/rootlog.cc
- oflog/libsrc/sleep.cc
- oflog/libsrc/sockbuff.cc
- oflog/libsrc/socket.cc
- oflog/libsrc/socketap.cc
- oflog/libsrc/strhelp.cc
- oflog/libsrc/syncprims.cc
- oflog/libsrc/syslogap.cc
- oflog/libsrc/threads.cc
- oflog/libsrc/timehelp.cc
- oflog/libsrc/unixsock.cc
- oflog/libsrc/winconap.cc
- oflog/libsrc/windebap.cc
- oflog/libsrc/winsock.cc
-
-**** Changes from 2011.06.14 (schlachter)
-
-- Fix needed libraries and link directories for the tests.
- Thanks to forum user "Paul Groot" for the report.
- Affects: dcmdata/tests/CMakeLists.txt
- ofstd/tests/CMakeLists.txt
-
-**** Changes from 2011.06.08 (schlachter)
-
-- Corrected some file purpose descriptions.
- Affects: dcmdata/tests/telemlen.cc
- ofstd/include/dcmtk/ofstd/oftest.h
-
-- Added a paragraph about the test suite.
- Affects: INSTALL
-
-**** Changes from 2011.06.07 (schlachter)
-
-- Added test cases for DcmElement::calcElementLength().
- Added: dcmdata/tests/telemlen.cc
- Affects: dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.in
- dcmdata/tests/tests.cc
-
-- Again fixed a case where calcElementLength() used a wrong header length.
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report.
- Affects: dcmdata/libsrc/dcelem.cc
-
-- Enhance the documentation for DcmVR::getValidEVR().
- Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the hint.
- Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
-
-- Don't leave behind temporary files after the test.
- Affects: dcmdata/tests/tpread.cc
-
-- Stop using the log levels INFO, WARN, ERROR and FATAL in tests.
- Affects: dcmdata/tests/ti2dbmp.cc
- dcmdata/tests/tpath.cc
- dcmdata/tests/tpread.cc
-
-- Make it possible to run tests with CMake in a sane way.
- Added: CMake/dcmtkAddTests.cmake
- Affects: CMakeLists.txt
- dcmdata/tests/CMakeLists.txt
- ofstd/tests/CMakeLists.txt
-
-- Add CMake/dcmtkAddTests.cmake to config/changext.
- Affects: config/changext
-
-**** Changes from 2011.06.01 (onken)
-
-- Removed unused status variable from C-ECHO code.
- Thanks to Per Inge Mathisen <perim@sonowand.com>
- Affects: dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.05.31 (schlachter)
-
-- Fix a memcpy that wrote past its target on 64 bit systems.
- Thanks to Christian Wetzel <wetzel@phoenix-pacs.de> for the report.
- Affects: dcmnet/libsrc/dulfsm.cc
-
-**** Changes from 2011.05.30 (onken)
-
-- Added dump of query/move keys in debug mode when sending C-FIND or C-MOVE.
- Affects: dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.05.30 (riesmeier)
-
-- Fixed wrong indentation.
- Affects: dcmnet/etc/storescp.cfg
-
-- Replaced Modality value "OT" by "DOC" which is more appropriate (see CP-749).
- Thanks to forum user "maleike" for the original report.
- Affects: dcmdata/apps/pdf2dcm.cc
-
-- Removed unused variables and fixed other compiler warnings. Thanks to Per
- Inge Mathisen <perim@sonowand.com> for the report and suggested fix.
- Affects: dcmnet/apps/storescp.cc
- dcmqrdb/libsrc/dcmqrdbi.cc
- dcmsr/libsrc/dsrtypes.cc
-
-**** Changes from 2011.05.27 (riesmeier)
-
-- Fixed typos and source code formatting.
- Affects: dcmnet/apps/findscu.cc
- dcmnet/libsrc/scp.cc
- dcmnet/libsrc/scu.cc
- dcmwlm/libsrc/wlds.cc
- dcmwlm/libsrc/wlmactmg.cc
-
-**** Changes from 2011.05.26 (onken)
-
-- Fixed build of ofstd tests with CMake.
- Affects: ofstd/tests/CMakeLists.txt
-
-**** Changes from 2011.05.25 (schlachter)
-
-- Imported oftest and converted existing tests to oftest.
- Added: dcmdata/tests/tchval.cc
- dcmdata/tests/tests.cc
- dcmdata/tests/ti2dbmp.cc
- dcmdata/tests/tpath.cc
- dcmdata/tests/tpread.cc
- ofstd/include/dcmtk/ofstd/oftest.h
- ofstd/tests/CMakeLists.txt
- ofstd/tests/tatof.cc
- ofstd/tests/tbase64.cc
- ofstd/tests/tests.cc
- ofstd/tests/tftoa.cc
- ofstd/tests/tstack.cc
- ofstd/tests/tthread.cc
- Removed: dcmdata/tests/i2dbmp.cc
- dcmdata/tests/tstchval.cc
- dcmdata/tests/tstpath.cc
- dcmdata/tests/tstpread.cc
- ofstd/tests/tlist.exp
- ofstd/tests/tstatof.cc
- ofstd/tests/tstftoa.cc
- ofstd/tests/tstlist.cc
- ofstd/tests/tstring.exp
- ofstd/tests/tstring.inp
- ofstd/tests/tststack.cc
- ofstd/tests/tststack.exp
- ofstd/tests/tstthred.cc
- Affects: COPYRIGHT
- Makefile
- config/Makefile.in
- config/rootconf
- dcmdata/Makefile.in
- dcmdata/tests/CMakeLists.txt
- dcmdata/tests/Makefile.dep
- dcmdata/tests/Makefile.in
- dcmdata/tests/tvrdatim.cc
- dcmimage/Makefile.in
- dcmimgle/Makefile.in
- dcmjpeg/Makefile.in
- dcmjpls/Makefile.in
- dcmnet/Makefile.in
- dcmpstat/Makefile.in
- dcmqrdb/Makefile.in
- dcmsign/Makefile.in
- dcmsr/Makefile.in
- dcmtls/Makefile.in
- dcmwlm/Makefile.in
- oflog/Makefile.in
- oflog/tests/Makefile.in
- ofstd/CMakeLists.txt
- ofstd/Makefile.in
- ofstd/docs/ofstd.dox
- ofstd/tests/Makefile.dep
- ofstd/tests/Makefile.in
- ofstd/tests/tlist.cc
- ofstd/tests/tmap.cc
- ofstd/tests/tofdatim.cc
- ofstd/tests/toffile.cc
- ofstd/tests/tofstd.cc
- ofstd/tests/tstring.cc
- ofstd/tests/tvec.cc
-
-**** Changes from 2011.05.25 (elgazzar)
-
-- Renamed a function name to find any presentation context ID.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-- Added a function to look for a presentation context ID that best matches the
- abstract syntax UID and the transfer syntax UID.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.05.25 (onken)
-
-- Added missing default initializiation of role flag in presentation context
- constructor.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
-
-- Removed superfluous #define DUL_KEYS.
- Affects: dcmnet/include/dcmtk/dcmnet/dul.h
-
-**** Changes from 2011.05.24 (elgazzar)
-
-- Added role selection negotiation.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.05.24 (schlachter)
-
-- Moved LIBDIRS in front of LDFLAGS to link against the freshly build libs.
- Thanks to Eric A. Borisch <Borisch.Eric@mayo.edu> for reporting this.
- Affects: config/templates/Makefile.src
- dcmdata/apps/Makefile.in
- dcmdata/libsrc/Makefile.in
- dcmdata/tests/Makefile.in
- dcmimage/apps/Makefile.in
- dcmimgle/apps/Makefile.in
- dcmjpeg/apps/Makefile.in
- dcmjpls/apps/Makefile.in
- dcmnet/apps/Makefile.in
- dcmpstat/apps/Makefile.in
- dcmpstat/jni/Makefile.in
- dcmpstat/tests/Makefile.in
- dcmqrdb/apps/Makefile.in
- dcmsign/apps/Makefile.in
- dcmsr/apps/Makefile.in
- dcmsr/tests/Makefile.in
- dcmwlm/apps/Makefile.in
- dcmwlm/tests/Makefile.in
- dcmwlm/wwwapps/Makefile.in
- ofstd/tests/Makefile.in
-
-**** Changes from 2011.05.23 (elgazzar)
-
-- Added a function to search for SOP instance in INDEX.dat file
- Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-**** Changes from 2011.05.19 (onken)
-
-- Fixed some documentation.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
-
-- Fixed some documentation. Added some extra checks for NULL when handling MOVE
- and FIND responses. Simplified destructores for FIND and MOVEResponses.
- Affects: dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.05.19 (riesmeier)
-
-- Updated man pages for new development snapshot.
- Affects: doxygen/manpages/man1/*
-
-**** Changes from 2011.05.19 (onken)
-
-- Simplified C string copy by using OFStandard::strlcpy and removed debugging
- code introduced with last commit.
- Affects: dcmnet/libsrc/scu.cc
-
-- Removed unused variable that caused compiler warning. Fixed typo.
- Affects: dcmnet/libsrc/scu.cc
-
-- Fixed message ID field in C-CANCEL request (should be the one of last
- request). In case of error status codes in C-MOVE responses, the default
- behaviour is now to not wait for further responses. Fixed log output level
- to better fit the messages while receiveing C-MOVE responses. Minor
- code and comment cleanups.
- Affects: dcmnet/libsrc/scu.cc
-
-- Renamed function parameter in sendMOVEREquest to better reflect the standard.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
-
-- Fixed wrong usage of strlcpy in new C-CANCEL function.
- Affects: dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.05.17 (onken)
-
-- Completed doxygen documentation of DcmSCU class. Fixed some minor formatting
- issues. Fixed CVS log at end of the file.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
-
-- Implemented C-CANCEL message. Fixed some minor formatting issues.
- Changed C-ECHO implementation to rely on sendDIMSEMesage as the other
- DIMSE functions do. Changed some public function arguments to const to be
- more correct. Fixed CVS log at the end of the file.
- Affects: dcmnet/libsrc/scu.cc
-
-- Re-formatted CHANGES log entry from 2011-04-28.
- Affects: CHANGES.361
-
-**** Changes from 2011.05.13 (riesmeier)
-
-- Output log messages if value of SOPClassUID or SOPInstanceUID in file meta
- information header and dataset is different.
- Affects: dcmdata/libsrc/dcfilefo.cc
-
-**** Changes from 2011.05.11 (schlachter)
-
-- Improved handling of files which ended before the end of a sequence.
- Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
- dcmdata/libsrc/dcerror.cc
- dcmdata/libsrc/dcsequen.cc
-
-- Fixed a bug where the VR scanner wrote output to stdout.
- Affects: dcmdata/libsrc/vrscanl.c
- dcmdata/libsrc/vrscanl.h
- dcmdata/libsrc/vrscanl.l
-
-**** Changes from 2011.05.11 (eichelberg)
-
-- Removed undisplayable character from comment line, which caused a
- C8419 warning on Visual C++.
- Thanks to Wang Qiang<wq_net@163.com> for the report.
- Affects: CMake/osconfig.h.in
-
-**** Changes from 2011.05.10 (schlachter)
-
-- Add an assignment operator to OFList.
- Affects: ofstd/include/dcmtk/ofstd/oflist.h
- ofstd/tests/tstlist.cc
- ofstd/tests/tstlist.exp
-
-**** Changes from 2011.05.09 (schlachter)
-
-- Worked around compiler error during template instantiation on AIX with xlC.
- Thanks to Michael Kraemer from GSI for reporting and testing this.
- Affects: dcmjpls/libcharls/lltraits.h
-
-**** Changes from 2011.05.04 (schlachter)
-
-- Fixed some memory leaks in seldomly-used code paths. Thanks to Per Inge
- Mathisen <perim@sonowand.com> for finding these and providing a patch.
- Affects: dcmdata/libsrc/dcdirrec.cc
- dcmjpeg/libsrc/djdijg12.cc
- dcmjpeg/libsrc/djdijg16.cc
- dcmjpeg/libsrc/djdijg8.cc
- dcmnet/libsrc/dulconst.cc
- dcmnet/libsrc/dulfsm.cc
- dcmqrdb/libsrc/dcmqrdbi.cc
-
-**** Changes from 2011.05.03 (schlachter)
-
-- Fixed the source code indentation.
- Affects: dcmnet/libsrc/dulconst.cc
-
-- Remove a pointless return value from some function. This helps in static code
- analysis to ensure memory is never lost.
- Thanks to Per Inge Mathisen <perim@sonowand.com> for the idea and the patch.
- Affects: dcmnet/include/dcmtk/dcmnet/diutil.h
- dcmnet/include/dcmtk/dcmnet/lst.h
- dcmnet/libsrc/assoc.cc
- dcmnet/libsrc/diutil.cc
- dcmnet/libsrc/dul.cc
- dcmnet/libsrc/dulconst.cc
- dcmnet/libsrc/dulfsm.cc
- dcmnet/libsrc/dulparse.cc
- dcmnet/libsrc/dulpres.cc
- dcmnet/libsrc/lst.cc
- dcmwlm/libsrc/wlfsim.cc
-
-- Fixed an uninitialized buffer use with truncated DICOM files. Thanks
- to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report and patch.
- Affects: dcmdata/libsrc/dcitem.cc
-
-**** Changes from 2011.05.02 (riesmeier)
-
-- Fixed syntax error (missing closing bracket) if HAVE_GETHOSTID is undefined.
- Thanks to Per Inge Mathisen <perim@sonowand.com> for the original report.
- Affects: dcmdata/libsrc/dcuid.cc
-
-**** Changes from 2011.04.29 (riesmeier)
-
-- Added new SOP Class and Instance UIDs from final text version of Supplement
- 74 (Utilization of Worklist in Radiotherapy Treatment Delivery).
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcuid.cc
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
- dcmqrdb/docs/dcmqrscp.man
-
-- Added support for new directory record type PLAN from Supplement 74.
- Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
- dcmdata/include/dcmtk/dcmdata/dcdirrec.h
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcdirrec.cc
-
-**** Changes from 2011.04.29 (schlachter)
-
-- Fixed a off-by-one bug spotted by dcmdata/tests/tstpread.
- Affects: dcmdata/libsrc/dcelem.cc
-
-**** Changes from 2011.04.28 (onken)
-
-- Added C-MOVE code for retrieving DICOM objects. So far only retrieving
- on a separate connection is supported. Thanks to Fred Stegemann
- <fred.stegemann@fstsoft.de> for the initial patch. Added function for
- cleaning up internal memory from destructor. This function
- also fixes a memory leak in case users call initNetwork more than one time.
- Added error code returned by functions if SCU is already connected.
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-- Re-sorted header list to make scu.h come first (after osconfig.h). Protected
- public networking functions for creating an association from being called
- twice. Enhanced protection of DIMSE messaging functions from being
- called without being connected. Introduced status detail into C-FIND
- responses (and C-MOVE responses). Was not accessible to the caller before.
- Minor code cleanups.
- Affects: dcmnet/libsrc/scu.cc
-
-- Added some extra documentation.
- Affects dcmnet/include/dcmtk/dcmnet/scu.h
-
-**** Changes from 2011.04.28 (riesmeier)
-
-- Added support for final text version of Supplement 74 (Utilization of
- Worklist in Radiotherapy Treatment Delivery) to the data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2011.04.27 (riesmeier)
-
-- Added more checks on the type of DICOM object passed to the constructor.
- Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
- dcmimgle/include/dcmtk/dcmimgle/didocu.h
- dcmimgle/libsrc/didocu.cc
-
-- Added more log messages in order to get details on invalid DICOM objects.
- Affects: dcmimgle/libsrc/didocu.cc
-
-**** Changes from 2011.04.26 (riesmeier)
-
-- Output a warning message in case the pixel data on the main dataset level is
- uncompressed but the transfer syntax is encapsulated (i.e. compressed).
- Affects: dcmimgle/libsrc/didocu.cc
-
-- Fixed minor issue with wrong log output. Also moved some less interesting log
- messages from "debug" to "trace" level.
- Affects: dcmdata/libsrc/dcdicdir.cc
-
-**** Changes from 2011.04.19 (riesmeier)
-
-- Added new options for generating output filenames for multi-frame images
- (either use a 0-based counter or the absolute frame number).
- Affects: dcmimage/apps/dcm2pnm.cc
- dcmimage/docs/dcm2pnm.man
- dcmjpeg/docs/dcmj2pnm.man
- dcmjpls/docs/dcml2pnm.man
-
-- Added CP 1036, 1037, 1044 and 1078 also to the CP section comment header.
- Affects: dcmdata/data/dicom.dic
-
-- Made sure that a negative number is not accepted when expecting an unsigned
- integer (sscanf() resulted in the two's complement without this new check).
- Affects: ofstd/libsrc/ofcmdln.cc
-
-**** Changes from 2011.04.18 (schlachter)
-
-- Use global variables for the logger objects. This removes the thread-unsafe
- static local variables which were used before.
- Affects: dcmdata/include/dcmtk/dcmdata/dctypes.h
- dcmdata/include/dcmtk/dcmdata/libi2d/i2doutpl.h
- dcmdata/libi2d/i2d.cc
- dcmdata/libi2d/i2djpgs.cc
- dcmdata/libsrc/dcdict.cc
- dcmdata/libsrc/dctypes.cc
- dcmimage/include/dcmtk/dcmimage/dilogger.h
- dcmimage/libsrc/dilogger.cc
- dcmimgle/include/dcmtk/dcmimgle/diutils.h
- dcmimgle/libsrc/diutils.cc
- dcmjpeg/include/dcmtk/dcmjpeg/djutils.h
- dcmjpeg/libsrc/dipijpeg.cc
- dcmjpeg/libsrc/djdijg12.cc
- dcmjpeg/libsrc/djdijg16.cc
- dcmjpeg/libsrc/djdijg8.cc
- dcmjpeg/libsrc/djeijg12.cc
- dcmjpeg/libsrc/djeijg16.cc
- dcmjpeg/libsrc/djeijg8.cc
- dcmjpeg/libsrc/djutils.cc
- dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
- dcmjpls/libsrc/djutils.cc
- dcmnet/include/dcmtk/dcmnet/diutil.h
- dcmnet/libsrc/dfindscu.cc
- dcmnet/libsrc/diutil.cc
- dcmnet/libsrc/dulparse.cc
- dcmnet/libsrc/scp.cc
- dcmnet/libsrc/scu.cc
- dcmpstat/include/dcmtk/dcmpstat/dvpsdef.h
- dcmpstat/libsrc/dcmpstat.cc
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h
- dcmqrdb/libsrc/dcmqrcnf.cc
- dcmqrdb/libsrc/dcmqrtis.cc
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrtypes.cc
- dcmtls/include/dcmtk/dcmtls/tlslayer.h
- dcmtls/libsrc/tlslayer.cc
- dcmwlm/include/dcmtk/dcmwlm/wlds.h
- dcmwlm/libsrc/wlds.cc
- dcmwlm/libsrc/wlfsim.cc
- dcmwlm/libsrc/wlmactmg.cc
-
-**** Changes from 2011.04.12 (schlachter)
-
-- Delay loading of the data dictionary until its first use.
- Affects: dcmdata/include/dcmtk/dcmdata/dcdict.h
- dcmdata/libsrc/dcdict.cc
-
-**** Changes from 2011.04.06 (riesmeier)
-
-- Added support for final text version of Supplement 96 (Unified Worklist and
- Procedure Step) to data dictionary; added new SOP Class and Instance UIDs.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/libsrc/dcdictzz.cc
- dcmdata/libsrc/dcuid.cc
-
-- Added support for CP 1076, which adds a new "PNAME has properties" row to the
- relationship content constraints table.
- Affects: dcmsr/libsrc/dsrbascc.cc
- dcmsr/libsrc/dsrcomcc.cc
- dcmsr/libsrc/dsrenhcc.cc
- dcmsr/libsrc/dsrxrdcc.cc
-
-**** Changes from 2011.04.05 (riesmeier)
-
-- Output DIMSE status code in hexadecimal format to the logger. Removed unused
- code (local half-implemented function). Added more comments.
- Affects: dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.04.04 (riesmeier)
-
-- Output presentation context ID of incoming C-ECHO request to debug logger.
- Affects: dcmnet/apps/movescu.cc
-
-- Slightly modified text on --prepend option (depends on --search option).
- Affects: dcmdata/apps/dcmdump.cc
- dcmdata/docs/dcmdump.man
-
-**** Changes from 2011.04.01 (schlachter)
-
-- Improved handling of odd-length OW values in DcmElement::getPartialValue.
- Thanks to forum user "xcoder" for the original report and sample file.
- Affects: dcmdata/libsrc/dcelem.cc
-
-**** Changes from 2011.04.01 (riesmeier)
-
-- Output message ID of C-ECHO request to the info logger (see C-STORE request).
- Affects: dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
-
-**** Changes from 2011.03.25 (riesmeier)
-
-- Added prefix "DCMTK_" to various installation sub-directory CMake variables.
- Affects: CMake/GenerateDCMTKConfigure.cmake
-
-**** Changes from 2011.03.24 (riesmeier)
-
-- Added support for deflated transfer syntax (zlib compression) on incoming
- associations. Also fixed some inconsistencies when preferring transfer
- syntaxes with explicit VR.
- Affects: dcmwlm/apps/Makefile.dep
- dcmwlm/apps/wlcefs.cc
- dcmwlm/docs/wlmscpfs.man
- dcmwlm/libsrc/wlmactmg.cc
-
-- Added support for deflated transfer syntax (zlib compression) on outgoing
- associations.
- Affects: dcmnet/apps/findscu.cc
- dcmnet/apps/Makefile.dep
- dcmnet/docs/findscu.man
- dcmnet/libsrc/dfindscu.cc
-
-- Added support for deflated transfer syntax (zlib compression) on outgoing
- associations. Also fixed some inconsistencies regarding the transfer syntax
- for incoming associations, e.g. checking of command line option conflicts.
- Affects: dcmnet/apps/movescu.cc
- dcmnet/docs/movescu.man
-
-**** Changes from 2011.03.23 (riesmeier)
-
-- Added support for a library postfix when using debug builds (CMake only).
- Thanks to forum user "jacobf" for the suggestion.
- Affects: CMakeLists.txt
-
-- Made various installation sub-directories configurable by the CMake user.
- Affects: CMakeLists.txt
-
-- Added prefix "DCMTK_" to various installation sub-directory CMake variables.
- Affects: CMakeLists.txt
- config/docs/CMakeLists.txt
- dcmdata/apps/CMakeLists.txt
- dcmdata/data/CMakeLists.txt
- dcmdata/docs/CMakeLists.txt
- dcmdata/include/dcmtk/dcmdata/CMakeLists.txt
- dcmdata/include/dcmtk/dcmdata/libi2d/CMakeLists.txt
- dcmdata/libi2d/CMakeLists.txt
- dcmdata/libsrc/CMakeLists.txt
- dcmdata/tests/CMakeLists.txt
- dcmimage/apps/CMakeLists.txt
- dcmimage/include/dcmtk/dcmimage/CMakeLists.txt
- dcmimage/libsrc/CMakeLists.txt
- dcmimgle/apps/CMakeLists.txt
- dcmimgle/data/CMakeLists.txt
- dcmimgle/include/dcmtk/dcmimgle/CMakeLists.txt
- dcmimgle/libsrc/CMakeLists.txt
- dcmjpeg/apps/CMakeLists.txt
- dcmjpeg/include/dcmtk/dcmjpeg/CMakeLists.txt
- dcmjpeg/libijg12/CMakeLists.txt
- dcmjpeg/libijg16/CMakeLists.txt
- dcmjpeg/libijg8/CMakeLists.txt
- dcmjpeg/libsrc/CMakeLists.txt
- dcmjpls/apps/CMakeLists.txt
- dcmjpls/include/dcmtk/dcmjpls/CMakeLists.txt
- dcmjpls/libcharls/CMakeLists.txt
- dcmjpls/libsrc/CMakeLists.txt
- dcmnet/apps/CMakeLists.txt
- dcmnet/docs/CMakeLists.txt
- dcmnet/etc/CMakeLists.txt
- dcmnet/include/dcmtk/dcmnet/CMakeLists.txt
- dcmnet/libsrc/CMakeLists.txt
- dcmpstat/apps/CMakeLists.txt
- dcmpstat/data/CMakeLists.txt
- dcmpstat/etc/CMakeLists.txt
- dcmpstat/include/dcmtk/dcmpstat/CMakeLists.txt
- dcmpstat/libsrc/CMakeLists.txt
- dcmqrdb/apps/CMakeLists.txt
- dcmqrdb/docs/CMakeLists.txt
- dcmqrdb/etc/CMakeLists.txt
- dcmqrdb/include/dcmtk/dcmqrdb/CMakeLists.txt
- dcmqrdb/libsrc/CMakeLists.txt
- dcmsign/apps/CMakeLists.txt
- dcmsign/include/dcmtk/dcmsign/CMakeLists.txt
- dcmsign/libsrc/CMakeLists.txt
- dcmsr/apps/CMakeLists.txt
- dcmsr/data/CMakeLists.txt
- dcmsr/include/dcmtk/dcmsr/CMakeLists.txt
- dcmsr/libsrc/CMakeLists.txt
- dcmtls/docs/CMakeLists.txt
- dcmtls/include/dcmtk/dcmtls/CMakeLists.txt
- dcmtls/libsrc/CMakeLists.txt
- dcmwlm/apps/CMakeLists.txt
- dcmwlm/data/CMakeLists.txt
- dcmwlm/docs/CMakeLists.txt
- dcmwlm/include/dcmtk/dcmwlm/CMakeLists.txt
- dcmwlm/libsrc/CMakeLists.txt
- doxygen/CMakeLists.txt
- oflog/etc/CMakeLists.txt
- oflog/include/dcmtk/oflog/CMakeLists.txt
- oflog/include/dcmtk/oflog/config/CMakeLists.txt
- oflog/include/dcmtk/oflog/helpers/CMakeLists.txt
- oflog/include/dcmtk/oflog/spi/CMakeLists.txt
- oflog/libsrc/CMakeLists.txt
- ofstd/include/dcmtk/ofstd/CMakeLists.txt
- ofstd/libsrc/CMakeLists.txt
-
-- Added short note on the CMake variable "CMAKE_INSTALL_PREFIX".
- Affects: INSTALL
-
-**** Changes from 2011.03.22 (riesmeier)
-
-- Added new option for colored output of the textual dump - Unix only.
- Affects: dcmsr/apps/dsrdump.cc
- dcmsr/docs/dsrdump.man
-
-- Added support for colored output to the print() method - Unix only.
- Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrcodtn.cc
- dcmsr/libsrc/dsrcomtn.cc
- dcmsr/libsrc/dsrcontn.cc
- dcmsr/libsrc/dsrdattn.cc
- dcmsr/libsrc/dsrdoc.cc
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrdoctr.cc
- dcmsr/libsrc/dsrdtitn.cc
- dcmsr/libsrc/dsrimgtn.cc
- dcmsr/libsrc/dsrnumtn.cc
- dcmsr/libsrc/dsrpnmtn.cc
- dcmsr/libsrc/dsrreftn.cc
- dcmsr/libsrc/dsrsc3tn.cc
- dcmsr/libsrc/dsrscotn.cc
- dcmsr/libsrc/dsrtcotn.cc
- dcmsr/libsrc/dsrtextn.cc
- dcmsr/libsrc/dsrtimtn.cc
- dcmsr/libsrc/dsrtypes.cc
- dcmsr/libsrc/dsruidtn.cc
- dcmsr/libsrc/dsrwavtn.cc
-
-- Made sure that the header delimiter " : " is only printed when needed.
- Affects: dcmsr/libsrc/dsrdoc.cc
-
-- Added note that the new color options are not available on Windows systems.
- Affects: dcmsr/docs/dsrdump.man
-
-- Added note that the multi-process options are only available on systems that
- support the fork() call, i.e. not on Windows systems.
- Affects: dcmqrdb/docs/dcmqrscp.man
-
-- Updated information on latest version of CMake that has been tested (2.8.4).
- Affects: CMakeLists.txt
-
-**** Changes from 2011.03.21 (riesmeier)
-
-- Added new command line option that allows for disabling the output of ANSI
- escape codes for colored output (which was and still is the default).
- Affects: dcmdata/apps/dcmdump.cc
- dcmdata/docs/dcmdump.man
-
-- Added module name "DCMDATA_" as a prefix to the ANSI escape code macros.
- Affects: dcmdata/apps/dcmdump.cc
- dcmdata/include/dcmtk/dcmdata/dctypes.h
- dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcmetinf.cc
- dcmdata/libsrc/dcobject.cc
-
-- Moved ANSI escape code for "reset" to the end of each output line (before
- "OFendl") in order to avoid unwanted output if the stream gets interrupted.
- Affects: dcmdata/libsrc/dcdatset.cc
- dcmdata/libsrc/dcdirrec.cc
- dcmdata/libsrc/dcfilefo.cc
- dcmdata/libsrc/dcmetinf.cc
- dcmdata/libsrc/dcobject.cc
-
-**** Changes from 2011.03.18 (riesmeier)
-
-- Introduced new read flag that allows for accepting an invalid content item
- value (e.g. violation of VR or VM definition).
- Thanks to forum user "Yves Neumann" for the original report and sample file.
- Affects: dcmsr/apps/dsr2html.cc
- dcmsr/apps/dsrdump.cc
- dcmsr/docs/dsr2html.man
- dcmsr/docs/dsrdump.man
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
- dcmsr/libsrc/dsrdoctn.cc
- dcmsr/libsrc/dsrtypes.cc
-
-**** Changes from 2011.03.17 (schlachter)
-
-- Fixed a case where calcElementLength() used a wrong header length. Thanks
- to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report and patch.
- Affects: dcmdata/libsrc/dcelem.cc
-
-**** Changes from 2011.03.17 (riesmeier)
-
-- Added support for MPEG4 transfer syntaxes to network tools.
- Affects: dcmnet/apps/echoscu.cc
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
- dcmnet/docs/echoscu.man
- dcmnet/docs/movescu.man
- dcmnet/docs/storescp.man
- dcmnet/docs/storescu.man
- dcmqrdb/apps/dcmqrscp.cc
- dcmqrdb/docs/dcmqrscp.man
- dcmqrdb/libsrc/dcmqrcbm.cc
- dcmqrdb/libsrc/dcmqrsrv.cc
-
-- Made sure that the array "transferSyntaxes" is large enough (16 entries).
- Affects: dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
-
-**** Changes from 2011.03.16 (riesmeier)
-
-- Added support for MPEG4 transfer syntaxes to association negotiation profile.
- Affects: dcmnet/etc/storescp.cfg
- dcmnet/etc/storescu.cfg
-
-**** Changes from 2011.03.15 (riesmeier)
-
-- Remove data element PixelPaddingRangeLimit together with PixelPaddingValue.
- Affects: dcmjpeg/libsrc/djcodece.cc
-
-**** Changes from 2011.03.15 (schlachter)
-
-- Make sure we don't accidentally append a padding byte twice. Thanks to
- Gary Carter <gary.carter@eigen.com> for the report and suggested fix.
- Affects: dcmdata/libsrc/dcvrobow.cc
-
-**** Changes from 2011.03.14 (riesmeier)
-
-- Output value of SOP Class UID in debug mode when reading a DICOM dataset.
- Affects: dcmsr/libsrc/dsrdoc.cc
-
-**** Changes from 2011.03.10 (riesmeier)
-
-- Reworked VisualStudio-specific settings: The new approach has less redundant
- definitions and more reliability for future versions of the MS compiler.
- Affects: CMakeLists.txt
-
-*** Changes from 2011.03.09 (onken)
-
-- Enhanced error message for missing data in store request.
- Affects: dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.03.08 (schlachter)
-
-- Made OFList's destructor virtual again to fix memory leaks.
- Thanks to forum user "vsalomoni" for the report.
- Affects: ofstd/include/dcmtk/ofstd/oflist.h
-
-- Fixed crash in dcmjpls if no representation parameter is given. Thanks to
- Christian Fremgen <Christian.Fremgen@ith-icoserve.com> for the report.
- Affects: dcmjpls/include/dcmtk/dcmjpls/djrparam.h
- dcmjpls/libsrc/djcodece.cc
-
-**** Changes from 2011.03.03 (schlachter)
-
-- Avoid a warning about an always-true expression in an if statement.
- Affects: dcmjpeg/libsrc/dipijpeg.cc
-
-**** Changes from 2011.03.03 (riesmeier)
-
-- Fixed possible issue with overlay planes in multi-frame images. Also enhanced
- log output (trace mode) in order to make it easier to analyze such problems.
- Thanks to forum user "merlin" for the report and DICOM sample file.
- Affects: dcmimgle/include/dcmtk/dcmimgle/diovpln.h
- dcmimgle/libsrc/diovpln.cc
-
-**** Changes from 2011.03.01 (riesmeier)
-
-- Fixed some private tags copied from Philips MR Achieva conformance statement.
- Also added a couple of new private tags from the same conformance statement.
- Affects: dcmdata/data/private.dic
- dcmdata/libsrc/dcdictzz.cc
-
-- Added evaluation version of non-public DICOM tool "ppsmgr".
- Affects: config/changext
-
-**** Changes from 2011.02.25 (schlachter)
-
-- Move the CharLS version string to a central place.
- Affects: dcmimage/apps/dcm2pnm.cc
- dcmjpls/apps/dcmcjpls.cc
- dcmjpls/apps/dcmdjpls.cc
- dcmjpls/include/dcmtk/dcmjpls/djdecode.h
- dcmjpls/include/dcmtk/dcmjpls/djencode.h
- dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
- dcmjpls/libsrc/djdecode.cc
- dcmjpls/libsrc/djencode.cc
-
-**** Changes from 2011.02.23 (riesmeier)
-
-- Fixed issue with undefined priority field in C-STORE and C-FIND request.
- Thanks to forum user "kosborn" for the bug report.
- Affects: dcmnet/libsrc/scu.cc
-
-**** Changes from 2011.02.22 (eichelberg)
-
-- Added new method SiPrivateKey::getRawPrivateKey()
- Affects: dcmsign/include/dcmtk/dcmsign/siprivat.h
- dcmsign/libsrc/siprivat.cc
-
-**** Changes from 2011.02.16 (riesmeier)
-
-- Fixed issue in sendSTORERequest() when sending a dataset that was created
- in memory (and which has, therefore, an original transfer of EXS_Unknown).
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/scu.cc
-
-- Fixed some subsection names (introduced "_" where appropriate).
- Affects: dcmdata/docs/img2dcm.man
-
-**** Changes from 2011.02.11 (riesmeier)
-
-- Removed redundant "TransferSyntax" suffix from "EXS_..." enum definitions.
- Affects: dcmdata/include/dcmtk/dcmdata/dcxfer.h
- dcmdata/libi2d/i2djpgs.cc
- dcmdata/libsrc/dcddirif.cc
- dcmdata/libsrc/dcxfer.cc
- dcmjpeg/apps/dcmcjpeg.cc
- dcmjpeg/apps/dcmdjpeg.cc
- dcmjpeg/libsrc/djdecbas.cc
- dcmjpeg/libsrc/djdecext.cc
- dcmjpeg/libsrc/djdeclol.cc
- dcmjpeg/libsrc/djdecpro.cc
- dcmjpeg/libsrc/djdecsps.cc
- dcmjpeg/libsrc/djdecsv1.cc
- dcmjpeg/libsrc/djencbas.cc
- dcmjpeg/libsrc/djencext.cc
- dcmjpeg/libsrc/djenclol.cc
- dcmjpeg/libsrc/djencpro.cc
- dcmjpeg/libsrc/djencsps.cc
- dcmjpeg/libsrc/djencsv1.cc
- dcmnet/apps/movescu.cc
- dcmnet/apps/storescp.cc
- dcmnet/apps/storescu.cc
- dcmnet/libsrc/dimse.cc
- dcmqrdb/apps/dcmqrscp.cc
- dcmqrdb/libsrc/dcmqrcbm.cc
- dcmqrdb/libsrc/dcmqrsrv.cc
-
-- Added initial support for the MPEG4 transfer syntaxes from Supplement 149.
- Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
- dcmdata/include/dcmtk/dcmdata/dcxfer.h
- dcmdata/libsrc/dcuid.cc
- dcmdata/libsrc/dcxfer.cc
- dcmnet/libsrc/dimse.cc
-
-- Moved retired data elements to the end of the dictionary in order to make
- sure that the most recent definitions are used, even for old ACR/NEMA tags.
- Please note that some names changed from "ACR_NEMA_..." to "RETIRED_...".
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-- Added support for CP 1036, 1037, 1044, 1057 and 1078 to data dictionary.
- Affects: dcmdata/data/dicom.dic
- dcmdata/include/dcmtk/dcmdata/dcdeftag.h
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2011.02.10 (riesmeier)
-
-- Changed default name of CHM file (removed version number from the filename).
- Affects: doxygen/htmldocs.cfg
-
-**** Changes from 2011.02.09 (riesmeier)
-
-- Create a new instance of DcmPixelData instead of DcmPolymorphOBOW in method
- writeImageToDataset() in order to avoid problems with later type casts.
- Thanks to Tilman Vogel <tilman@circlecvi.com> for the report & suggested fix.
- Affects: dcmimage/libsrc/dicoimg.cc
-
-- Added check on class of PixelData element before casting to DcmPixelData.
- Affects: dcmimgle/libsrc/didocu.cc
-
-- Output version information on CharLS library if compiled as "dcml2pnm".
- Affects: dcmimage/apps/dcm2pnm.cc
-
-- If DEBUG is defined, report on the presence of debug code when printing the
- host information, e.g. by calling command line tools with option --version.
- Affects: ofstd/include/dcmtk/ofstd/ofconapp.h
- ofstd/libsrc/ofconapp.cc
-
-**** Changes from 2011.02.04 (schlachter)
-
-- Made sure all members are initialized in the constructor (-Weffc++).
- Affects: dcmjpeg/libsrc/djcparam.cc
- dcmnet/include/dcmtk/dcmnet/scp.h
- dcmnet/include/dcmtk/dcmnet/scu.h
- dcmnet/libsrc/dcuserid.cc
- dcmnet/libsrc/scu.cc
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrptb.h
- dcmqrdb/libsrc/dcmqrsrv.cc
- dcmtls/libsrc/tlsscu.cc
- dcmwlm/include/dcmtk/dcmwlm/wltypdef.h
-
-- Made sure we only save assignable classes in STL containers.
- Affects: dcmdata/apps/mdfconen.cc
- dcmdata/apps/mdfconen.h
- dcmnet/include/dcmtk/dcmnet/dccfenmp.h
- dcmnet/include/dcmtk/dcmnet/dccfpcmp.h
- dcmnet/include/dcmtk/dcmnet/dccfrsmp.h
- dcmnet/libsrc/dccfenmp.cc
- dcmnet/libsrc/dccfpcmp.cc
- dcmnet/libsrc/dccfrsmp.cc
- oflog/include/dcmtk/oflog/logger.h
-
-- Added private undefined functions where gcc's -Weffc++ warns otherwise.
- Affects: dcmnet/include/dcmtk/dcmnet/dfindscu.h
- dcmnet/include/dcmtk/dcmnet/scu.h
- dcmpstat/include/dcmtk/dcmpstat/dvpstat.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbg.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbm.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h
- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h
-
-- Made OFList's destructor non-virtual to match std::list.
- Affects: ofstd/include/dcmtk/ofstd/oflist.h
-
-- Stop inheriting from OFList and OFListIterator.
- Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h
- dcmdata/libsrc/dchashdi.cc
-
-**** Changes from 2011.02.03 (riesmeier)
-
-- Fixed incomplete path to header file in include statement of the sample code.
- Affects: dcmimage/docs/dcmimage.dox
-
-**** Changes from 2011.02.02 (riesmeier)
-
-- Moved documentation of valid values for the VMs that can be checked to a
- central place, i.e. DcmElement::checkVM().
- Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
- dcmdata/include/dcmtk/dcmdata/dcsequen.h
- dcmdata/include/dcmtk/dcmdata/dcvrae.h
- dcmdata/include/dcmtk/dcmdata/dcvras.h
- dcmdata/include/dcmtk/dcmdata/dcvrat.h
- dcmdata/include/dcmtk/dcmdata/dcvrcs.h
- dcmdata/include/dcmtk/dcmdata/dcvrda.h
- dcmdata/include/dcmtk/dcmdata/dcvrds.h
- dcmdata/include/dcmtk/dcmdata/dcvrdt.h
- dcmdata/include/dcmtk/dcmdata/dcvrfd.h
- dcmdata/include/dcmtk/dcmdata/dcvrfl.h
- dcmdata/include/dcmtk/dcmdata/dcvris.h
- dcmdata/include/dcmtk/dcmdata/dcvrlo.h
- dcmdata/include/dcmtk/dcmdata/dcvrpn.h
- dcmdata/include/dcmtk/dcmdata/dcvrsh.h
- dcmdata/include/dcmtk/dcmdata/dcvrsl.h
- dcmdata/include/dcmtk/dcmdata/dcvrss.h
- dcmdata/include/dcmtk/dcmdata/dcvrtm.h
- dcmdata/include/dcmtk/dcmdata/dcvrui.h
- dcmdata/include/dcmtk/dcmdata/dcvrul.h
- dcmdata/include/dcmtk/dcmdata/dcvrus.h
- dcmsr/include/dcmtk/dcmsr/dsrtypes.h
-
-- Added support for further VMs required for tags in the private dictionary.
- Affects: dcmdata/libsrc/dcelem.cc
-
-- Added description column with text "PrivateTag" to all entries.
- Affects: dcmdata/data/private.dic
- dcmdata/libsrc/dcdictzz.cc
-
-- Added private tags from recent conformance statements from GE and Siemens.
- Thanks to Per Inge Mathisen <perim@sonowand.com> for this contribution.
- Affects: dcmdata/data/private.dic
- dcmdata/libsrc/dcdictzz.cc
-
-**** Changes from 2011.02.01 (riesmeier)
-
-- Made sure that OFFIS_DCMTK_VERSION_NUMBER is really a number and not a
- string. Thanks to forum user "poupofa" for the report and suggested fix.
- Affects: CMakeLists.txt
- CMake/osconfig.h.in
- config/configure.in
- config/configure
- dcmdata/include/dcmtk/dcmdata/dcuid.h
-
-- Renamed library "libi2d" to "i2d" for reasons of consistency.
- Thanks to Pietro Cerutti <gahr@FreeBSD.org> for pointing this out.
- Affects: dcmdata/apps/CMakeLists.txt
- dcmdata/libi2d/CMakeLists.txt
- dcmdata/tests/CMakeLists.tx
-
-- Added optional support for building shared libraries with CMake.
- Affects: CMakeLists.txt
- dcmimage/apps/CMakeLists.txt
- dcmimgle/apps/CMakeLists.txt
- dcmjpeg/apps/CMakeLists.txt
- dcmjpls/apps/CMakeLists.txt
- dcmpstat/apps/CMakeLists.txt
- dcmqrdb/apps/CMakeLists.txt
- dcmwlm/apps/CMakeLists.txt
-
-- Made sure that created file "lzwtest.tif" is deleted for "make distclean".
- Affects: config/Makefile.in
-
-- Always link LIBTIFF and LIBPNG to the command line tools in order to avoid
- linker errors when using DCMTK with shared libraries (see FAQ #13).
- Affects: dcmjpls/apps/Makefile.in
-
-- Added "const" specifier to parameter in order to be consistent with the
- source file (caused warnings/errors with certain compilers).
- Affects: dcmnet/include/dcmtk/dcmnet/scu.h
-
-- Updated version number to 3.6.1 (the new development snapshot).
- Affects: CMakeLists.txt
- config/configure
- config/configure.in
- VERSION
-
-- Added explanatory section on the development snapshot.
- Affects: INSTALL
-
-- Created new preliminary annnouncement file for version 3.6.1.
- Added: ANNOUNCE.361
-
-- Created new change log for version 3.6.1.
- Added: CHANGES.361
-
-- Moved old announcement and change log for release 3.6.0 to "docs".
- Removed: ANNOUNCE.360
- CHANGES.360
- Added: docs/ANNOUNCE.360
- docs/CHANGES.360
-
-**** Changes from 2011.01.13 (riesmeier)
-
-- Added non-public modules "dcmprint", "dcmprscp" and "dcmppscu" as an optional
- extension to the documentation.
- Affects: doxygen/htmldocs.cfg
- doxygen/htmldocs.dox
--- /dev/null
+
+Release 3.6.2 (Public Release - 2017-07-14)
+
+**** Changes from 2017.07.14 (schlamelcher)
+
+- Created CHANGES.362 for DCMTK release 3.6.2:
+ Created CHANGES.362 for DCMTK release based on CHANGES.361 and the commit
+ history since the last snapshot.
+ Modified CHANGES to no longer only refer to DCMTK snapshots.
+ CHANGES.361 has been removed since the content is included in CHANGES.362.
+ Added: docs/CHANGES.362
+ Affects: CHANGES
+ Removed: docs/CHANGES.361
+
+- Updated man pages for DCMTK release 3.6.2.
+ Affects: doxygen/manpages/man1/dcm2json.1
+ doxygen/manpages/man1/dcm2pdf.1
+ doxygen/manpages/man1/dcm2pnm.1
+ doxygen/manpages/man1/dcm2xml.1
+ doxygen/manpages/man1/dcmcjpeg.1
+ doxygen/manpages/man1/dcmcjpls.1
+ doxygen/manpages/man1/dcmconv.1
+ doxygen/manpages/man1/dcmcrle.1
+ doxygen/manpages/man1/dcmdjpeg.1
+ doxygen/manpages/man1/dcmdjpls.1
+ doxygen/manpages/man1/dcmdrle.1
+ doxygen/manpages/man1/dcmdspfn.1
+ doxygen/manpages/man1/dcmdump.1
+ doxygen/manpages/man1/dcmftest.1
+ doxygen/manpages/man1/dcmgpdir.1
+ doxygen/manpages/man1/dcmj2pnm.1
+ doxygen/manpages/man1/dcml2pnm.1
+ doxygen/manpages/man1/dcmmkcrv.1
+ doxygen/manpages/man1/dcmmkdir.1
+ doxygen/manpages/man1/dcmmklut.1
+ doxygen/manpages/man1/dcmodify.1
+ doxygen/manpages/man1/dcmp2pgm.1
+ doxygen/manpages/man1/dcmprscp.1
+ doxygen/manpages/man1/dcmprscu.1
+ doxygen/manpages/man1/dcmpschk.1
+ doxygen/manpages/man1/dcmpsmk.1
+ doxygen/manpages/man1/dcmpsprt.1
+ doxygen/manpages/man1/dcmpsrcv.1
+ doxygen/manpages/man1/dcmpssnd.1
+ doxygen/manpages/man1/dcmqridx.1
+ doxygen/manpages/man1/dcmqrscp.1
+ doxygen/manpages/man1/dcmqrti.1
+ doxygen/manpages/man1/dcmquant.1
+ doxygen/manpages/man1/dcmrecv.1
+ doxygen/manpages/man1/dcmscale.1
+ doxygen/manpages/man1/dcmsend.1
+ doxygen/manpages/man1/dcmsign.1
+ doxygen/manpages/man1/dcod2lum.1
+ doxygen/manpages/man1/dconvlum.1
+ doxygen/manpages/man1/drtdump.1
+ doxygen/manpages/man1/dsr2html.1
+ doxygen/manpages/man1/dsr2xml.1
+ doxygen/manpages/man1/dsrdump.1
+ doxygen/manpages/man1/dump2dcm.1
+ doxygen/manpages/man1/echoscu.1
+ doxygen/manpages/man1/findscu.1
+ doxygen/manpages/man1/getscu.1
+ doxygen/manpages/man1/img2dcm.1
+ doxygen/manpages/man1/movescu.1
+ doxygen/manpages/man1/pdf2dcm.1
+ doxygen/manpages/man1/storescp.1
+ doxygen/manpages/man1/storescu.1
+ doxygen/manpages/man1/termscu.1
+ doxygen/manpages/man1/wlmscpfs.1
+ doxygen/manpages/man1/xml2dcm.1
+ doxygen/manpages/man1/xml2dsr.1
+
+- Updated version information for DCMTK release 3.6.2.
+ Affects: CMake/dcmtkPrepare.cmake
+ VERSION
+ config/configure
+ config/configure.in
+
+- Updated Makefile dependencies.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/libi2d/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmfg/libsrc/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimage/libsrc/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmiod/libsrc/Makefile.dep
+ dcmiod/tests/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpeg/libsrc/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmjpls/libcharls/Makefile.dep
+ dcmjpls/libsrc/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/tests/Makefile.dep
+ dcmpmap/libsrc/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmqrdb/libsrc/Makefile.dep
+ dcmrt/apps/Makefile.dep
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/tests/Makefile.dep
+ dcmseg/libsrc/Makefile.dep
+ dcmseg/tests/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsign/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmtract/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ dcmwlm/tests/Makefile.dep
+ oflog/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+
+- Updated ANNOUNCE and INSTALL for DCMTK release 3.6.2.
+ Affects: ANNOUNCE
+ INSTALL
+
+**** Changes from 2017.07.13 (schlamelcher)
+
+- Made including third-party libraries version agnostic:
+ Made the Windows specific CMake code for including third party libraries
+ version agnostic, i.e. it now searches for "libtiff*" instead of
+ "libtiff-<hardcoded version number>".
+ Affects: CMake/3rdparty.cmake
+
+**** Changes from 2017.07.12 (schlamelcher)
+
+- Added support for suppressing C4307 on Visual Studio:
+ Added support for suppressing integer overflow warnings emitted by Visual
+ Studio, currently used to suppress this warning in the OFnumeric_limits unit
+ test where the integer overflow behavior is being tested.
+ Affects: ofstd/include/dcmtk/ofstd/diag/overflow.def
+
+- Removed several macros from config/docs/macros.txt:
+ Removed the description of several macros from config/docs/macros.txt since
+ they are now controlled by Autoconf/CMake and should no longer be modified by
+ the user directly.
+ Affects: config/docs/macros.txt
+
+- Removed no longer required section from COPYRIGHT:
+ Removed no longer required section about the Android toolchain configuration
+ file from COPYRIGHT since the reference file has been removed from DCMTK.
+ Affects: COPYRIGHT
+
+**** Changes from 2017.07.12 (onken)
+
+- Export new LFS CMake flag to DCMTKConfig.cmake:
+ Export the recently introduced LFS CMake flag to DCMTKConfig.cmake (for
+ current CMake version and legacy versions > 2.8.3).
+ Affects: CMake/DCMTKConfig.cmake.in
+ CMake/DCMTKConfig.old_cmake.in
+
+**** Changes from 2017.07.12 (riesmeier)
+
+- Updated copyright date.
+ Affects: COPYRIGHT
+
+**** Changes from 2017.07.11 (schlamelcher)
+
+- Added a workaround for inconsistent LFS API under QNX.
+ Affects: ofstd/include/dcmtk/ofstd/offile.h
+
+- More fixes for SunPro:
+ Modified the configuration test for readdir_r to also check the number of
+ arguments and their types. This broke overnight for an unknown reason.
+ Silenced some warnings about overloaded methods being hidden in derived
+ classes.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ dcmdata/include/dcmtk/dcmdata/dcchrstr.h
+ dcmdata/include/dcmtk/dcmdata/dcvrae.h
+ dcmdata/include/dcmtk/dcmdata/dcvrcs.h
+ dcmdata/include/dcmtk/dcmdata/dcvrda.h
+ dcmdata/include/dcmtk/dcmdata/dcvrdt.h
+ dcmdata/include/dcmtk/dcmdata/dcvrtm.h
+ dcmdata/include/dcmtk/dcmdata/dcvrur.h
+
+- Small fixes for a previous commit:
+ Fixed a typo and removed an inappropriate restriction (only affecting the
+ CMake GUI):
+ DCMTK_ENABLE_LFS was falsely restricted to the modes that were detected as
+ available, making it impossible to choose 'lfs' in case 'lfs64' was available
+ (since in that case the test looking for 'lfs' was not run and it was
+ therefore unknown whether it is available or not). Now it is also possible to
+ choose modes where the configuration tests have not been executed yet to
+ trigger launching the tests in the first place.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+- Workaround for strange LFS implementation on Windows:
+ Windows (Visual Studio) provides a strange implicit LFS implementation where
+ fpos_t is a 64 bit type but off_t is 32 bit.
+ This implementation is now detected via configuration tests (CMake, not
+ relevant for Autoconf since it is Windows only) and then honored by ignoring
+ off_t and using Sint64 instead. This replaces the '#ifdef _WIN32' hacks
+ removed by a previous commit hoping the already introduced configuration tests
+ made them obsolete (which should now finally be the case).
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ ofstd/include/dcmtk/ofstd/offile.h
+
+**** Changes from 2017.07.10 (schlamelcher)
+
+- Added DCMTK_ENABLE_LFS for choosing LFS type (CMake):
+ Added CMake variable for choosing the LFS type (lfs64/lfs/auto/off). This
+ implementation is now similar to the Autoconf one (--enable-lfs=).
+ Also modified the resulting macro in 'osconfig.h' to explicitly select the
+ implementation, similar to DCMTK_ENABLE_CHARSET_CONVERSION. OFFile will now
+ use EXPLICIT_LFS64 in case DCMTK_ENABLE_LFS is set to DCMTK_LFS64 and call
+ the normal file access functions otherwise.
+ The only difference between setting DCMTK_ENABLE_LFS to 'lfs' and 'off' is
+ that setting it to 'off' will not set the required compiler flags and
+ preprocessor definitions (if any) i.e. it is not possible forcibly disable LFS
+ in case it is implicitly provided without setting any flags and/or
+ preprocessor definitions.
+ Added: config/tests/lfs.c
+ config/tests/lfs64.cc
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/aclocal.m4
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ ofstd/include/dcmtk/ofstd/offile.h
+
+- Added a workaround for C++11 compiling errors:
+ Added a workaround for errors when enabling C++11 (DCMTK_ENABLE_CXX11) without
+ enabling std::tuple. It is of course debatable whether this scenario makes any
+ sense at all, but since it is currently the default behavior this workaround
+ should increase usability.
+ We should possible override the user choice whether or not to enable
+ std::tuple in case C++11 was enabled in the future or provide a full C++11
+ implementation of OFtuple (is there any C++11 compiler that does not have
+ std::tuple?).
+ Affects: ofstd/include/dcmtk/ofstd/variadic/tuple.h
+
+**** Changes from 2017.07.07 (schlamelcher)
+
+- Silenced output of FIND_PACKAGE(ICU):
+ Silenced the output of FIND_PACKAGE(ICU) to be consistent with the other
+ occurrences of FIND_PACKAGE() within the CMake configuration.
+ Affects: CMake/3rdparty.cmake
+
+- Fixed wrong usage of alignas:
+ Fixed using alignas within typedefs (which was first introduced to realize
+ compatibility with the implementation for Visual Studio). The new
+ implementations of OFalign and OFalign_typename for alignas only define the
+ given type without the alignment (for handling arrays) and add the alignment
+ modifier on preprocessor level.
+ Adjusted the documentation of OFalign accordingly and removed the now
+ unnecessary configuration test whether type definitions using alignas are
+ possible (since even if the test succeeded the compilers most likely didn't
+ actually align the resulting type as one would expect).
+ Thanks to Stefan Hengelein and Peter Klotz for reporting the issue.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/aclocal.m4
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ ofstd/include/dcmtk/ofstd/ofalign.h
+ ofstd/include/dcmtk/ofstd/ofoption.h
+
+**** Changes from 2017.07.06 (schlamelcher)
+
+- Fixed unexpected iconv behavior on FreeBSD:
+ The iconv implementation inside FreeBSD's C standard library shows custom
+ behavior when illegal character sequences are encountered (replacing them
+ with '?' instead of failing the conversion). OFCharacterEncoding now correctly
+ describes this behavior as unknown and does not longer claim that it supports
+ the mode 'AbortTranscodingOnIllegalSequence'.
+ Affects: ofstd/libsrc/ofchrenc.cc
+
+**** Changes from 2017.07.05 (schlamelcher)
+
+- Fixed compiling with Oracle Developer Studio (SunPro):
+ Fixed linker issues caused by missing 'const' modifiers on some by-value
+ arguments. The compiler seems to understand that these functions are
+ compatible but then creates symbol references to the spelling that doesn't
+ exist, leading to linker errors later in the build process.
+ Removed some of the previously introduced workarounds that are not necessary
+ on newer versions of SunPro, the old versions that required them lack some
+ fundamental C++ features that are necessary for building DCMTK anyway (also
+ removing the comment that SunPro was the retarded child of a Java compiler and
+ an actual C++ compiler that is no longer true - SunPro can no longer be
+ considered a child). Use Oracle Developer Studio 12.5 or later!
+ Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h
+ dcmiod/libsrc/iodcommn.cc
+ dcmiod/libsrc/modbase.cc
+ dcmnet/libsrc/scp.cc
+ dcmtls/libsrc/tlslayer.cc
+ dcmwlm/libsrc/wlfsim.cc
+ oflog/include/dcmtk/oflog/appender.h
+ oflog/include/dcmtk/oflog/spi/factory.h
+ oflog/libsrc/appender.cc
+
+- Fixed compiler errors on Visual Studio with OpenSSL:
+ Fixed compiling dcmtls with Visual Studio and OpenSSL 1.1.0f by:
+ - Ensuring that OpenSSL headers can be included when performing the
+ configuration tests, even when they are no in the system include
+ directories.
+ - Linking to the correct library (dcmtkeay was renamed to dcmtkcrypto).
+ - Fixing related code in dcmtls (added missing include and fixed
+ SOCKET -> DcmNativeSocketType).
+ Affects: CMake/3rdparty.cmake
+ CMake/CheckFunctionWithHeaderExists.cmake
+ CMake/GenerateDCMTKConfigure.cmake
+ dcmtls/include/dcmtk/dcmtls/tlslayer.h
+ dcmtls/include/dcmtk/dcmtls/tlstrans.h
+ dcmtls/libsrc/tlslayer.cc
+ dcmtls/libsrc/tlstrans.cc
+
+**** Changes from 2017.07.04 (riesmeier)
+
+- Fixed typo in Coding Scheme Description.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h
+
+**** Changes from 2017.07.03 (schlamelcher)
+
+- Many workarounds for SunPro:
+ Many workarounds and some actually meaningful fixes for the SunPro compiler.
+ In general the compiler at best seems to have a basic implementation of
+ some parts of the C++ type system but does not actually implement it, e.g.
+ fails to understand more complex types and perform any meaningful operations
+ on them.
+ The (perhaps) meaningful fixes are:
+ 1. The configuration test for detecting whether the compiler is able to
+ identify default constructable classes via SFINAE now also tests whether the
+ result is the expected one and not only whether the code compiles.
+ 2. The configuration tests for std::list and std::vector now also tests
+ whether a const_iterator can be compared to a mutable iterator of the
+ respective template, e.g. whether the compiler understands that a
+ const_iterator can be constructed out of an iterator for the comparison on the
+ fly.
+ 3. The configuration tests for 'getgrnam_r' and 'getpwnam_r' now also ensure
+ that both functions take the expected number (and types) of arguments.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkPrepare.cmake
+ config/tests/list.cc
+ config/tests/vector.cc
+ dcmdata/libsrc/CMakeLists.txt
+ dcmiod/libsrc/cielabutil.cc
+ dcmtls/libsrc/tlslayer.cc
+ dcmwlm/libsrc/wlfsim.cc
+ oflog/include/dcmtk/oflog/appender.h
+ oflog/include/dcmtk/oflog/spi/factory.h
+ oflog/libsrc/appender.cc
+ ofstd/include/dcmtk/ofstd/ofalign.h
+ ofstd/include/dcmtk/ofstd/ofutil.h
+ ofstd/libsrc/ofstd.cc
+ ofstd/libsrc/ofxml.cc
+
+**** Changes from 2017.07.03 (onken)
+
+- Moved TRY_COMPILE to where it is first needed:
+ Moved TRY_COMPILE macro inclusion to the position where it is
+ first needed since otherwise CMake Version 2.8.3 will generate
+ an error when trying to run cmake in an existing build tree again.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+- Require CMake > 2.8.3. Extended DCMTKConfig.cmake:
+ The minimum CMake version required to build DCMTK was forwarded to
+ 2.8.3. since at least the FindICU.cmake script needs this version.
+ The minimum required version used before (2.6) has been broken also for
+ other other reasons (unsupported CACHE target for SET_PROPERTY and
+ problems with some syntax constructs which could probably be solved).
+ Also, more build parameters are now being exported to DCMTKConfig.cmake
+ which now better reflect the current build configuration switches used
+ when building DCMTK.
+ The version DCMTKConfig.cmake26.in has been renamed to
+ CMake/DCMTKConfig.old_cmake.in in order to reflect the new minimum version.
+ Note that it is now only used for all CMake versions betweeen 2.8.3 (new
+ minimum) and 2.8.8 (exclusively), since the latter includes the features required
+ to use the "modern" DCMTKConfig.cmake.
+ Added: CMake/DCMTKConfig.old_cmake.in
+ Removed: CMake/DCMTKConfig.cmake26.in
+ Affects: CMake/DCMTKConfig.cmake.in
+ CMakeLists.txt
+
+**** Changes from 2017.07.01 (schlamelcher)
+
+- Fixed wrong syntax in previous commit.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+- Workaround for SunPro C vs. C++ inconsistencies:
+ The SunPro C compiler provides __PRETTY_FUNCTION__ et al. whereas its C++
+ version doesn't. Added configuration tests to ensure these macros are
+ available for C and C++ before enabling them in the code (via 'osconfig.h').
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+- Fixed configuration test errors:
+ Fixed configuration test errors on Unix like systems introduced by the
+ previous commit that fixed them on Visual Studio.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2017.07.01 (grallert)
+
+- Fixed configuration test errors on Visual Studio:
+ Fixed inappropriate use of CHECK_FUNCTION_EXISTS() for detecting 'memcmp',
+ 'memcpy' and 'memset', which became apparent by the recent modification that
+ changed the configuration tests to be run in 'Release' mode.
+ As described by the CMake documentation, CHECK_FUNCTION_EXISTS() cannot be
+ used to detect functions that are inlined in headers or specified as a macro
+ and fails to detect anything in the 32-bit versions of the Win32 API, because
+ of a mismatch in calling conventions.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2017.06.30 (schlamelcher)
+
+- Several fixes for the SunPro compiler (Solaris):
+ Added some missing includes to 'arith.cc' and a special compiler flag to
+ CMAKE_CXX_FLAGS and CMAKE_C_FLAGS.
+ Affects: CMake/dcmtkPrepare.cmake
+ config/tests/arith.cc
+
+**** Changes from 2017.06.30 (riesmeier)
+
+- Minor fixes in Makefile:
+ Minor fixes in Makefile (mainly for reasons of consistency.
+ Affects: dcmfg/tests/Makefile.in
+ dcmjpls/apps/Makefile.in
+ dcmseg/tests/Makefile.in
+
+- Removed useless target "tclabutil" from Makefile.
+ Affects: dcmiod/tests/Makefile.in
+
+- Moved MATHLIBS to LOCALLIBS:
+ Moved MATHLIBS to LOCALLIBS definition for reasons of consistency with
+ other similar libraries, e.g. ZLIBLIBS and CHARCONVLIBS.
+ Affects: dcmdata/apps/Makefile.in
+ dcmimage/apps/Makefile.in
+ dcmimgle/apps/Makefile.in
+ dcmjpeg/apps/Makefile.in
+ dcmjpls/apps/Makefile.in
+ dcmnet/apps/Makefile.in
+ dcmpstat/apps/Makefile.in
+ dcmqrdb/apps/Makefile.in
+ dcmrt/apps/Makefile.in
+ dcmsign/apps/Makefile.in
+ dcmsr/apps/Makefile.in
+ dcmwlm/apps/Makefile.in
+
+- Link MATHLIBS to all test programs:
+ Link MATHLIBS to all test programs (similar to all programs in the "apps"
+ subdirectory). This is e.g. required for linking the tests on QNX/ARM.
+ Affects: dcmdata/tests/Makefile.in
+ dcmiod/tests/Makefile.in
+ dcmnet/tests/Makefile.in
+ dcmpstat/tests/Makefile.in
+ dcmrt/tests/Makefile.in
+ dcmseg/tests/Makefile.in
+ dcmsr/tests/Makefile.in
+ dcmwlm/tests/Makefile.in
+ ofstd/tests/Makefile.in
+
+**** Changes from 2017.06.30 (schlamelcher)
+
+- Fixed using wrong build type for configuration test:
+ CMake will now use the same build configuration for running the unit tests
+ (e.g. 'Release' or 'Debug') as the one that was chosen for building DCMTK.
+ This fixes different configuration results incompatible with the later build,
+ e.g. not detecting the problems with Visual Studio 2005's STL vector that
+ led to failing the OFVector unit test.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2017.06.30 (grallert)
+
+- Modified compiler Flags for Solaris (CMake):
+ The compiler flags for Solaris will now be auto-detected by CMake instead of
+ setting them manually. This fixes problems with clang.
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Added missing compiler flags for NetBSD (Autoconf).
+ Affects: config/configure
+ config/configure.in
+
+**** Changes from 2017.06.29 (schlamelcher)
+
+- Removed broken attributes from dcmqrdb:
+ Removed incomplete implementation of the special Query Retrieve attributes
+ 'Number of Patient Related Studies', 'Number of Patient Related Series',
+ 'Number of Patient Related Instances', 'Number of Study Related Series' and
+ 'Number of Study Related Instances'.
+ This closes DCMTK bug #328.
+ Affects: dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2017.06.29 (grallert)
+
+- Fixed compiling error on Android:
+ Added missing define "HAVE_PROTOTYPE_GETHOSTBYADDR_R" in CMake/osconfig.h.in.
+ Affects: CMake/osconfig.h.in
+
+**** Changes from 2017.06.29 (schlamelcher)
+
+- Added a workaround for a bug in x87 FPUs/GCC:
+ Added a workaround for buggy code generated by GCC for x87 FPUs.
+ Affects: ofstd/libsrc/oftime.cc
+
+**** Changes from 2017.06.23 (riesmeier)
+
+- Removed 2nd parameter from gotoNamedChildNode():
+ Removed optional second parameter "searchIntoSub" from gotoNamedChildNode()
+ since using a value of "OFTrue" (which was also the default) makes no sense
+ and resulted in unexpected behavior. Now, only the first sub-level is checked
+ for matching child nodes. Also enhanced recently added test cases.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libcmr/tid1600.cc
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tsrdoctr.cc
+
+**** Changes from 2017.06.22 (riesmeier)
+
+- Added new method gotoNamedNodeInSubTree():
+ Added new method that allows for setting the cursor to a named node in the
+ subtree below the current node. This method complements the existing method
+ gotoNamedChildNode().
+ Also added test cases for gotoNamedNodeInSubTree() and gotoNamedChildNode().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+**** Changes from 2017.06.21 (riesmeier)
+
+- Enhanced documentation of gotoNamedChildNode():
+ Enhanced API documentation of gotoNamedChildNode(), which is just a shortcut
+ for calling gotoChild() followed by gotoNamedNode().
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+
+**** Changes from 2017.06.21 (grallert)
+
+- Several fixes for NetBSD support:
+ Added required compiler flags and ensured linking the required libraries.
+ Implemented additional configuration tests for gethostbyname_r and
+ gethostbyaddr_r. Fixed CMakeLists.txt in dcmpstat/apps because it links
+ unnecessary libraries to dcmmkcrv and dcmmklut which result in an error.
+ Changed iconv_t test by using 0 instead of NULL. Added sys/socket.h in ofstd.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkPrepare.cmake
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ dcmpstat/apps/CMakeLists.txt
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2017.06.20 (riesmeier)
+
+- Updated latest tested CMake version:
+ Updated information on latest CMake version that has been tested to "3.8.2".
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2017.06.15 (riesmeier)
+
+- Added new Storage SOP Classes to comment sections:
+ Added recently approved Storage SOP classes also to the "Storage SCU" and
+ "Role Selection" sections, but only as comments since the maximum number of
+ presentation contexts has already been reached.
+ Affects: dcmqrdb/etc/dcmqrprf.cfg
+
+- Added definition of new Presentation States:
+ Added new Presentation State SOP Classes (from Supplement 189 and 190) to
+ the list of known Presentation State (PR) types, i.e. accept them in an SR
+ document where a PR object is expected, and associate a human readable name
+ with them.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtypes.cc
+
+- Initial support for "Patient Radiation Dose SR":
+ Added initial support for the new "Patient Radiation Dose SR" Storage
+ SOP Class (Supplement 191), i.e. this new SR document type is now known
+ to the "dcmsr" module but now yet fully supported. In particular, the
+ corresponding "IOD Constraint Checker" still has to be implemented.
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added support for new "SR" and "PR" SOP Classes:
+ Added support for recently approved Structured Reporting (SR) and
+ Presentation State (PR) SOP Classes to the DICOMDIR generation code.
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+- Support new SOP Classes by networking tools:
+ Added support for recently approved Storage SOP Classes to the various
+ networking tools. This includes Supplement 189, 190, 191 and 197.
+ Affects: dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/etc/dcmqrprf.cfg
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Added definition of new Storage SOP Class UIDs:
+ Updated list of Storage SOP Class UIDs known to the DCMTK based of DICOM
+ 2017b. This includes Supplement 189, 190, 191 and 197.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+
+- Updated data dictionary for DICOM 2017b:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released only recently.
+ Since three DICOM attributes were "retired", the name of the associated
+ DcmTagKey constants also changed. This required minor changes to the source
+ code, especially with regards to the attribute Other Patient IDs (0010,1000):
+ the name changed from DCM_OtherPatientIDs to DCM_RETIRED_OtherPatientIDs.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+ dcmdata/tests/tparent.cc
+ dcmiod/libsrc/modhelp.cc
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/libsrc/dcmqrdbi.cc
+ dcmrt/libsrc/drtdose.cc
+ dcmrt/libsrc/drtimage.cc
+ dcmrt/libsrc/drtionpl.cc
+ dcmrt/libsrc/drtiontr.cc
+ dcmrt/libsrc/drtplan.cc
+ dcmrt/libsrc/drtstrct.cc
+ dcmrt/libsrc/drttreat.cc
+ dcmwlm/docs/wlmscpfs.man
+ dcmwlm/include/dcmtk/dcmwlm/wlds.h
+ dcmwlm/libsrc/wlds.cc
+
+**** Changes from 2017.06.13 (riesmeier)
+
+- Updated Makefile dependencies:
+ Updated Makefile dependencies (oferror and terror were missing).
+ Affects: ofstd/libsrc/Makefile.dep
+ ofstd/tests/Makefile.dep
+
+- Fixed issue with configure test on QNX 6.5:
+ Fixed issue with configure test for the macro INCLUDE_LIBC_H_AS_EXTERN_C,
+ which used to work on QNX 6.2 but does not work anymore on QNX 6.5. This
+ test should have no meaning for any other platform / operating system.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ config/aclocal.m4
+ config/configure
+
+**** Changes from 2017.06.12 (riesmeier)
+
+- Added explicit type cast to keep QNX 6.5 quiet:
+ Added explicit type cast when comparing numeric values with a variable
+ of type "offile_off_t" in order to keep gcc on QNX 6.5 quiet.
+ Affects: dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcsequen.cc
+
+- Minor changes for supporting QNX 6.5:
+ Included system header "unix.h" (if available) and disabled definition of
+ "EXPLICIT_LFS_64" in order to compile on QNX 6.5.
+ Affects: ofstd/include/dcmtk/ofstd/offile.h
+
+- Changed the way XMLLIBS is set (Autoconf):
+ Changed the way XMLLIBS is set when using Autoconf. Now, the value returned
+ by "xml2-config --libs" is used, which might include the library path (i.e.
+ something like "-L/usr/local/lib").
+ This change was needed for supporting QNX 6.5 but, of course, it should also
+ work on other systems.
+ Affects: config/configure
+ config/configure.in
+
+**** Changes from 2017.06.12 (onken)
+
+- Removed unused variable.
+ Affects: dcmnet/libsrc/dccfrsmp.cc
+
+**** Changes from 2017.06.09 (onken)
+
+- Fixed typos.
+ Affects: dcmnet/libsrc/assoc.cc
+ dcmnet/tests/tscuscp.cc
+ dcmwlm/include/dcmtk/dcmwlm/wlds.h
+ dcmwlm/include/dcmtk/dcmwlm/wldsfs.h
+ dcmwlm/libsrc/wldsfs.cc
+
+**** Changes from 2017.06.09 (schlamelcher)
+
+- Added a partial workaround for DCMTK bug #758:
+ Added a check to the configuration and unit tests of std::vector/OFVector to
+ ensure that the construction of recursive data structures based on OFVector
+ does not cause a stack overflow.
+ Modified the default constructor of DCMTK's OFVector implementation to no
+ longer predictively construct some elements, such that it passes the new test.
+ Affects: config/tests/vector.cc
+ ofstd/include/dcmtk/ofstd/ofvector.h
+ ofstd/tests/tvec.cc
+
+**** Changes from 2017.06.09 (onken)
+
+- Added missing space.
+ Affects: dcmnet/libsrc/assoc.cc
+
+- Fixed ASCII art in test.
+ Affects: dcmnet/tests/tscuscp.cc
+
+- Test recently introduced role selection option:
+ Test the recently introduced role selection compatibility option for
+ accepting Default role even if SCP role is configured for the
+ association acceptor.
+ Affects: dcmnet/tests/tscuscp.cc
+
+- Opt. accept Default role if SCP role expected:
+ Added option to dcmnet assocation acceptor code that allows to accept
+ a Default role (no role selection in request) even if the acceptor is
+ configured to only accept SCP role. This is helpful for faulty clients
+ in services like Storage Commitment or Retrieve (via C-GET) very
+ association requestors have to use role selection if they want to be
+ correct with respect to the standard. Sine some are not, this option
+ makes sure that such requests can be accepted (with return Default role,
+ too).
+ Added option to association acceptance code in dcmnet in order to allow
+ for accepting
+ Affects: dcmnet/include/dcmtk/dcmnet/assoc.h
+ dcmnet/include/dcmtk/dcmnet/dcasccfg.h
+ dcmnet/include/dcmtk/dcmnet/dul.h
+ dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/include/dcmtk/dcmnet/scpcfg.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/dcasccfg.cc
+ dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scpcfg.cc
+
+- Fixed ASCII art in comment.
+ Affects: dcmnet/include/dcmtk/dcmnet/dul.h
+ dcmnet/tests/tscuscp.cc
+
+- Fixed error message.
+ Affects: dcmnet/libsrc/assoc.cc
+
+- Fixed doubled space in log output.
+ Affects: dcmnet/libsrc/assoc.cc
+
+- Removed leftovers from dcmStrictRoleSelection.
+ Affects: dcmnet/libsrc/dul.cc
+
+**** Changes from 2017.06.08 (onken)
+
+- Added role selection tests.
+ Affects: dcmnet/tests/tests.cc
+ dcmnet/tests/tscuscp.cc
+
+- Allow search for role in SCU presentation contexts.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+- Better parameter name and documentation.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scp.cc
+
+- Enhanced role selection documentation.
+ Affects: dcmnet/include/dcmtk/dcmnet/dul.h
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/dulconst.cc
+
+- Removed dcmStrictRoleSelection config. switch:
+ Removed global dcmStrictRoleSelection configuration switch since it does
+ not offer additional value to association acceptors who can enforce the
+ same behaviour by already configuring the proposed roles accordingly.
+ Affects: dcmnet/include/dcmtk/dcmnet/dul.h
+ dcmnet/libsrc/assoc.cc
+
+- Fixed possible role selection config. problem:
+ Fixed possible role selection problem for association acceptors. If the
+ first presentation context added to the association configuration used a
+ default role, any other presentation context with role selection
+ configured would not configure correctly. The reason is that when
+ creating the underlying association profile in the first step, one
+ already has to know the role selection profile, which does not exist if
+ not instantly added together with the association configuration profile
+ (together with the first presentation context). This commit ensures that
+ an empty role selection profile can and is created in any case and all
+ presentation contexts with role selection being added refer to that profile.
+ Affects: dcmnet/include/dcmtk/dcmnet/dcasccfg.h
+ dcmnet/include/dcmtk/dcmnet/dccfrsmp.h
+ dcmnet/libsrc/dcasccfg.cc
+ dcmnet/libsrc/dccfrsmp.cc
+ dcmnet/libsrc/scpcfg.cc
+
+- Made parameter const.
+ Affects: dcmnet/include/dcmtk/dcmnet/assoc.h
+ dcmnet/libsrc/assoc.cc
+
+- Fixed wrong copy of SOP class in role selection:
+ Fixed copying of SOP class in role selection code which could lead to
+ shortened SOP Class UIDs in role selection items and thus to
+ presentation contexts not being marked with the correct role.
+ Affects: dcmnet/libsrc/dulparse.cc
+
+**** Changes from 2017.06.06 (goldhammer)
+
+- Fixed OFerror_code's unit test not working on OpenBSD:
+ OpenBSD defines EPROTOTYPE instead of EPROTO. This is now covered by an
+ additional "#elif __OpenBSD__" section.
+ Affects: ofstd/tests/terror.cc
+
+**** Changes from 2017.06.02 (riesmeier)
+
+- Fixed typo and rewrapped new text paragraphs.
+ Affects: dcmqrdb/docs/dcmqrscp.man
+
+**** Changes from 2017.06.01 (schlamelcher)
+
+- Refactored dcmwlm's attribute matching implementation:
+ Refactored dcmwlm to use the recently introduced attribute matching
+ implementation from the DcmElement class hierarchy.
+ Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h
+ dcmwlm/libsrc/wlfsim.cc
+
+- Fixed combined date time range matching:
+ Fixed a bug in the combined date time (range) matching implementation in
+ DcmAttributeMatching.
+ Affects: dcmdata/libsrc/dcmatch.cc
+
+- Added attribute matching functions to DcmElement etc:
+ Added methods to perform the appropriate kind of attribute matching on an
+ instance of one of the DcmElement and derived classes: matches() and
+ combinationMatches(), the latter being used for combined date time (range)
+ matching.
+ Calling match() will check that both the left hand DcmElement object and
+ the one provided as its argument are compatible (e.g. similar VR) and then
+ return the results from the appropriate matching function from
+ DcmAttributeMatching (Wildcard Matching, Range Matching, etc.).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcchrstr.h
+ dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/include/dcmtk/dcmdata/dcvrae.h
+ dcmdata/include/dcmtk/dcmdata/dcvrcs.h
+ dcmdata/include/dcmtk/dcmdata/dcvrda.h
+ dcmdata/include/dcmtk/dcmdata/dcvrdt.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfd.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrss.h
+ dcmdata/include/dcmtk/dcmdata/dcvrtm.h
+ dcmdata/include/dcmtk/dcmdata/dcvrui.h
+ dcmdata/include/dcmtk/dcmdata/dcvrul.h
+ dcmdata/include/dcmtk/dcmdata/dcvrur.h
+ dcmdata/include/dcmtk/dcmdata/dcvrus.h
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcchrstr.cc
+ dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcvrae.cc
+ dcmdata/libsrc/dcvrcs.cc
+ dcmdata/libsrc/dcvrda.cc
+ dcmdata/libsrc/dcvrdt.cc
+ dcmdata/libsrc/dcvrfd.cc
+ dcmdata/libsrc/dcvrfl.cc
+ dcmdata/libsrc/dcvrsl.cc
+ dcmdata/libsrc/dcvrss.cc
+ dcmdata/libsrc/dcvrtm.cc
+ dcmdata/libsrc/dcvrul.cc
+ dcmdata/libsrc/dcvrur.cc
+ dcmdata/libsrc/dcvrus.cc
+
+**** Changes from 2017.05.30 (schlamelcher)
+
+- Added association negotiation profiles to dcmqrscp:
+ Added support for association negotiation profiles via configuration file
+ to dcmqrscp. The configuration file may be used to propose and accept
+ additional storage SOP Classes as required for both incoming and outgoing
+ associations separately.
+ Accepting non storage SOP Class presentation contexts is not affected by the
+ selected profiles.
+ Added: dcmqrdb/etc/dcmqrprf.cfg
+ Affects: dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbm.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h
+ dcmqrdb/libsrc/dcmqrcbm.cc
+ dcmqrdb/libsrc/dcmqropt.cc
+ dcmqrdb/libsrc/dcmqrsrv.cc
+
+**** Changes from 2017.05.29 (grallert)
+
+- Fixed compiling on Solaris:
+ Changed CMAKE_C_FLAGS and added missing include (netinet/in.h) to dwrap.c.
+ Affects: CMake/dcmtkPrepare.cmake
+ dcmnet/libsrc/dwrap.c
+
+**** Changes from 2017.05.26 (riesmeier)
+
+- Fixed various stylistic issues:
+ Fixed wrong identation, superfluos space characters and CMake commands
+ written in lower case.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2017.05.26 (grallert)
+
+- Several fixes for Solaris support:
+ Added required compiler flags and libraries (CMake, Autoconf seemingly already
+ had them). Implemented configuration tests for the libraries similar to the
+ ones Autoconf has.
+ Fixed 'arith.cc': Solaris seemed to reset the signal handlers after every
+ processed signal, they are now always re-enabled as a workaround for that.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkPrepare.cmake
+ config/tests/arith.cc
+ ofstd/libsrc/CMakeLists.txt
+
+**** Changes from 2017.05.26 (eichelberg)
+
+- Removed support for HAVE_GUSI_H (MacOS classic):
+ Removed support for the HAVE_GUSI_H macro and the
+ <GUSI.h> header file, which was used in previous releases
+ when compiling on MacOS classic, which is not supported anymore.
+ Closes DCMTK Feature #743.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmcrle.cc
+ dcmdata/apps/dcmdrle.cc
+ dcmdata/apps/dcmdump.cc
+ dcmdata/apps/dump2dcm.cc
+ dcmdata/apps/pdf2dcm.cc
+ dcmdata/tests/tpath.cc
+ dcmdata/tests/tpread.cc
+ dcmimage/apps/dcm2pnm.cc
+ dcmimage/apps/dcmquant.cc
+ dcmimage/apps/dcmscale.cc
+ dcmimgle/apps/dcmdspfn.cc
+ dcmjpeg/apps/dcmcjpeg.cc
+ dcmjpeg/apps/dcmdjpeg.cc
+ dcmjpls/apps/dcmcjpls.cc
+ dcmjpls/apps/dcmdjpls.cc
+ dcmnet/apps/getscu.cc
+ dcmnet/include/dcmtk/dcmnet/dcompat.h
+ dcmnet/libsrc/dcmtrans.cc
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulfsm.cc
+ dcmpstat/apps/dcmmkcrv.cc
+ dcmpstat/apps/dcmmklut.cc
+ dcmpstat/apps/dcmp2pgm.cc
+ dcmpstat/apps/dcmpsmk.cc
+ dcmpstat/apps/dcmpsprt.cc
+ dcmpstat/tests/msgserv.cc
+ dcmqrdb/apps/dcmqridx.cc
+ dcmsign/apps/dcmsign.cc
+ dcmtls/libsrc/tlstrans.cc
+ dcmwlm/tests/wltest.cc
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2017.05.26 (grallert)
+
+- Added config test for the feenableexcept function:
+ Added configuration test for the feenableexcept function for Autoconf and
+ CMake.
+ Modified the code to set the respective FPU flags manually if feenableexcept
+ is not available.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ config/tests/arith.cc
+
+**** Changes from 2017.05.21 (schlamelcher)
+
+- Fixed wrong paths to 'config' dir in CMake scripts.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2017.05.19 (onken)
+
+- Fixed compiler warning on integer casting.
+ Affects: dcmiod/libsrc/iodreferences.cc
+
+- Log write errors to error logger:
+ Make sure that errors in elements (e.g. VR violation or missing attribute) are
+ logged to error logger during write process. While reading, the same errors are
+ printed to warning logger (as before).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h
+ dcmiod/libsrc/iodutil.cc
+ dcmiod/libsrc/modbase.cc
+
+**** Changes from 2017.05.17 (schlamelcher)
+
+- Updated copyright notice in recently modified file.
+ Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h
+
+- Fixed some code relying on C++11 features:
+ The recently introduced configuration tests for several STL features allowed
+ using certain classes like std::tuple and std::error_code that were previously
+ only enabled if C++11 support was enabled.
+ The affected code was refactored to not depend on C++11 features any more
+ (if possible) or wrapped behind #ifdef HAVE_CXX11 with an added fall-back
+ implementation (hybrid between the existing fall-back implementation and using
+ the native STL classes).
+ Affects: ofstd/include/dcmtk/ofstd/oferror.h
+ ofstd/include/dcmtk/ofstd/oftuple.h
+ ofstd/include/dcmtk/ofstd/ofutil.h
+
+- Enhanced recently introduced STL configuration tests:
+ The configuration tests for std::list and std::vector now also ensure that
+ calling x.swap(y) does not invalidate any existing iterators (except for the
+ ones referring to past-the-end) as required by the C++ standard and DCMTK.
+ The configuration test for std::tuple now also ensures that std::tuple
+ can take at least 50 template parameters (same as DCMTK's fall-back
+ implementation) since otherwise DCMTK's fall-back implementation can be
+ considered more mature.
+ Affects: config/tests/list.cc
+ config/tests/tuple.cc
+ config/tests/vector.cc
+
+- Fixed segmentation fault in DcmDataDictionary:
+ Fixed DcmDataDictionary's implementation relied on comparing default
+ constructed iterators, which was undefined behavior prior to C++14.
+ This closes DCMTK bug #755.
+ Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h
+
+**** Changes from 2017.05.16 (schlamelcher)
+
+- Added configuration options for STL and C++11:
+ Added configuration options for enabling STL and C++11 features for Autoconf
+ and CMake. Enabling the STL will by default enable all separate STL classes
+ (std::vector etc.) and functions, unless the respective switches are
+ set individually. One may also enable only a single STL feature (e.g.
+ std::string) without enabling all of the STL classes. Not all possible
+ combinations may work though!
+ C++11 support can either be enabled or disabled entirely, enabling individual
+ C++11 features while disabling others is currently not supported (and probably
+ never will be).
+ Enabling an STL feature or C++11 will not directly set the respective MACRO
+ (e.g. HAVE_STL_STRING), instead a configuration test will be performed to
+ determine if the compiler provides an implementation that is sufficiently
+ close enough to the C++ standard for DCMTK's requirements. If not, the feature
+ will not be enabled!
+ Enhanced the documentation in config/docs/macros.txt and config/docs/cxx11.dox
+ appropriately for these changes.
+ Tested several plausible combinations auf enabled/disabled STL and C++11
+ features and fixed the affected code as required.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkPrepare.cmake
+ CMake/osconfig.h.in
+ INSTALL
+ config/configure
+ config/configure.in
+ config/docs/cxx11.dox
+ config/docs/macros.txt
+ config/include/dcmtk/config/osconfig.h.in
+ ofstd/include/dcmtk/ofstd/oflimits.h
+ ofstd/include/dcmtk/ofstd/ofutil.h
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2017.05.16 (hasenpusch)
+
+- Renamed several HAVE_ macros for better consistency:
+ Renamed several macros like HAVE_STD_STRING -> HAVE_STL_STRING for better
+ consistency, primarily DCMTK_USE_CXX11_STL -> HAVE_CXX11.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcmatch.h
+ dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+ dcmiod/include/dcmtk/dcmiod/iodimage.h
+ dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h
+ ofstd/include/dcmtk/ofstd/ofalgo.h
+ ofstd/include/dcmtk/ofstd/ofalign.h
+ ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/include/dcmtk/ofstd/ofdefine.h
+ ofstd/include/dcmtk/ofstd/oferror.h
+ ofstd/include/dcmtk/ofstd/oflimits.h
+ ofstd/include/dcmtk/ofstd/oflist.h
+ ofstd/include/dcmtk/ofstd/ofmap.h
+ ofstd/include/dcmtk/ofstd/ofmem.h
+ ofstd/include/dcmtk/ofstd/ofoption.h
+ ofstd/include/dcmtk/ofstd/ofstack.h
+ ofstd/include/dcmtk/ofstd/ofstream.h
+ ofstd/include/dcmtk/ofstd/ofstring.h
+ ofstd/include/dcmtk/ofstd/oftraits.h
+ ofstd/include/dcmtk/ofstd/oftuple.h
+ ofstd/include/dcmtk/ofstd/oftypes.h
+ ofstd/include/dcmtk/ofstd/ofutil.h
+ ofstd/include/dcmtk/ofstd/ofvector.h
+ ofstd/include/dcmtk/ofstd/ofvriant.h
+ ofstd/libsrc/oferror.cc
+ ofstd/libsrc/ofstd.cc
+ ofstd/libsrc/ofstring.cc
+ ofstd/tests/toption.cc
+
+**** Changes from 2017.05.16 (schlamelcher)
+
+- Moved config/arith.cc to config/tests/arith.c:
+ Moved config/arith.cc to the recently introduced 'tests' subdirectory for
+ consistency with the other C++ source file based configuration tests.
+ Added: config/tests/arith.cc
+ Removed: config/arith.cc
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ config/Makefile.in
+
+**** Changes from 2017.05.16 (hasenpusch)
+
+- Added feature test files for STL and C++11 support:
+ Added several C++ source files to the 'config' module (new sub directory
+ 'tests') that will be used for implementing configuration checks for several
+ C++ STL features and C++11 support by Autoconf and CMake.
+ Also added stdcxx.m4 script that will be used by Autoconf to configure C++11
+ settings.
+ Added: config/stdcxx.m4
+ config/tests/algo.cc
+ config/tests/cxx11.cc
+ config/tests/limits.cc
+ config/tests/list.cc
+ config/tests/map.cc
+ config/tests/memory.cc
+ config/tests/stack.cc
+ config/tests/string.cc
+ config/tests/syserr.cc
+ config/tests/ttraits.cc
+ config/tests/tuple.cc
+ config/tests/vector.cc
+
+**** Changes from 2017.05.05 (onken)
+
+- Added OB/OW-related comparison operators:
+ Added comparsion() method to all OB/OW-based classes that usually deal
+ with pixel data. So far, elements instantiated into such classes used
+ the inherited compare() method from DcmElement and thus also returned
+ equality if only tag and (E)VR have been identical, without even looking
+ into the values.
+ The new method uses the DcmElement check, and then compares the values
+ in a meaningful way.
+ For compressed data, equality is only returned if both elements do have
+ native pixel data which is identical, or the have same current
+ representation (compressed pixel data), i.e. the same transfer syntax,
+ the same number of pixel items, with the same values (compared bytewise).
+ If both elements do have the same representations (besides others) but
+ those are not the current ones, the comparison will not return equality.
+ Extended test for all data types (VRs) now offering the compare() method.
+ This closes DCMTK Bug #674.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcpixseq.h
+ dcmdata/include/dcmtk/dcmdata/dcvrobow.h
+ dcmdata/include/dcmtk/dcmdata/dcvrpobw.h
+ dcmdata/libsrc/dcpixel.cc
+ dcmdata/libsrc/dcvrobow.cc
+ dcmdata/libsrc/dcvrpobw.cc
+ dcmdata/tests/tvrcomp.cc
+
+- First check number of components before value:
+ compare() was changed to first check the number of values of an element
+ instead of first comparing the values. The reason is that it takes
+ significantly more effort to compare the values which is often not
+ necessary if the number of components is different anyway. This is
+ especially useful for large binary values (like pixel data). The
+ following commit will introduced specific comparsion operators for such
+ elements.
+ This might result in calls to compare() that now return -1 that earlier
+ returned 1, and vice versa. This is not considered harmful since the
+ functionality is quite new in DCMTK, and the majority of use cases would
+ only check whether two elements are equal (0 returned) or not. The new
+ implementation will never return equality (0) where it earlier returned
+ -1 or 1.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcpixel.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmdata/include/dcmtk/dcmdata/dcvrat.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrss.h
+ dcmdata/include/dcmtk/dcmdata/dcvrul.h
+ dcmdata/include/dcmtk/dcmdata/dcvrus.h
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcsequen.cc
+ dcmdata/libsrc/dcvrat.cc
+ dcmdata/libsrc/dcvrfd.cc
+ dcmdata/libsrc/dcvrfl.cc
+ dcmdata/libsrc/dcvrsl.cc
+ dcmdata/libsrc/dcvrss.cc
+ dcmdata/libsrc/dcvrul.cc
+ dcmdata/libsrc/dcvrus.cc
+
+- Fixed check for transcoding, added documentation:
+ Fixed code that checks whether transcoding from one compressed transfer
+ syntax to another is possible. Added some comments for clarity.
+ Affects: dcmdata/libsrc/dcpixel.cc
+
+**** Changes from 2017.05.02 (schlamelcher)
+
+- Hid some Visual Studio warnings regarding libxml:
+ Added compiler definition -DLIBXML_STATIC for linking libxmlXXX.lib under
+ Visual Studio without warnings (this even applies when linking the libxml
+ DLL, since it is linked using the static helper libraries).
+ This closes DCMTK bug #741.
+ Affects: CMake/3rdparty.cmake
+
+**** Changes from 2017.05.02 (grallert)
+
+- Added some Attributes to DcmItem::checkAndUpdateVR():
+ Added detection for
+ DCM_ChannelMinimumValue, DCM_ChannelMaximumValue,
+ DCM_SmallestImagePixelValue, DCM_LargestImagePixelValue,
+ DCM_SmallestPixelValueInSeries, DCM_LargestPixelValueInSeries,
+ DCM_LUTDescriptor, DCM_RealWorldValueLastValueMapped and
+ DCM_RealWorldValueFirstValueMapped
+ when read in implicit mode to set correct VR.
+ This closes DCMTK bug #370.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2017.05.02 (riesmeier)
+
+- Added unsigned suffix to large decimal constants:
+ Added suffix "U" (for unsigned integer) to very large decimal constants
+ in order to avoid the warning message "this decimal constant is unsigned
+ only in ISO C90" reported by gcc 3.9.2.
+ Affects: dcmdata/libsrc/dcvr.cc
+
+**** Changes from 2017.05.01 (eichelberg)
+
+- Fixed handling of EINTR in networkDataAvailable():
+ networkDataAvailable() and selectReadableAssociation() in class DcmTCPConnection
+ now properly handle interruptions of the select() call through signal handlers,
+ i.e. they restart the select() call with an updated timeout parameter.
+ Thanks to DCMTK forum user "michael12345" for the bug report and patch.
+ This closes DCMTK bug #614.
+ Affects: dcmnet/libsrc/dcmtrans.cc
+
+- Converting large attributes to UN in explicit VR:
+ When writing in explicit VR, some VRs are encoded with a 2-byte length field,
+ whereas other VRs are encoded with a 4-byte length field. When writing
+ implicit VR, all length fields are always encoded with 4 bytes. In some
+ cases attribute values of the affected VRs may be larger than 64 kBytes,
+ in which case the dataset can be represented in implicit VR, but not in
+ explicit VR. Instead of refusing to write such datasets in explicit VR,
+ DCMTK now automatically converts the affected attributes to UN
+ (or, when generation of post-1993 VRs is disabled, to OB).
+ This implements DICOM CP 1066 and closes DCMTK issue #331.
+ Affects: dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcobject.cc
+
+- Removed unused variables.
+ Affects: dcmdata/libsrc/cmdlnarg.cc
+
+**** Changes from 2017.04.28 (onken)
+
+- Suppress error message for missing segm. types:
+ Suppress error message for missing Segmentation Fractional Type and
+ Segmentation Type. Before, an error was printed while reading if one
+ of the attributes was missing. Howeer, since both attributes are of
+ type 1C, this is not necessarily an error.
+ Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/libsrc/segdoc.cc
+
+- Fixed write transfer syntax and support Deflated:
+ Make sure that uncompressed transfer syntax is written as desired by
+ the user (before Little Endian Explicit has always been written). Also,
+ support Deflated Transfer Syntax when saving Segmentation files if DCMTK
+ has been compiled with ZLIB support. Loading Deflated as been supported
+ before.
+ Affects: dcmseg/libsrc/segdoc.cc
+
+**** Changes from 2017.04.27 (riesmeier)
+
+- Fixed issue with Simplified Adult Echo SR:
+ Fixed issue with Simplified Adult Echo SR not being detected as one of the
+ supported Structured Reporting IODs due to a wrong value of the end of list
+ marker "DT_last".
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+
+- Fixed documentation and other minor issues.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libsrc/dcvr.cc
+
+**** Changes from 2017.04.26 (grallert)
+
+- Enhanced value length information in DcmVR:
+ Corrected wrong maxlength for some VR definitions that previously used
+ DCM_UndefinedLength for specifying unlimited lengths.
+ Added DCMVR_PROP_ISLENGTHINCHAR to specify whether length is given in bytes
+ or characters and isLengthInChar() to query this information.
+ This closes DCMTK bug #590.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libsrc/dcvr.cc
+
+**** Changes from 2017.04.25 (riesmeier)
+
+- Fixed inconsistent documentation in man page:
+ Converted additional description of command line option --formatted-code,
+ which is only present in the man page, into a comment.
+ Affects: dcmdata/docs/dcm2json.man
+
+- Removed unused local variable:
+ This avoids a warning message reported by gcc.
+ Affects: dcmwlm/libsrc/wlfsim.cc
+
+**** Changes from 2017.04.25 (grallert)
+
+- Added an argument conflict check for dcm2json:
+ Added a conflict check for --read-dataset and --write-meta, since writing the
+ meta header information requires reading it.
+ Affects: dcmdata/apps/dcm2json.cc
+
+**** Changes from 2017.04.25 (schlamelcher)
+
+- Removed dead code from dcmnet:
+ Removed dead code from 'dcompat.cc' that has been replaced by
+ OFStandard::strerror().
+ Affects: dcmnet/libsrc/dcompat.cc
+
+**** Changes from 2017.04.25 (grallert)
+
+- Enhanced dcm2json application documentation:
+ Added a warning to the description of --write-meta in dcm2json and the
+ manpage. Also changed the description of --formatted-code and --compact-code.
+ Affects: dcmdata/apps/dcm2json.cc
+ dcmdata/docs/dcm2json.man
+
+**** Changes from 2017.04.25 (goldhammer)
+
+- Partially refactored 'errno' usage within dcmnet:
+ Added specialized error code handling for WinSock by using
+ OFStandard::getLastNetworkErrorCode() and the respective WinSock error
+ constants (WSAEINTR) as appropriate within dulfsm.cc.
+ Most of the other files in dcmnet and the rest of DCMTK already have a
+ separate Windows implementation in this regard, so this fixes most of the
+ remaining problems.
+ Affects: dcmnet/libsrc/dulfsm.cc
+
+- Replaced 'errno' with OFStandard::getLast*ErrorCode():
+ Replaced occurrences of 'errno' with the appropriate call to one of the
+ recently introduced methods OFStandard::getLastSystemErrorCode() and
+ OFStandard::getLastNetworkErrorCode().
+ This refactoring should ensure that DCMTK always uses the right source for
+ printing operating system error codes, preventing inappropriate error messages
+ like "error: no error".
+ Major step towards closing DCMTK bug #393.
+ Affects: dcmdata/apps/dump2dcm.cc
+ dcmdata/apps/xml2dcm.cc
+ dcmdata/libsrc/cmdlnarg.cc
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcdicdir.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcostrmf.cc
+ dcmdata/libsrc/dcuid.cc
+ dcmdata/libsrc/vrscan.cc
+ dcmnet/include/dcmtk/dcmnet/dcompat.h
+ dcmnet/libsrc/dcompat.cc
+ dcmnet/libsrc/dimse.cc
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulfsm.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/libsrc/dcmqrcbg.cc
+ dcmqrdb/libsrc/dcmqrcbm.cc
+ dcmqrdb/libsrc/dcmqrdbi.cc
+ dcmqrdb/libsrc/dcmqrsrv.cc
+ dcmwlm/libsrc/wldsfs.cc
+ dcmwlm/tests/wltest.cc
+
+**** Changes from 2017.04.24 (schlamelcher)
+
+- Fixed CMake check for <png.h> resp. <libpng/png.h>:
+ CMake now honors the zlib and libpng include directories while searching for
+ <png.h> and <libpng/png.h>. This fixes detecting these files when they are not
+ in the default include paths (e.g. on Windows).
+ Including <png.h> is preferred, therefore, <libpng/png.h> is not searched for
+ if <png.h> exists. The old CMake code simply did not define HAVE_LIBPNG_PNG_H
+ no matter what, now, it is used as a fallback mechanism if <png.h> is
+ unavailable.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+
+**** Changes from 2017.04.21 (schlamelcher)
+
+- Added some CMake config tests and removed a macro:
+ Added tests for std::nothrow new/delete and the std namespace itself. These
+ have previously been fixed constants in the CMake configuration.
+ Removed macro NO_IOS_BASE_ASSIGN, since copy assignment of std::iostreams is
+ generally a bad idea. The affected code was modified to always operate without
+ assigning iostreams to another (perhaps assigning the underlying streambuffers
+ would be what the author originally intended, but the code should have been
+ dead without anybody noticing it for quite some time now anyway, so removing
+ it should be safe).
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/configure.in
+ config/docs/macros.txt
+ config/include/dcmtk/config/osconfig.h.in
+ dcmdata/libsrc/cmdlnarg.cc
+
+**** Changes from 2017.04.21 (riesmeier)
+
+- Updated latest tested CMake version:
+ Updated information on latest CMake version that has been tested to "3.8.0".
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2017.04.21 (schlamelcher)
+
+- Workaround for Clang regarding OFerror_category:
+ Older versions of Clang did not generate a default constructor for the error
+ category classes introduced by a previous commit but required one for their
+ initialization (seemingly an edge case since they have no data members).
+ Affects: ofstd/libsrc/oferror.cc
+
+**** Changes from 2017.04.20 (riesmeier)
+
+- Fixed non-ASCII character (German umlaut).
+ Affects: CREDITS
+
+**** Changes from 2017.04.20 (schlamelcher)
+
+- Fixed a misplaced dllexport/dllimport declaration.
+ Affects: ofstd/include/dcmtk/ofstd/oferror.h
+ ofstd/libsrc/oferror.cc
+
+**** Changes from 2017.04.20 (eichelberg)
+
+- Updated CREDITS.
+ Affects: CREDITS
+
+**** Changes from 2017.04.20 (riesmeier)
+
+- Added missing object file to Makefile (Autoconf).
+ Affects: ofstd/libsrc/Makefile.in
+
+**** Changes from 2017.04.19 (eichelberg)
+
+- Updated Makefile.
+ Affects: ofstd/tests/Makefile.in
+
+**** Changes from 2017.04.19 (goldhammer)
+
+- Introduced OFerror_code and related functionalities:
+ Introduced OFerror_code, OFerror_category and the functions
+ OFsystem_category() and OFgeneric_category() as portable implementations of
+ C++11's std::error_code etc.
+ Implemented the custom functions OFStandard::getLastSystemErrorCode() and
+ OFStandard::getLastNetworkErrorCode() that return an OFerror_code object
+ referring to the most recent error (using errno, GetLastError() or
+ WSAGetLastError() as appropriate).
+ The returned object can then be used to log the error message in a portable
+ fashion, since the linked OFsystem_category() ensures the use of strerror,
+ strerror_r or FormatMessage() as required by the target platform.
+ Added: ofstd/include/dcmtk/ofstd/oferror.h
+ ofstd/libsrc/oferror.cc
+ ofstd/tests/terror.cc
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/CMakeLists.txt
+ ofstd/libsrc/ofstd.cc
+ ofstd/tests/CMakeLists.txt
+ ofstd/tests/tests.cc
+
+**** Changes from 2017.04.19 (schlamelcher)
+
+- Refactored getMACAddress() and its use:
+ The recently modified getMACAddress() function now uses OFVector for
+ allocating and freeing the buffer memory and has been changed to return not
+ only the MAC address of the first adapter but instead the MAC addresses of all
+ adapters. The function has therefore been renamed to getMACAddresses().
+ The calling code now adds all available MAC addresses to the CRC hash for
+ generating a UUID.
+ Also, a warning message output has been added in case GetAdaptersInfo() fails,
+ to help in case of problems resulting from potential future API changes by
+ Microsoft.
+ Affects: dcmdata/libsrc/dcuid.cc
+
+**** Changes from 2017.04.18 (onken)
+
+- Ensure SPS/RP Description/Code is never empty:
+ Per DICOM standard, either SPS Description or Scheduled Protocol Code, as well
+ as either Requested Procedure Description or Requested Protocol Code must be
+ filled in (type 1C, with the condition that either one of both attributes in
+ each of both cases must be supported). The old code permitted that if the
+ respective sequence is filled in, the description may have an empty value.
+ Now an empty value is forbidden for the descriptions and for the sequences
+ in any case. One of both (for each case) has to exist with a (non-empty)
+ value.
+ Thanks to Anne-Gaelle Berge <anne-gaelle.berge@kereval.com> for reporting
+ a related issue.
+ This closes DCMTK Bug #472.
+ Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h
+ dcmwlm/libsrc/wlfsim.cc
+
+- Take over charset on import. Minor changes:
+ Take over charset when importing patient/study/series information from existing
+ instance, if desired. Made some bool parameters const. Added / fixed
+ documentation.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h
+ dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
+ dcmiod/libsrc/iodcommn.cc
+ dcmiod/libsrc/iodutil.cc
+
+**** Changes from 2017.04.17 (riesmeier)
+
+- Disabled check of VR for unsupported charsets:
+ Disabled check of value representation (VR) in checkValue() method when
+ using an unsupported character set, i.e. something else than ASCII or
+ Latin-1. This applies to all VR classes derived from DcmCharString: PN,
+ SH, ST, LO, LT, UC, UT.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrlo.h
+ dcmdata/include/dcmtk/dcmdata/dcvrlt.h
+ dcmdata/include/dcmtk/dcmdata/dcvrpn.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsh.h
+ dcmdata/include/dcmtk/dcmdata/dcvrst.h
+ dcmdata/include/dcmtk/dcmdata/dcvruc.h
+ dcmdata/include/dcmtk/dcmdata/dcvrut.h
+ dcmdata/libsrc/dcvrlo.cc
+ dcmdata/libsrc/dcvrlt.cc
+ dcmdata/libsrc/dcvrpn.cc
+ dcmdata/libsrc/dcvrsh.cc
+ dcmdata/libsrc/dcvrst.cc
+ dcmdata/libsrc/dcvruc.cc
+ dcmdata/libsrc/dcvrut.cc
+
+- Separated test for dcmGenerateUniqueIdentifier():
+ Created separate source file for recently added regression test of function
+ dcmGenerateUniqueIdentifier() since this has nothing to do with the VR class
+ DcmUniqueIdentifier.
+ Added: dcmdata/tests/tgenuid.cc
+ Affects: dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+ dcmdata/tests/tvrui.cc
+
+- Fixed API documentation of newDicomElement():
+ Fixed API documentation of newDicomElement() and newDicomElementWithVR().
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2017.04.17 (eichelberg)
+
+- Fixed private tag issue with dump2dcm and xml2dcm:
+ Fixed an issue causing the VR of private tags to not be properly
+ retained in dump2dcm and xml2dcm introduced by commit ae4ae81.
+ This fixes DCMTK bug #745.
+ Affects: dcmdata/apps/dump2dcm.cc
+ dcmdata/apps/xml2dcm.cc
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/dcitem.cc
+
+- getMacAddress() on Windows now uses GetAdaptersInfo:
+ The getMacAddress() function, which is used on Windows as part of the
+ UID generation code, is now based on GetAdaptersInfo() instead of the
+ old implementation, which was based on NETBIOS and SNMP and does not
+ work reliably anymore on Windows 10.
+ This closes DCMTK bug #594.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkPrepare.cmake
+ dcmdata/libsrc/dcuid.cc
+ dcmdata/tests/tests.cc
+ dcmdata/tests/tvrui.cc
+
+**** Changes from 2017.04.15 (eichelberg)
+
+- Socket handle now always passed as 64-bit on Win32:
+ The network layer now always passes the socket handle as an unsigned 64-bit
+ integer on Win32 platforms when using the multi-process code. The code
+ that reads the socket handle from the pipe in the client process has been
+ moved into a helper function named DUL_readSocketHandleAsForkedChild().
+ Affects: dcmnet/apps/storescp.cc
+ dcmnet/include/dcmtk/dcmnet/cond.h
+ dcmnet/include/dcmtk/dcmnet/dul.h
+ dcmnet/libsrc/cond.cc
+ dcmnet/libsrc/dul.cc
+ dcmwlm/libsrc/wlmactmg.cc
+
+- Prevent infinite loop in DUL_AbortAssociation:
+ Added code to prevent an potential infinite loop in DUL_AbortAssociation()
+ that can occur when garbage is received over the network connection after
+ sending an A-ABORT message. Thanks to Tamas Nemeth for the bug report.
+ This closes DCMTK bug #371.
+ Affects: dcmnet/libsrc/dul.cc
+
+**** Changes from 2017.04.14 (dicom)
+
+- Fixed typo in method name and API docs.
+ Affects: dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
+ dcmfg/libsrc/fgrealworldvaluemapping.cc
+
+**** Changes from 2017.04.14 (riesmeier)
+
+- Fixed timezone issue with setISOFormattedTime():
+ Fixed issue with OFTime::setISOFormattedTime() when passing a timezone
+ <= -0800 or >= +0800, because sscanf() interprets a leading 0 as octal
+ number using the conversion pattern "%i". Also added a regression test.
+ Thanks to forum user "Shaeto" for the report.
+ Affects: ofstd/libsrc/oftime.cc
+ ofstd/tests/tofdatim.cc
+
+**** Changes from 2017.04.14 (eichelberg)
+
+- Now setting LossyImageCompression when decompressing:
+ All DCMTK-based image decompression codecs now insert the attribute
+ LossyImageCompression with a value of 01 when decompressing an image
+ encoded in a lossy transfer syntax. This makes sure that a warning
+ about the reduced image quality remains in the dataset even if the
+ encoder did not appropriately create it.
+ This closes DCMTK feature #307.
+ Affects: dcmjpeg/include/dcmtk/dcmjpeg/djcodecd.h
+ dcmjpeg/include/dcmtk/dcmjpeg/djdecbas.h
+ dcmjpeg/include/dcmtk/dcmjpeg/djdecext.h
+ dcmjpeg/include/dcmtk/dcmjpeg/djdeclol.h
+ dcmjpeg/include/dcmtk/dcmjpeg/djdecpro.h
+ dcmjpeg/include/dcmtk/dcmjpeg/djdecsps.h
+ dcmjpeg/include/dcmtk/dcmjpeg/djdecsv1.h
+ dcmjpeg/libsrc/djcodecd.cc
+ dcmjpeg/libsrc/djdecbas.cc
+ dcmjpeg/libsrc/djdecext.cc
+ dcmjpeg/libsrc/djdeclol.cc
+ dcmjpeg/libsrc/djdecpro.cc
+ dcmjpeg/libsrc/djdecsps.cc
+ dcmjpeg/libsrc/djdecsv1.cc
+ dcmjpls/include/dcmtk/dcmjpls/djcodecd.h
+ dcmjpls/libsrc/djcodecd.cc
+
+- Updated COPYRIGHT file:
+ The COPYRIGHT file now also includes the license notices of the
+ external libraries that DCMTK can optionally be configured to
+ use, such as zlib, libxml2 and openssl. This is to make sure
+ that the copyright notices remain available to users that only
+ download and install the executable binary package, which does
+ include the COPYRIGHT file.
+ This closes DCMTK bug #384.
+ Affects: COPYRIGHT
+
+**** Changes from 2017.04.14 (riesmeier)
+
+- Enhanced XSD definition of "UniqueIdentifier":
+ Enhanced XML Schema (XSD) definition of the DICOM value representation
+ "Unique Identifier" (UI), which was not as strict as possible. Actually,
+ the first component of an OSI Object Identification (numeric form) always
+ starts with "0", "1" or "2" but this is currently not checked in order to
+ accept values that are sometimes used for testing purposes (e.g. "99.xxx").
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report
+ and suggested fix.
+ Affects: dcmsr/data/dsr2xml.xsd
+
+**** Changes from 2017.04.14 (eichelberg)
+
+- Fixed conversion of OF/OD to OB in big endian:
+ When the generation of post-1993 VRs is disabled in the parser,
+ OF and OF elements are converted to OB. However, byte order was
+ not handled when writing to Explicit VR Big Endian.
+ This is now fixed for all VRs that are converted to OB.
+ This closes DCMTK bug #554.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+- Added timeout handler to DUL FSM state 5:
+ Added code to handle a timout occuring while the association initiator is
+ waiting for an A-ASSOCIATE-AC or A-ASSOCIATE-RJ PDU.
+ Thanks to Atsushi Suzuki for the suggestion and patch.
+ This closes DCMTK bug #560.
+ Affects: dcmnet/include/dcmtk/dcmnet/dul.h
+ dcmnet/libsrc/dulfsm.cc
+
+**** Changes from 2017.04.13 (schlamelcher)
+
+- Fixed and refactored running the unit tests via CTest:
+ CTest will now always set the environment variable DCMDICTPATH appropriately
+ such that the DICOM dictionaries from the source code folder will be used
+ for running the tests. This prevents the test from failing caused by
+ accidental use of a wrong dictionary or failing to load the dictionary.
+ The test can now be executed via Wine and utilizing the Android emulator
+ again, in both cases now also supporting to run the test in exhaustive mode
+ (via make test-exhaustive etc.) and also correctly setting DCMDICTPATH.
+ For both Android and Wine a CTestCustom.cmake file will be created to ensure:
+ The Android emulator will be started, prepared and stopped as necessary, that
+ is, the unit tests, required shared objects and now also the DICOM
+ dictionaries will be copied to the device before running the tests.
+ DCMDICTPATH and LD_LIBRARY_PATH will be set accordingly on the device during
+ test execution.
+ The Wine variant of the CTestCustom.cmake will ensure that the 'wineserver'
+ process is already running during test execution, preventing CTest from
+ attaching itself to that process leading to unnecessary and annoying wait
+ times before executing the next test.
+ Added: CMake/CTest/CTestCustomAndroid.cmake.in
+ CMake/CTest/CTestCustomWine.cmake.in
+ CMake/CTest/dcmtkCTestRun.cmake.in
+ CMake/CTest/dcmtkCTestRunWine.cmake.in
+ Removed: CMake/CTest/CTestCustom.cmake
+ CMake/CTest/dcmtkCTestConfig.cmake.in
+ CMake/CTest/dcmtkCTestRun.cmake
+ Affects: CMake/CTest/dcmtkCTestRunAndroid.cmake.in
+ CMake/dcmtkMacros.cmake
+ CMakeLists.txt
+ dcmdata/data/CMakeLists.txt
+
+**** Changes from 2017.04.12 (riesmeier)
+
+- Enhanced XSD definition of "DecimalString":
+ Enhanced XML Schema (XSD) definition of the DICOM value representation
+ "Decimal String" (DS), which did not allow for scientic notation.
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report
+ and suggested fix.
+ Affects: dcmsr/data/dsr2xml.xsd
+
+**** Changes from 2017.04.12 (onken)
+
+- Warn if patient name may lead to broken dir name:
+ The option --sort-on-patientname uses the patient name from received files
+ in order to create a storage directory. The dir name is always in ASCII.
+ storescp already defines a mapping from Latin-1 to ASCII. However, if
+ a patient name uses a different character set, the latin-1 mapping is
+ silently performed anyway.
+ The new code does print a warning for cases where the patient name is not
+ in ASCII or latin-1 denoting that the resulting directory name may be broken.
+ Also, the current behaviour is documented.
+ This fixes DCMTK Bug #557.
+ Affects: dcmnet/apps/storescp.cc
+ dcmnet/docs/storescp.man
+
+**** Changes from 2017.04.11 (schlamelcher)
+
+- Fixed and refactored cross compiling for Android:
+ Removed previously introduced CMake function DCMTK_ATEXIT, since the utilized
+ exploit seems to no longer work on newer versions of CMake. The Android
+ emulator instance launched for performing the configuration tests will now
+ only be shut down when/if CMake successfully finishes configuring the DCMTK
+ build. This is hardly ideal, but there does not seem to be a proper solution
+ with newer versions of CMake.
+ Added a configuration test for detecting whether the implementation of 'lockf'
+ that newer versions of Android provide can actually be used, i.e. whether it
+ includes the definition of required macro constants.
+ Fixed two breaking changes regarding the Android emulators command line
+ arguments/handling.
+ Modified accessing the emulator such that all commands will be executed with
+ root access rights as a workaround for emulated devices of newer SDK versions
+ not allowing access to /cache or executing applications on the sdcard.
+ Removed outdated 'android.toolchain.cmake' that no longer works with newer SDK
+ versions. Use the Android cross compiling support included in/provided by
+ CMake version 3.7.2 and later instead!
+ This commit will break running the unit tests on the Android emulator, which
+ will be addressed by a follow-up refactoring of the unit test related CMake
+ configuration.
+ Removed: CMake/android.toolchain.cmake
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkMacros.cmake
+ CMake/dcmtkPrepare.cmake
+ CMake/dcmtkUseAndroidSDK.cmake
+ CMakeLists.txt
+
+- Refactored cross compiling support with MinGW/Wine:
+ When cross compiling for Windows using MinGW/Wine, the configuration tests
+ will now run in a specifically prepared wineprefix that is configured for
+ linking the detected/configured MinGW runtime DLLs.
+ The Wine instances will also be spawned as detached processes, with their
+ IO streams redirected to temporary files. This works around a problem where
+ CMake was waiting for the whole 'wineserver' process to shutdown instead of
+ only the spawned application, before continuing the execution. The temporary
+ files will be read and displayed etc. such that the user experience does not
+ change significantly compared to before.
+ This commit will break running the unit tests via Wine, which will be
+ addressed by a follow-up refactoring of the unit test related CMake
+ configuration.
+ Added: CMake/dcmtkWinePath.reg.in
+ Affects: CMake/dcmtkTryRun.cmake
+ CMake/dcmtkUseWine.cmake
+
+**** Changes from 2017.04.11 (onken)
+
+- Check override keys in img2dcm library code:
+ img2dcm silently ignored errors if override keys defined with the --key
+ option (or by the library user) can neither be parsed to a valid tag nor
+ tag dictionary name. Now the error is handled and returned to the user.
+ Additionally, the related method now uses a unique pointer to ensure that
+ all code paths are cleaning up memory in case of error.
+ This closes DCMTK bug #589.
+ Affects: dcmdata/libi2d/i2d.cc
+
+**** Changes from 2017.04.11 (schlamelcher)
+
+- Fixed a mistake in the code generating arith.h:
+ The configuration test for inspecting the fundamental arithmetic types was
+ written under the wrong assumption that std::isnormal tests for non-subnormal
+ values. Instead isnormal returns true if the value is neither zero, subnormal
+ NaN or infinity.
+ The test now compares the given value with FLT_MIN resp. DBL_MIN instead,
+ which should be more appropriate. Luckily, the results seem to be the same
+ on the platforms we have tested so far.
+ Affects: config/arith.cc
+
+**** Changes from 2017.04.11 (onken)
+
+- Fix backslash quoting for Windows --fork mode:
+ Windows --fork mode in DCMTK sets quotes ("") around each command
+ line argument before providing it to CreateProcess. If the last
+ character in the argument is a backslash, it escaped the following
+ appended quote so that the delimiter of that command line argument
+ was missing.
+ The fix checks whether the last character is a backslash, and if so,
+ escapes it so the finalizing quote stays intact.
+ This closes DCMTK Bug #392.
+ Affects: dcmnet/libsrc/dul.cc
+
+**** Changes from 2017.04.06 (riesmeier)
+
+- Fixed minor issues in manpage:
+ Also reworded recently revised section on "Character Encoding".
+ Affects: dcmdata/docs/dcm2json.man
+
+**** Changes from 2017.04.06 (grallert)
+
+- Fixed the encoding section in dcm2json man page:
+ Removed the encoding table in dcm2json man page and replaced it with a small
+ explanation that dcm2json always tries to output in UTF-8 if possible or in
+ ASCII if not.
+ Affects: dcmdata/docs/dcm2json.man
+
+- Added unique section labels in DCMTK man pages:
+ Replaced identical section, subsection and subsubsection labels with unique
+ labels, which are composed of the application name and the existing labels.
+ Closes DCMTK bug #723.
+ Affects: dcmdata/docs/dcm2json.man
+ dcmdata/docs/dcm2pdf.man
+ dcmdata/docs/dcm2xml.man
+ dcmdata/docs/dcmconv.man
+ dcmdata/docs/dcmcrle.man
+ dcmdata/docs/dcmdrle.man
+ dcmdata/docs/dcmdump.man
+ dcmdata/docs/dcmftest.man
+ dcmdata/docs/dcmgpdir.man
+ dcmdata/docs/dcmodify.man
+ dcmdata/docs/dump2dcm.man
+ dcmdata/docs/img2dcm.man
+ dcmdata/docs/pdf2dcm.man
+ dcmdata/docs/xml2dcm.man
+ dcmimage/docs/dcm2pnm.man
+ dcmimage/docs/dcmquant.man
+ dcmimage/docs/dcmscale.man
+ dcmimgle/docs/dcmdspfn.man
+ dcmimgle/docs/dcod2lum.man
+ dcmimgle/docs/dconvlum.man
+ dcmjpeg/docs/dcmcjpeg.man
+ dcmjpeg/docs/dcmdjpeg.man
+ dcmjpeg/docs/dcmj2pnm.man
+ dcmjpeg/docs/dcmmkdir.man
+ dcmjpls/docs/dcmcjpls.man
+ dcmjpls/docs/dcmdjpls.man
+ dcmjpls/docs/dcml2pnm.man
+ dcmnet/docs/getscu.man
+ dcmnet/docs/movescu.man
+ dcmpstat/docs/dcmmkcrv.man
+ dcmpstat/docs/dcmmklut.man
+ dcmpstat/docs/dcmp2pgm.man
+ dcmpstat/docs/dcmprscp.man
+ dcmpstat/docs/dcmprscu.man
+ dcmpstat/docs/dcmpschk.man
+ dcmpstat/docs/dcmpsmk.man
+ dcmpstat/docs/dcmpsprt.man
+ dcmpstat/docs/dcmpsrcv.man
+ dcmpstat/docs/dcmpssnd.man
+ dcmqrdb/docs/dcmqridx.man
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/docs/dcmqrti.man
+ dcmrt/docs/drtdump.man
+ dcmsign/docs/dcmsign.man
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+ dcmsr/docs/dsrdump.man
+ dcmsr/docs/xml2dsr.man
+ dcmwlm/docs/wlmscpfs.man
+
+**** Changes from 2017.04.04 (schlamelcher)
+
+- Fixed CTest failing tests that did not compile:
+ The previously introduced script based approach to run the unit tests for
+ allowing additional parameters (e.g. -x) caused unit tests to fail if the
+ respective test binary was unavailable instead of the correct and previous
+ behavior to skip them.
+ The respective binaries are now correctly marked as unit test dependency to
+ restore the previous behavior.
+ Affects: CMake/dcmtkMacros.cmake
+
+- Added config tests for including libc.h and math.h:
+ CMake now also determines whether <libc.h> and <math.h> may be included as
+ extern "C" or must be included as C++ headers, instead of hardcoding the
+ results that seem to have worked in the past but were never verified.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+
+- Modified CMake configuration regarding MinGW:
+ CMake now uses the same path and environment separator etc. settings for MinGW
+ as it does for other compilers that target native Windows (e.g. Visual
+ Studio). The only remaining exception now is Cygwin, where the resulting
+ executables are expected to be run in the Cygwin shell.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2017.04.04 (riesmeier)
+
+- Fixed issue reading XML template identification:
+ Fixed issue when reading the template identification from XML input (e.g.
+ using xml2dsr). Background: the internal value type "VT_includedTemplate"
+ was mapped to the XML element name "template", which is also used for
+ identifying the SR template in the XML document. Solution: use a different
+ name for the mapping, i.e. something that never occurs in practice.
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the original
+ report (including sample file and command line call showing this behavior).
+ Affects: dcmsr/libsrc/dsrtypes.cc
+
+**** Changes from 2017.04.03 (schlamelcher)
+
+- Added CMake config tests for int64_t and uint64_t:
+ Added CMake configuration tests for int64_t and uint64_t defining the
+ respective macros HAVE_INT64_T and HAVE_UINT64_T if available.
+ Modified oftypes.h to use HAVE_UINT64_T instead of presuming uint64_t exists
+ when HAVE_INT64_T was defined.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ ofstd/include/dcmtk/ofstd/oftypes.h
+
+- Added double quotes around paths in CMake files:
+ Added double quotes around paths inside the CMake configuration files to
+ prevent errors resulting from paths that may contain spaces etc.
+ Closes DCMTK bug #633.
+ Affects: CMake/3rdparty.cmake
+ CMake/CheckFunctionWithHeaderExists.cmake
+ CMake/GenerateCMakeExports.cmake
+ CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkAfterModules.cmake
+ CMake/dcmtkMacros.cmake
+ CMake/dcmtkPrepare.cmake
+ CMake/dcmtkTryCompile.cmake
+ CMake/dcmtkTryRun.cmake
+ CMake/dcmtkUseAndroidSDK.cmake
+ CMakeLists.txt
+ config/docs/CMakeLists.txt
+ dcmdata/CMakeLists.txt
+ dcmdata/data/CMakeLists.txt
+ dcmdata/docs/CMakeLists.txt
+ dcmdata/include/CMakeLists.txt
+ dcmdata/libsrc/CMakeLists.txt
+ dcmfg/CMakeLists.txt
+ dcmfg/include/CMakeLists.txt
+ dcmimage/CMakeLists.txt
+ dcmimage/include/CMakeLists.txt
+ dcmimgle/CMakeLists.txt
+ dcmimgle/data/CMakeLists.txt
+ dcmimgle/include/CMakeLists.txt
+ dcmiod/CMakeLists.txt
+ dcmiod/include/CMakeLists.txt
+ dcmjpeg/apps/CMakeLists.txt
+ dcmjpeg/include/CMakeLists.txt
+ dcmjpeg/libsrc/CMakeLists.txt
+ dcmjpls/apps/CMakeLists.txt
+ dcmjpls/include/CMakeLists.txt
+ dcmjpls/libcharls/CMakeLists.txt
+ dcmjpls/libsrc/CMakeLists.txt
+ dcmnet/CMakeLists.txt
+ dcmnet/apps/CMakeLists.txt
+ dcmnet/docs/CMakeLists.txt
+ dcmnet/etc/CMakeLists.txt
+ dcmnet/include/CMakeLists.txt
+ dcmpmap/CMakeLists.txt
+ dcmpmap/include/CMakeLists.txt
+ dcmpstat/CMakeLists.txt
+ dcmpstat/data/CMakeLists.txt
+ dcmpstat/etc/CMakeLists.txt
+ dcmpstat/include/CMakeLists.txt
+ dcmqrdb/CMakeLists.txt
+ dcmqrdb/docs/CMakeLists.txt
+ dcmqrdb/etc/CMakeLists.txt
+ dcmqrdb/include/CMakeLists.txt
+ dcmrt/CMakeLists.txt
+ dcmrt/include/CMakeLists.txt
+ dcmseg/CMakeLists.txt
+ dcmseg/include/CMakeLists.txt
+ dcmsign/CMakeLists.txt
+ dcmsign/include/CMakeLists.txt
+ dcmsr/CMakeLists.txt
+ dcmsr/data/CMakeLists.txt
+ dcmsr/include/CMakeLists.txt
+ dcmtls/CMakeLists.txt
+ dcmtls/docs/CMakeLists.txt
+ dcmtls/include/CMakeLists.txt
+ dcmtract/CMakeLists.txt
+ dcmtract/include/CMakeLists.txt
+ dcmwlm/CMakeLists.txt
+ dcmwlm/apps/CMakeLists.txt
+ dcmwlm/data/CMakeLists.txt
+ dcmwlm/include/CMakeLists.txt
+ doxygen/CMakeLists.txt
+ oflog/CMakeLists.txt
+ oflog/etc/CMakeLists.txt
+ oflog/include/CMakeLists.txt
+ ofstd/CMakeLists.txt
+ ofstd/include/CMakeLists.txt
+ ofstd/tests/CMakeLists.txt
+
+**** Changes from 2017.03.31 (grallert)
+
+- Again, a small fix for HEVC/H.265 commit.
+ Affects: dcmnet/apps/movescu.cc
+ dcmqrdb/libsrc/dcmqrsrv.cc
+
+- Small fix for HEVC/H.265 commit.
+ Affects: dcmnet/apps/movescu.cc
+
+- Added command line options for HEVC/H.265:
+ Added command line options for the two new transfer syntaxes HEVC/H.265 Main
+ Profile and HEVC/H.265 Main 10 Profile introduced by supplement 195.
+ Closes DCMTK conformance #702.
+ Affects: dcmnet/apps/getscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/docs/getscu.man
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/docs/storescu.man
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/libsrc/dcmqrcbm.cc
+ dcmqrdb/libsrc/dcmqrsrv.cc
+
+**** Changes from 2017.03.30 (schlamelcher)
+
+- Refactored low level network API usage:
+ Created dcmnet header file dntypes.h defining platform independent socket
+ file descriptor/handle data type etc.
+ Added OFStandard::initializeNetwork() and OFStandard::shutdownNetwork().
+ Employed above definitions to replace platform specific networking code
+ everywhere except within oflog.
+ Closes DCMTK feature #451 (again).
+ Added: dcmnet/include/dcmtk/dcmnet/dntypes.h
+ Affects: dcmdata/libsrc/dcuid.cc
+ dcmdata/libsrc/mkdeftag.cc
+ dcmdata/libsrc/mkdictbi.cc
+ dcmnet/apps/echoscu.cc
+ dcmnet/apps/findscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/apps/termscu.cc
+ dcmnet/include/dcmtk/dcmnet/dcmlayer.h
+ dcmnet/include/dcmtk/dcmnet/dcmtrans.h
+ dcmnet/include/dcmtk/dcmnet/dcompat.h
+ dcmnet/include/dcmtk/dcmnet/dul.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/dcmlayer.cc
+ dcmnet/libsrc/dcmtrans.cc
+ dcmnet/libsrc/dcompat.cc
+ dcmnet/libsrc/dfindscu.cc
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulextra.cc
+ dcmnet/libsrc/dulfsm.cc
+ dcmnet/libsrc/dulstruc.h
+ dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scu.cc
+ dcmpstat/apps/dcmprscp.cc
+ dcmpstat/apps/dcmprscu.cc
+ dcmpstat/apps/dcmpschk.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmpstat/apps/dcmpssnd.cc
+ dcmpstat/libsrc/dviface.cc
+ dcmpstat/libsrc/dvpsmsg.cc
+ dcmpstat/libsrc/dvpspr.cc
+ dcmpstat/tests/msgserv.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/apps/dcmqrti.cc
+ dcmqrdb/libsrc/dcmqrcbm.cc
+ dcmqrdb/libsrc/dcmqrtis.cc
+ dcmwlm/libsrc/wlmactmg.cc
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2017.03.27 (schlamelcher)
+
+- Added configure tests for some reentrant functions:
+ Added configuration tests for some reentrant alternatives for the respective
+ functions for CMake and Autoconf.
+ Adjusted the code using the functions accordingly.
+ Closes DCMTK bug #600.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ dcmwlm/libsrc/wlfsim.cc
+ ofstd/libsrc/ofstd.cc
+
+- Added test-exhaustive target for CMake:
+ Modified the CMake unit test configuration to allow passing additional
+ arguments via the DCMTK_CTEST_EXTRA_ARGUMENTS environment variable.
+ Added the test-exhaustive and <module>-test-exhaustive targets to run the
+ respective unit tests in exhaustive mode (passing -x to the test executable).
+ Added: CMake/CTest/dcmtkCTestRun.cmake
+ CMake/CTest/dcmtkCTestRunExhaustive.cmake
+ Affects: CMake/dcmtkMacros.cmake
+ CMakeLists.txt
+ INSTALL
+
+**** Changes from 2017.03.26 (eichelberg)
+
+- DCMTK now uses SOCKET data type on Windows:
+ While Posix systems use an int type to represent network sockets,
+ Win32 uses a type named SOCKET, which is a 64-bit unsigned integer
+ when compiling on x64. DCMTK now properly uses this type.
+ Affects: dcmnet/include/dcmtk/dcmnet/dcmlayer.h
+ dcmnet/include/dcmtk/dcmnet/dcmtrans.h
+ dcmnet/include/dcmtk/dcmnet/dul.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/dcmlayer.cc
+ dcmnet/libsrc/dcmtrans.cc
+ dcmnet/libsrc/dfindscu.cc
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulextra.cc
+ dcmnet/libsrc/dulfsm.cc
+ dcmnet/libsrc/dulstruc.h
+ dcmpstat/libsrc/dvpsmsg.cc
+ dcmpstat/tests/msgserv.cc
+ dcmtls/include/dcmtk/dcmtls/tlslayer.h
+ dcmtls/include/dcmtk/dcmtls/tlstrans.h
+ dcmtls/libsrc/tlslayer.cc
+ dcmtls/libsrc/tlstrans.cc
+
+- Explicitly include <winsock2.h> on Windows.
+ Affects: dcmdata/libsrc/dcuid.cc
+ dcmdata/libsrc/mkdeftag.cc
+ dcmdata/libsrc/mkdictbi.cc
+ dcmnet/apps/echoscu.cc
+ dcmnet/apps/findscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/apps/termscu.cc
+ dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scu.cc
+ dcmpstat/apps/dcmprscp.cc
+ dcmpstat/apps/dcmprscu.cc
+ dcmpstat/apps/dcmpschk.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmpstat/apps/dcmpssnd.cc
+ dcmpstat/libsrc/dviface.cc
+ dcmpstat/libsrc/dvpspr.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/apps/dcmqrti.cc
+ dcmqrdb/libsrc/dcmqrcbm.cc
+ dcmqrdb/libsrc/dcmqrtis.cc
+ dcmwlm/libsrc/wlmactmg.cc
+ ofstd/libsrc/ofstd.cc
+
+- Fixed server socket options on WIN32:
+ On Windows, the socket option SO_REUSEADDR has different semantics than on
+ Posix systems. Now using SO_EXCLUSIVEADDRUSE when compiling on Windows.
+ This closes DCMTK bug #559.
+ Affects: dcmnet/libsrc/dul.cc
+ dcmpstat/tests/msgserv.cc
+
+**** Changes from 2017.03.24 (riesmeier)
+
+- Removed trailing spaces added by last commit.
+ Affects: dcmsign/libsrc/sicertvf.cc
+
+- Documented new default value of --data-files-path.
+ Affects: dcmwlm/docs/wlmscpfs.man
+
+- Updated Manpage after --write-us has been added.
+ Affects: dcmimage/docs/dcmquant.man
+
+- Documented that --write-ow is now the default.
+ Affects: dcmimage/apps/dcmquant.cc
+
+**** Changes from 2017.03.24 (eichelberg)
+
+- dcmquant now by default generates OW LUT data:
+ dcmquant now by default uses the OW value representation for the generated
+ palette color LUT entries. Using US VR for these elements was retired with
+ CP 143.
+ This closes DCMTK issue #578.
+ Affects: dcmimage/apps/dcmquant.cc
+
+- Changed wlmscpfs default data path to current dir:
+ Changed the default path under which wlmscpfs looks for worklist files to the current directory.
+ This closes DCMTK feature #454.
+ Affects: dcmwlm/apps/wlcefs.cc
+
+- Fixed bug in dcmsign certification validation code:
+ Fixed bug in dcmsign certification validation code that caused a
+ certificate chain to be (incorrectly) accepted when X509_verify_cert()
+ returned a negative number.
+ Thanks to <rlq1969612634@gmail.com> for the bug report and fix.
+ This closes DCMTK bug #740.
+ Affects: dcmsign/libsrc/sicertvf.cc
+
+**** Changes from 2017.03.24 (schlamelcher)
+
+- Fixed linking some dcmsr unit tests with MSVC:
+ Fixed linking dcmsr_addItems and dcmsr_getItems when building shared libraries
+ (DLLs) with Visual Studio. The tests had previously been disabled when
+ building shared libraries since Visual Studio is unable to handle some of
+ the symbols that are part of the DSRListOfItems template.
+ This workaround employs a dummy class to create specific symbols for the tests
+ only.
+ Closes DCMTK bug #694.
+ Affects: dcmsr/tests/tsrlist.cc
+
+**** Changes from 2017.03.23 (onken)
+
+- Added support for final text CP-1619:
+ CP-1619 changed the attribute for the code segmentation algorithm from "Segment
+ Surface Generation Algorithm Identification Sequence" to the new attribute
+ "Segmentation Algorithm Identification Sequence". Class member and method names
+ now reflect the new attribute.
+ Existing implementations using those methods have to adapt their code.
+ Segmentation objects that use the old sequence attribute will be read
+ successfully, but the algorithm code data will be ignored, i.e. the new
+ implementation does not evaluate the "Segment Surface Generation Algorithm
+ Identification Sequence" any more. Since not many implementations of
+ Segmentation objects can be found so far, only a few users are expected to be
+ affected and those are warned since their existing code does not compile any
+ more.
+ Rationale from the CP:
+ The Segmentation IOD currently only allows specification of algorithm
+ parameters in the Segment Surface Generation Algorithm Identification Sequence.
+ Create a new attribute that is not limited to "Surface Generation" and that may
+ may be used for any segmentation algorithm.
+ Affects: dcmseg/include/dcmtk/dcmseg/segment.h
+ dcmseg/libsrc/segment.cc
+
+**** Changes from 2017.03.23 (schlamelcher)
+
+- Suppressed an inappropriate Visual Studio warning.
+ Affects: dcmdata/libsrc/dcmatch.cc
+
+- Refactored DSRListOfItems::EmptyItem:
+ DSRListOfItems::EmptyItem is now no longer a static member variable but
+ instead a global function template. While there was nothing wrong with the
+ previous approach, the new one will hopefully have better compiler
+ compatibility.
+ Especially Visual Studio and some older versions of Clang have bugs that lead
+ to problems with the previous approach when building shared objects (DLLs).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtlist.h
+ dcmsr/libsrc/dsrimgfr.cc
+ dcmsr/libsrc/dsrimgse.cc
+ dcmsr/libsrc/dsrsc3gr.cc
+ dcmsr/libsrc/dsrscogr.cc
+ dcmsr/libsrc/dsrtcodt.cc
+ dcmsr/libsrc/dsrtcosp.cc
+ dcmsr/libsrc/dsrtcoto.cc
+ dcmsr/libsrc/dsrwavch.cc
+
+**** Changes from 2017.03.23 (riesmeier)
+
+- Replaced spaces by tabs in comment header.
+ Affects: dcmdata/data/dicom.dic
+
+- Enhanced logging of interface class DSRDocument:
+ Enhanced logging of main interface class DSRDocument by adding output to
+ the debug logger when creating, reading or writing a DICOM SR document.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/dsrdoc.cc
+
+**** Changes from 2017.03.22 (riesmeier)
+
+- Fixed warnings on unused parameters:
+ Fixed warnings on unused parameters (reported by gcc -Wunused-parameter).
+ Affects: dcmdata/libsrc/dcjson.cc
+ ofstd/include/dcmtk/ofstd/ofstd.h
+
+- Removed unused variable "checkAllStrings":
+ Removed unused variable "opt_checkAllStrings" and parameter "checkAllStrings"
+ (reported by gcc -Wunused-parameter).
+ Affects: dcmdata/apps/dcm2json.cc
+
+- Fixed warnings reported by gcc with "-Wshadow":
+ Renamed parameter that shadows a member variable (reported by gcc -Wshadow).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcjson.h
+ dcmdata/libsrc/dcjson.cc
+
+- Fixed warning reported by gcc 4.8.5 (Linux):
+ Fixed warning "comparison between signed and unsigned integer expressions
+ [-Wsign-compare]" reported by gcc 4.8.5 on Linux.
+ Affects: dcmwlm/libsrc/wlfsim.cc
+
+**** Changes from 2017.03.20 (eichelberg)
+
+- Fixed DLL compilation of libcharls.
+ Affects: dcmjpls/libcharls/CMakeLists.txt
+
+**** Changes from 2017.03.19 (eichelberg)
+
+- Fixed warnings reported by VS 2017 x64.
+ Affects: dcmiod/libsrc/iodreferences.cc
+ dcmnet/libsrc/diutil.cc
+
+- Fixed warnings reported by VS 2017 x64.
+ Affects: dcmdata/libi2d/i2djpgs.cc
+ dcmfg/libsrc/fginterface.cc
+ dcmfg/libsrc/fgrealworldvaluemapping.cc
+ dcmfg/libsrc/stackinterface.cc
+ dcmimage/libsrc/diqthash.cc
+ dcmiod/include/dcmtk/dcmiod/iodutil.h
+ dcmiod/libsrc/iodutil.cc
+ dcmiod/libsrc/modimagepixel.cc
+ dcmiod/libsrc/modmultiframedimension.cc
+ dcmiod/libsrc/modusfor.cc
+ dcmjpeg/libsrc/djcodece.cc
+ dcmjpls/libsrc/djcodece.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/libsrc/dcmtrans.cc
+ dcmnet/libsrc/dimstore.cc
+ dcmnet/libsrc/dul.cc
+ dcmpmap/libsrc/dpmparametricmapiod.cc
+ dcmpstat/apps/dcmpschk.cc
+ dcmpstat/tests/msgserv.cc
+ dcmqrdb/libsrc/dcmqrcbg.cc
+ dcmqrdb/libsrc/dcmqrcbm.cc
+ dcmqrdb/libsrc/dcmqrdbi.cc
+ dcmseg/libsrc/segdoc.cc
+ dcmtract/libsrc/trcstatistic.cc
+ dcmtract/libsrc/trctrack.cc
+ dcmtract/libsrc/trctractographyresults.cc
+ dcmwlm/libsrc/wlds.cc
+ dcmwlm/libsrc/wlfsim.cc
+
+**** Changes from 2017.03.17 (riesmeier)
+
+- Added standard comments to new CMake files:
+ Added standard comments to recently introduced "CMakeLists.txt" files.
+ These comments are used for the CMake file in all "tests" subdirectories.
+ Affects: dcmpstat/tests/CMakeLists.txt
+ dcmwlm/tests/CMakeLists.txt
+
+**** Changes from 2017.03.17 (schlamelcher)
+
+- Added dcmpstat and dcmwlm test applications to CMake:
+ The CMake project configuration now also handles the test folders of dcmpstat
+ and dcmwlm, which contain non unit-test like testing applications for those
+ modules.
+ Added: dcmpstat/tests/CMakeLists.txt
+ dcmwlm/tests/CMakeLists.txt
+ Affects: dcmpstat/CMakeLists.txt
+ dcmwlm/CMakeLists.txt
+
+- Fixed misleading commit introduced by copy and paste.
+ Affects: CMakeLists.txt
+
+**** Changes from 2017.03.17 (eichelberg)
+
+- Fixed warnings reported by VS 2017 x64.
+ Affects: dcmpstat/include/dcmtk/dcmpstat/dvcache.h
+ dcmpstat/libsrc/dcmpstat.cc
+ dcmpstat/libsrc/dvpscu.cc
+ dcmpstat/libsrc/dvpsgll.cc
+ dcmpstat/libsrc/dvpsgr.cc
+ dcmpstat/libsrc/dvpsmsg.cc
+ dcmpstat/libsrc/dvpssp.cc
+ dcmpstat/libsrc/dvpstat.cc
+ dcmpstat/libsrc/dvpsvw.cc
+
+- Fixed warnings reported by VS 2017 x64.
+ Affects: dcmpstat/apps/dcmmkcrv.cc
+
+**** Changes from 2017.03.17 (schlamelcher)
+
+- Enhanced the way <windows.h> is included:
+ The file <windows.h> is now always included with WIN32_LEAN_AND_MEAN defined,
+ in order to increase the performance of the compilation process.
+ In some cases specific Winsock functions are used, which only works when
+ WIN32_LEAN_AND_MEAN is not defined while including <windows.h>. All these
+ occurrences are now consistently marked with '#undef WIN32_LEAN_AND_MEAN' and
+ an appropriate comment.
+ Closes DCMTK feature #451.
+ Affects: dcmdata/libsrc/dcuid.cc
+ dcmdata/libsrc/mkdeftag.cc
+ dcmdata/libsrc/mkdictbi.cc
+ dcmjpeg/libijg12/jerror.c
+ dcmjpeg/libijg16/jerror.c
+ dcmjpeg/libijg8/jerror.c
+ dcmnet/apps/echoscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/apps/termscu.cc
+ dcmnet/include/dcmtk/dcmnet/dcompat.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/dcmtrans.cc
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulextra.cc
+ dcmnet/libsrc/dulfsm.cc
+ dcmnet/libsrc/scu.cc
+ dcmpstat/apps/dcmprscu.cc
+ dcmpstat/apps/dcmpschk.cc
+ dcmpstat/libsrc/dviface.cc
+ dcmpstat/libsrc/dvpsmsg.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/apps/dcmqrti.cc
+ dcmqrdb/libsrc/dcmqrcbm.cc
+ dcmqrdb/libsrc/dcmqrtis.cc
+ dcmtls/libsrc/tlslayer.cc
+ dcmtls/libsrc/tlstrans.cc
+ dcmwlm/libsrc/wlmactmg.cc
+ ofstd/libsrc/ofstd.cc
+ ofstd/libsrc/ofthread.cc
+ ofstd/libsrc/oftime.cc
+
+**** Changes from 2017.03.17 (eichelberg)
+
+- Fixed policy CMP0017 warning in CMake 3.7.2.
+ Affects: CMakeLists.txt
+
+**** Changes from 2017.03.17 (schlamelcher)
+
+- Fixed problems regarding Windows include magic:
+ Fixed problems caused by the previous commit that replaced OFauto_ptr with
+ OFunique_ptr. The file 'ofmem.h' includes <windows.h> and defines
+ WIN32_LEAN_AND_MEAN, which hides some Winsock functions required by dcmnet
+ and dcmpstat.
+ Explicitly included <windows.h> without defining WIN32_LEAN_AND_MEAN where
+ needed as a workaround.
+ Undefined the 'NEAR' macro from <windows.h> inside libcharls ('header.h'),
+ as a workaround for libcharls using NEAR as variable name etc.
+ Affects: dcmjpls/libcharls/header.h
+ dcmnet/apps/findscu.cc
+ dcmnet/libsrc/dfindscu.cc
+ dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scu.cc
+ dcmpstat/apps/dcmprscp.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmpstat/apps/dcmpssnd.cc
+ dcmpstat/libsrc/dviface.cc
+ dcmpstat/libsrc/dvpspr.cc
+
+**** Changes from 2017.03.16 (schlamelcher)
+
+- Updated Makefile dependencies.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/libi2d/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmfg/libsrc/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimage/libsrc/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmiod/libsrc/Makefile.dep
+ dcmiod/tests/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpeg/libsrc/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmjpls/libcharls/Makefile.dep
+ dcmjpls/libsrc/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/tests/Makefile.dep
+ dcmpmap/libsrc/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmqrdb/libsrc/Makefile.dep
+ dcmrt/apps/Makefile.dep
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/tests/Makefile.dep
+ dcmseg/libsrc/Makefile.dep
+ dcmseg/tests/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsign/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmtract/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ dcmwlm/tests/Makefile.dep
+ oflog/libsrc/Makefile.dep
+
+- Replaced OFauto_ptr with OFunique_ptr:
+ Replaced all occurrences of OFauto_ptr with OFunique_ptr and modified related
+ code according to the changed semantics (employed OFmove where needed etc.).
+ Closes DCMTK feature #537.
+ Removed: ofstd/include/dcmtk/ofstd/ofaptr.h
+ Affects: config/docs/macros.txt
+ dcmfg/libsrc/fginterface.cc
+ dcmjpls/libcharls/decodstr.h
+ dcmjpls/libcharls/encodstr.h
+ dcmjpls/libcharls/header.cc
+ dcmjpls/libcharls/header.h
+ dcmjpls/libcharls/jpegls.cc
+ dcmjpls/libcharls/scan.h
+ dcmpstat/apps/dcmprscp.cc
+ dcmpstat/libsrc/dviface.cc
+ oflog/include/dcmtk/oflog/appender.h
+ oflog/include/dcmtk/oflog/hierarchy.h
+ oflog/include/dcmtk/oflog/oflog.h
+ oflog/include/dcmtk/oflog/spi/factory.h
+ oflog/include/dcmtk/oflog/spi/logevent.h
+ oflog/libsrc/appender.cc
+ oflog/libsrc/hierarchy.cc
+ oflog/libsrc/logevent.cc
+ oflog/libsrc/oflog.cc
+ ofstd/include/dcmtk/ofstd/ofutil.h
+
+**** Changes from 2017.03.16 (eichelberg)
+
+- Minor API change in dcmjpls.
+ Affects: dcmjpls/libsrc/djcodece.cc
+
+**** Changes from 2017.03.15 (schlamelcher)
+
+- Fixed incorrect usage of FindICU.cmake:
+ FindICU.cmake is now used correctly be specifying which components are needed.
+ This works with the FindICU.cmake we provide with the DCMTK and also the newer
+ versions provided by CMake.
+ Affects: CMake/3rdparty.cmake
+
+- Modified config to prefer CMake's own FindXXX modules:
+ Modified the CMake configuration to prefer the FindXXX modules provided by
+ CMake (in ${CMAKE_ROOT}/Modules) instead of the ones we provide with DCMTK,
+ since ours are only meant as a fallback for supporting older CMake versions.
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2017.03.15 (eichelberg)
+
+- JPEG/JPEG-LS padding now uses extended EOI marker:
+ DCMTK now pads JPEG and JPEG-LS bitstreams that have odd length with an
+ "extended" end of image (EOI) marker, writing ff/ff/d9 instead of adding
+ a zero byte after the EOI marker, i.e. writing ff/d9/00. The old behaviour
+ can be restored by defining the macro DISABLE_FF_JPEG_BITSTREAM_PADDING.
+ This implements the following note from DICOM Part 5 Section A.4:
+ "Any necessary padding may be added in the JPEG or JPEG-LS compressed data
+ stream as per ISO 10918-1 and ISO 14495-1 such that the End of Image (EOI)
+ marker ends on an even byte boundary, or may be appended after the EOI
+ marker, depending on the implementation. ISO 10918-1 and ISO 14495-1 define
+ the ability to add any number of padding bytes FFH before any marker (all
+ of which also begin with FFH)."
+ This closes DCMTK bug #658. Thanks to Mathieu Malaterre for the report.
+ Affects: config/docs/macros.txt
+ dcmjpeg/include/dcmtk/dcmjpeg/djutils.h
+ dcmjpeg/libsrc/djeijg12.cc
+ dcmjpeg/libsrc/djeijg16.cc
+ dcmjpeg/libsrc/djeijg8.cc
+ dcmjpeg/libsrc/djutils.cc
+ dcmjpls/include/dcmtk/dcmjpls/djcodece.h
+ dcmjpls/libsrc/djcodece.cc
+
+**** Changes from 2017.03.15 (schlamelcher)
+
+- Fixed build date definition problem regarding Xcode:
+ The compiler definition 'DCMTK_BUILD_DATE' is now differently escaped for
+ Xcode. This affects building DCMTK snapshot packages that set DCMTK_BUILD_DATE
+ to the day on which the snapshot was created. The previous escaping produced
+ unparsable Xcode project files.
+ Closes DCMTK bugs #497 and #651.
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2017.03.15 (eichelberg)
+
+- Fixed bug introduced with commit f58cfe9:
+ Fixed bug introduced with commit f58cfe9 that prevented successful
+ reading of DICOM files without metaheader.
+ Affects: dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcfilefo.cc
+
+**** Changes from 2017.03.15 (schlamelcher)
+
+- Fixed inspecting fundamental arithmetic types:
+ CMake will now re-run the inspection of fundamental arithmetic types
+ (configuration test) if the test code ("arith.cc") is newer than the existing
+ "arith.h".
+ This fixes problems with incompatible "arith.h" files in re-used build
+ directories if the configure test code was modified.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2017.03.15 (eichelberg)
+
+- Updated API documentation.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+
+**** Changes from 2017.03.15 (schlamelcher)
+
+- Fixed previous commit support for old CMake versions.
+ Affects: doxygen/CMakeLists.txt
+
+**** Changes from 2017.03.14 (schlamelcher)
+
+- Fixed installing manpages with CMake:
+ CMake now installs manpages from the source code directory unless a newer
+ version of a manpage exists in the build directory. This fixes installing
+ manpages in out-of-source builds in case they are not explicitly generated
+ via 'make man'.
+ Inside source builds are not affected by this modification, since the manpage
+ in the build and source directory are always identical in that case.
+ Futhermore, CMake now omits unwanted directory index manpages generated by
+ doxygen.
+ Affects: doxygen/CMakeLists.txt
+
+**** Changes from 2017.03.14 (eichelberg)
+
+- Parser can now be stopped before a certain tag:
+ Added methods to the dcmdata parser that allow the read process
+ to be stopped before a certain tag is fully processed. This also
+ works if the given tag (which must be on the main dataset level)
+ is not present in file, i.e. no higher tag is parsed/processed.
+ Added --stop-before-elem command line option to dcmdump to
+ enable use of these new methods.
+ This closes DCMTK patch #347. Thanks to Jeroen Eggermont for
+ the suggestion and the (partial) patch.
+ Affects: dcmdata/apps/dcmdump.cc
+ dcmdata/docs/dcmdump.man
+ dcmdata/include/dcmtk/dcmdata/dcdatset.h
+ dcmdata/include/dcmtk/dcmdata/dcfilefo.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2017.03.14 (goldhammer)
+
+- Fixed OFStandard::atof() not handling "NaN":
+ Handling of "INF" (infinity) was also integrated, because it required almost
+ no additional effort.
+ Closes DCMTK Bug #718.
+ Affects: ofstd/libsrc/ofstd.cc
+ ofstd/tests/tatof.cc
+
+**** Changes from 2017.03.14 (eichelberg)
+
+- Updated macro documentation.
+ Affects: config/docs/macros.txt
+
+**** Changes from 2017.03.13 (riesmeier)
+
+- Fixed indentation and removed trailing spaces.
+ Affects: config/docs/macros.txt
+
+**** Changes from 2017.03.13 (eichelberg)
+
+- OFMutex on Win32 now based on cricital sections:
+ The Win32 version of the OFMutex class now internally uyses critical
+ sections instead of Win32 mutexes, because critical sections are much
+ faster. The macro USE_WIN32_CREATE_MUTEX can be defined to revert to
+ the old implementation.
+ Thanks to Thomas Sondergaard for the suggestion.
+ This closes DCMTK Patch #520.
+ Affects: config/docs/macros.txt
+ ofstd/libsrc/ofthread.cc
+
+**** Changes from 2017.03.13 (riesmeier)
+
+- Updated "dcmrt" classes based on DICOM 2017a:
+ Updated automatically generated IOD and sequence C++ classes for the various
+ RT objects based on the current edition of the DICOM standard (2017a).
+ Added: dcmrt/include/dcmtk/dcmrt/seq/drtgmcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgms.h
+ dcmrt/libsrc/drtgmcs.cc
+ dcmrt/libsrc/drtgms.cc
+ Affects: dcmrt/apps/Makefile.dep
+ dcmrt/include/dcmtk/dcmrt/drtdose.h
+ dcmrt/include/dcmtk/dcmrt/drtimage.h
+ dcmrt/include/dcmtk/dcmrt/drtionpl.h
+ dcmrt/include/dcmtk/dcmrt/drtiontr.h
+ dcmrt/include/dcmtk/dcmrt/drtplan.h
+ dcmrt/include/dcmtk/dcmrt/drtstrct.h
+ dcmrt/include/dcmtk/dcmrt/drttreat.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtags.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtass.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtces.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtchs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtddps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdias.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drteas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtians.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticpds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtircs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtitts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtoas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtois.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtopis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtqds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtras.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrses.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtshds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsins.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms0.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttscds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtudis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtvls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
+ dcmrt/libsrc/CMakeLists.txt
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/libsrc/Makefile.in
+ dcmrt/libsrc/drtaadcs.cc
+ dcmrt/libsrc/drtadcs.cc
+ dcmrt/libsrc/drtads.cc
+ dcmrt/libsrc/drtafs.cc
+ dcmrt/libsrc/drtags.cc
+ dcmrt/libsrc/drtajcs.cc
+ dcmrt/libsrc/drtas1.cc
+ dcmrt/libsrc/drtas5.cc
+ dcmrt/libsrc/drtas6.cc
+ dcmrt/libsrc/drtas7.cc
+ dcmrt/libsrc/drtass.cc
+ dcmrt/libsrc/drtbads.cc
+ dcmrt/libsrc/drtbas.cc
+ dcmrt/libsrc/drtbcps.cc
+ dcmrt/libsrc/drtbl2.cc
+ dcmrt/libsrc/drtbl5.cc
+ dcmrt/libsrc/drtbldls.cc
+ dcmrt/libsrc/drtbldps.cc
+ dcmrt/libsrc/drtblds1.cc
+ dcmrt/libsrc/drtblds5.cc
+ dcmrt/libsrc/drtblds6.cc
+ dcmrt/libsrc/drtbldts.cc
+ dcmrt/libsrc/drtbrcss.cc
+ dcmrt/libsrc/drtbrdrs.cc
+ dcmrt/libsrc/drtbrs.cc
+ dcmrt/libsrc/drtbs.cc
+ dcmrt/libsrc/drtbss.cc
+ dcmrt/libsrc/drtbvcps.cc
+ dcmrt/libsrc/drtcbars.cc
+ dcmrt/libsrc/drtccs.cc
+ dcmrt/libsrc/drtcctus.cc
+ dcmrt/libsrc/drtcdrs.cc
+ dcmrt/libsrc/drtces.cc
+ dcmrt/libsrc/drtcgis.cc
+ dcmrt/libsrc/drtchs.cc
+ dcmrt/libsrc/drtcims.cc
+ dcmrt/libsrc/drtcis.cc
+ dcmrt/libsrc/drtcncs.cc
+ dcmrt/libsrc/drtcos.cc
+ dcmrt/libsrc/drtcpas.cc
+ dcmrt/libsrc/drtcpis.cc
+ dcmrt/libsrc/drtcps.cc
+ dcmrt/libsrc/drtcs.cc
+ dcmrt/libsrc/drtcsas.cc
+ dcmrt/libsrc/drtcshs.cc
+ dcmrt/libsrc/drtcsis.cc
+ dcmrt/libsrc/drtcss.cc
+ dcmrt/libsrc/drtdcs.cc
+ dcmrt/libsrc/drtdddps.cc
+ dcmrt/libsrc/drtddps.cc
+ dcmrt/libsrc/drtdias.cc
+ dcmrt/libsrc/drtdimcs.cc
+ dcmrt/libsrc/drtdimrs.cc
+ dcmrt/libsrc/drtdirs.cc
+ dcmrt/libsrc/drtdose.cc
+ dcmrt/libsrc/drtdrs.cc
+ dcmrt/libsrc/drtds.cc
+ dcmrt/libsrc/drtdspcs.cc
+ dcmrt/libsrc/drtdss.cc
+ dcmrt/libsrc/drtdvhs.cc
+ dcmrt/libsrc/drtdvrrs.cc
+ dcmrt/libsrc/drteas.cc
+ dcmrt/libsrc/drtecs.cc
+ dcmrt/libsrc/drtes.cc
+ dcmrt/libsrc/drtfds.cc
+ dcmrt/libsrc/drtfes.cc
+ dcmrt/libsrc/drtfgs.cc
+ dcmrt/libsrc/drtfgss.cc
+ dcmrt/libsrc/drtfms.cc
+ dcmrt/libsrc/drtfsss.cc
+ dcmrt/libsrc/drtgas.cc
+ dcmrt/libsrc/drtgpis.cc
+ dcmrt/libsrc/drthsdrs.cc
+ dcmrt/libsrc/drtiais.cc
+ dcmrt/libsrc/drtians.cc
+ dcmrt/libsrc/drtiblds.cc
+ dcmrt/libsrc/drtibls.cc
+ dcmrt/libsrc/drtibs.cc
+ dcmrt/libsrc/drticpds.cc
+ dcmrt/libsrc/drticps.cc
+ dcmrt/libsrc/drtics.cc
+ dcmrt/libsrc/drtiis.cc
+ dcmrt/libsrc/drtimage.cc
+ dcmrt/libsrc/drtionpl.cc
+ dcmrt/libsrc/drtiontr.cc
+ dcmrt/libsrc/drtipiqs.cc
+ dcmrt/libsrc/drtircs.cc
+ dcmrt/libsrc/drtiseis.cc
+ dcmrt/libsrc/drtitts.cc
+ dcmrt/libsrc/drtiwps.cc
+ dcmrt/libsrc/drtiws.cc
+ dcmrt/libsrc/drtlsds.cc
+ dcmrt/libsrc/drtlsds6.cc
+ dcmrt/libsrc/drtlsds7.cc
+ dcmrt/libsrc/drtmacds.cc
+ dcmrt/libsrc/drtmas.cc
+ dcmrt/libsrc/drtmdrs.cc
+ dcmrt/libsrc/drtmls.cc
+ dcmrt/libsrc/drtmps.cc
+ dcmrt/libsrc/drtmris.cc
+ dcmrt/libsrc/drtmss.cc
+ dcmrt/libsrc/drtmucs.cc
+ dcmrt/libsrc/drtoas.cc
+ dcmrt/libsrc/drtois.cc
+ dcmrt/libsrc/drtopis.cc
+ dcmrt/libsrc/drtos.cc
+ dcmrt/libsrc/drtpbcs.cc
+ dcmrt/libsrc/drtpcs.cc
+ dcmrt/libsrc/drtpcxs.cc
+ dcmrt/libsrc/drtpdecs.cc
+ dcmrt/libsrc/drtpdeds.cc
+ dcmrt/libsrc/drtpfms.cc
+ dcmrt/libsrc/drtpics.cc
+ dcmrt/libsrc/drtplan.cc
+ dcmrt/libsrc/drtporcs.cc
+ dcmrt/libsrc/drtporis.cc
+ dcmrt/libsrc/drtppcs.cc
+ dcmrt/libsrc/drtprsis.cc
+ dcmrt/libsrc/drtpscs.cc
+ dcmrt/libsrc/drtpsics.cc
+ dcmrt/libsrc/drtpss.cc
+ dcmrt/libsrc/drtpsss.cc
+ dcmrt/libsrc/drtpvis.cc
+ dcmrt/libsrc/drtqds.cc
+ dcmrt/libsrc/drtras.cc
+ dcmrt/libsrc/drtrbas2.cc
+ dcmrt/libsrc/drtrbas8.cc
+ dcmrt/libsrc/drtrbls.cc
+ dcmrt/libsrc/drtrbos1.cc
+ dcmrt/libsrc/drtrbos6.cc
+ dcmrt/libsrc/drtrbos7.cc
+ dcmrt/libsrc/drtrbs2.cc
+ dcmrt/libsrc/drtrbs4.cc
+ dcmrt/libsrc/drtrbs8.cc
+ dcmrt/libsrc/drtrcdrs.cc
+ dcmrt/libsrc/drtrcos.cc
+ dcmrt/libsrc/drtrcps.cc
+ dcmrt/libsrc/drtrcs.cc
+ dcmrt/libsrc/drtrdros.cc
+ dcmrt/libsrc/drtrdrs1.cc
+ dcmrt/libsrc/drtrdrs6.cc
+ dcmrt/libsrc/drtrdrs8.cc
+ dcmrt/libsrc/drtrds.cc
+ dcmrt/libsrc/drtrecs.cc
+ dcmrt/libsrc/drtrfgs.cc
+ dcmrt/libsrc/drtrfors.cc
+ dcmrt/libsrc/drtrics.cc
+ dcmrt/libsrc/drtrims.cc
+ dcmrt/libsrc/drtris.cc
+ dcmrt/libsrc/drtrlsds.cc
+ dcmrt/libsrc/drtrmdrs.cc
+ dcmrt/libsrc/drtrms.cc
+ dcmrt/libsrc/drtrmss6.cc
+ dcmrt/libsrc/drtrmss7.cc
+ dcmrt/libsrc/drtrpcs.cc
+ dcmrt/libsrc/drtrpis.cc
+ dcmrt/libsrc/drtrppcs.cc
+ dcmrt/libsrc/drtrpphs.cc
+ dcmrt/libsrc/drtrpps.cc
+ dcmrt/libsrc/drtrppss.cc
+ dcmrt/libsrc/drtrps.cc
+ dcmrt/libsrc/drtrris1.cc
+ dcmrt/libsrc/drtrris6.cc
+ dcmrt/libsrc/drtrris9.cc
+ dcmrt/libsrc/drtrrms.cc
+ dcmrt/libsrc/drtrros.cc
+ dcmrt/libsrc/drtrrpcs.cc
+ dcmrt/libsrc/drtrrros.cc
+ dcmrt/libsrc/drtrrs.cc
+ dcmrt/libsrc/drtrrshs.cc
+ dcmrt/libsrc/drtrrtps.cc
+ dcmrt/libsrc/drtrrtps3.cc
+ dcmrt/libsrc/drtrrtps4.cc
+ dcmrt/libsrc/drtrrtps5.cc
+ dcmrt/libsrc/drtrscs.cc
+ dcmrt/libsrc/drtrsers.cc
+ dcmrt/libsrc/drtrses.cc
+ dcmrt/libsrc/drtrshs.cc
+ dcmrt/libsrc/drtrshs6.cc
+ dcmrt/libsrc/drtrshs7.cc
+ dcmrt/libsrc/drtrsis.cc
+ dcmrt/libsrc/drtrsns.cc
+ dcmrt/libsrc/drtrsos.cc
+ dcmrt/libsrc/drtrsrs.cc
+ dcmrt/libsrc/drtrss.cc
+ dcmrt/libsrc/drtrsss.cc
+ dcmrt/libsrc/drtrsts.cc
+ dcmrt/libsrc/drtrtrs2.cc
+ dcmrt/libsrc/drtrtrs4.cc
+ dcmrt/libsrc/drtrvis.cc
+ dcmrt/libsrc/drtrws.cc
+ dcmrt/libsrc/drtrwvms.cc
+ dcmrt/libsrc/drtscris.cc
+ dcmrt/libsrc/drtscs.cc
+ dcmrt/libsrc/drtsdcs.cc
+ dcmrt/libsrc/drtsds.cc
+ dcmrt/libsrc/drtshds.cc
+ dcmrt/libsrc/drtsins.cc
+ dcmrt/libsrc/drtsis.cc
+ dcmrt/libsrc/drtsns.cc
+ dcmrt/libsrc/drtspccs.cc
+ dcmrt/libsrc/drtspcs.cc
+ dcmrt/libsrc/drtspgis.cc
+ dcmrt/libsrc/drtsptcs.cc
+ dcmrt/libsrc/drtss.cc
+ dcmrt/libsrc/drtssrcs.cc
+ dcmrt/libsrc/drtssrs.cc
+ dcmrt/libsrc/drtsss.cc
+ dcmrt/libsrc/drtstrct.cc
+ dcmrt/libsrc/drttms0.cc
+ dcmrt/libsrc/drttms9.cc
+ dcmrt/libsrc/drttreat.cc
+ dcmrt/libsrc/drttscds.cc
+ dcmrt/libsrc/drttsibs.cc
+ dcmrt/libsrc/drttsmds.cc
+ dcmrt/libsrc/drttts.cc
+ dcmrt/libsrc/drtudis.cc
+ dcmrt/libsrc/drtvls.cc
+ dcmrt/libsrc/drtwps.cc
+ dcmrt/libsrc/drtwrs.cc
+ dcmrt/libsrc/drtwrsrs.cc
+ dcmrt/libsrc/drtws.cc
+ dcmrt/libsrc/drtxrs.cc
+ dcmrt/tests/Makefile.dep
+
+**** Changes from 2017.03.12 (eichelberg)
+
+- Fixed linker warnings reported by VS 2017.
+ Affects: oflog/libsrc/strcloc.cc
+ oflog/libsrc/striconv.cc
+
+- Fixed warnings reported by VS 2017.
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2017.03.10 (schlamelcher)
+
+- Fixed CMake unit tests when BUILD_APPS was disabled:
+ Unavailable unit tests are now no longer registered, disabling misleading
+ CTest output.
+ Closes DCMTK bugs #586 and #647.
+ Affects: CMake/dcmtkMacros.cmake
+
+**** Changes from 2017.03.10 (riesmeier)
+
+- Updated code definitions for DICOM 2017a:
+ Updated automatically generated code definitions for coding scheme "DCM",
+ "NCIt" and "UMLS" for the 2017a edition of the DICOM standard. For the
+ latter one, there were no changes.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+ dcmsr/include/dcmtk/dcmsr/codes/ncit.h
+ dcmsr/include/dcmtk/dcmsr/codes/umls.h
+
+- Updated data dictionary for DICOM 2017a:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released today. Since DCMTK's data dictionary was already up-to-date
+ regarding the recently approved Supplements and CPs, there are no changes
+ apart from the "Version" column.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Re-added call of endOptionBlock():
+ Re-added call of endOptionBlock() at the end of the "write-xfer-xxx" options,
+ which was accidentally removed with commit 2750839.
+ Affects: dcmdata/apps/dcmconv.cc
+
+- Removed trailing spaces.
+ Affects: dcmdata/docs/dcmconv.man
+
+- Fixed copyright date.
+ Affects: dcmdata/tests/tests.cc
+ dcmdata/tests/tvrcomp.cc
+
+**** Changes from 2017.03.10 (eichelberg)
+
+- Added support for writing GE private transfer syntax:
+ dcmconv can now convert image files to the historical private GE
+ implicit VR little endian with big endian pixel data transfer syntax,
+ mostly for testing purposes.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/docs/dcmconv.man
+
+- Added support for GE private transfer syntax:
+ Added support for the historical GE implicit VR little endian
+ transfer syntax with big endian pixel data. Images encoded in
+ this transfer syntax can now be correctly read and processed.
+ This closes DCMTK bug #686.
+ Affects: dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcvrpobw.cc
+
+**** Changes from 2017.03.09 (onken)
+
+- Fixed module name in documentation.
+ Affects: dcmdata/tests/tvrcomp.cc
+
+- Allow private tags creation in newDicomElement():
+ Thanks to forum user "Shaeto" for the suggestion and patch.
+ Added: dcmdata/tests/tnewdcme.cc
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+**** Changes from 2017.03.08 (onken)
+
+- Fixed wrong buffer size for sprintf:
+ Fixed wrong buffer size allocated for sprintf operation. The old code does not
+ take into account that sprintf needs one extra byte for the \0 byte it
+ automatically appends.
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2017.03.08 (riesmeier)
+
+- Updated the code meaning of a "UCUM" code:
+ Updated the code meaning of the UCUM code "{counts}/s" in order to be
+ consistent with the latest version of the DICOM standard.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/ucum.h
+
+- Updated code definitions for "SRT":
+ Manually updated code definitions for the coding scheme "SRT": added code
+ for "Imaging Procedure" and removed retired code for "Liver".
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h
+
+**** Changes from 2017.03.03 (riesmeier)
+
+- Fixed wrong comment on private GE transfer syntax:
+ Fixed wrong comment on recently introduced private GE transfer syntax.
+ It is almost identical to "Implicit VR Little Endian" and not to
+ "Explicit VR Little Endian" (with the exception of the pixel data).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+
+- Removed redundant "TransferSyntax" suffix:
+ Removed redundant "TransferSyntax" suffix from recently introduced "EXS_..."
+ enum definition. This has already been done for all other definitions back
+ in 2011 (see commit 51535a1).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcxfer.h
+ dcmdata/libsrc/dcxfer.cc
+
+**** Changes from 2017.03.03 (eichelberg)
+
+- Added partial support for GE private transfer syntax:
+ Added partial support for the historical GE implicit VR little endian
+ transfer syntax with big endian pixel data. The transfer syntax
+ UID is now recognized, but correct byte order swapping of pixel data
+ not yet implemented.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/include/dcmtk/dcmdata/dcxfer.h
+ dcmdata/libsrc/dcuid.cc
+ dcmdata/libsrc/dcxfer.cc
+
+- Replaced unlink() with OFStandard::deleteFile():
+ Replaced calls to unlink() with OFStandard::deleteFile().
+ Affects: dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/libsrc/dimstore.cc
+ dcmnet/libsrc/dstorscp.cc
+ dcmnet/libsrc/scu.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmqrdb/libsrc/dcmqrcbs.cc
+ dcmqrdb/libsrc/dcmqrsrv.cc
+
+- Delete partially received DICOM objects after error:
+ Now deleting DICOM files that have been incompletely written during a
+ network receive operation.
+ Thanks to Alexander Haderer <alexander.haderer@loescap.de> for the
+ suggested patch.
+ Closes DCMTK Patch #322.
+ Affects: dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/libsrc/dstorscp.cc
+ dcmnet/libsrc/scu.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmqrdb/libsrc/dcmqrcbs.cc
+
+**** Changes from 2017.03.03 (riesmeier)
+
+- Added comment on "specific character set" options:
+ Added comment on "specific character set" options that they require support
+ from an underlying character encoding library (same as for other tools).
+ Affects: dcmqrdb/docs/dcmqrscp.man
+
+- Manual fixes to data dictionary (DICOM 2017a):
+ Manual fixes to data dictionary according to the draft release of DICOM
+ 2017a. Two attributes were wrong in Supplement 131: (0068,62F0) and
+ (0076,0034).
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+**** Changes from 2017.03.02 (riesmeier)
+
+- Fixed output of network debug information:
+ Fixed output of very low-level debug information in the network routines,
+ e.g. added missing newlines, fixed indentation, added missing typecast.
+ Since this output is usually disabled (for good reasons), a typical toolkit
+ user will not see any difference. Anyway, it might be useful for very deep
+ debugging sessions.
+ Affects: dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/dul.cc
+
+**** Changes from 2017.03.02 (eichelberg)
+
+- Fixed responding aetitle in ASC_dumpParameters():
+ ASC_dumpParameters() will now always show the responding aetitle
+ to be identical to the called aetitle. This DICOM rule is enforced
+ in the DUL network layer, but the output of this function showed a
+ different value.
+ This fixes bug #375.
+ Affects: dcmnet/libsrc/assoc.cc
+
+**** Changes from 2017.03.01 (eichelberg)
+
+- Length check for DICOM implementation version name:
+ The maximum length of the implementation version name
+ (16 characters) is now properly enforced and checked.
+ This fixes DCMTK bug #596.
+ Affects: dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/dimse.cc
+ dcmnet/libsrc/dulfsm.cc
+
+**** Changes from 2017.03.01 (schlamelcher)
+
+- Fixed previous commit:
+ The previous commit would have broken the else case.
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Fixed dcmqrdb falsely retrying response conversion:
+ The dcmqrdb library does no longer retry response conversion if the fall-back
+ character set and the originally requested one are the same. This is more
+ efficient and prevents duplicated warning output.
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2017.03.01 (riesmeier)
+
+- Moved dcm2json tool to the top (alphabetic order).
+ Affects: dcmdata/docs/dcmdata.dox
+
+**** Changes from 2017.03.01 (schlamelcher)
+
+- Fixed previous commit:
+ The previous commit would have broken the else case.
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Fixed dcmqrdb falsely retrying response conversion:
+ The dcmqrdb library does no longer retry response conversion if the fall-back
+ character set and the originally requested one are the same. This is more
+ efficient and prevents duplicated warning output.
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2017.03.01 (riesmeier)
+
+- Removed outdated comment on DB_FindAttr struct:
+ The "key matching type", specifying which type of matching should be
+ performed, has been removed from DB_FindAttr - so should the comment.
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Added "Issuer of Patient ID" to documentation:
+ Added Issuer of Patient ID (0010,0021) to the documentation since it was
+ added only recently as a supported Query Key to the implementation (see
+ commit b1f5c6c).
+ Affects: dcmqrdb/docs/dcmqrscp.man
+
+**** Changes from 2017.02.28 (schlamelcher)
+
+- Updated CHANGES.361 for new development snapshot.
+ Affects: docs/CHANGES.361
+
+- Updated DCMTK_ABI_VERSION for new development snapshot.
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/dcm2json.1
+ doxygen/manpages/man1/dcm2pdf.1
+ doxygen/manpages/man1/dcm2pnm.1
+ doxygen/manpages/man1/dcm2xml.1
+ doxygen/manpages/man1/dcmcjpeg.1
+ doxygen/manpages/man1/dcmcjpls.1
+ doxygen/manpages/man1/dcmconv.1
+ doxygen/manpages/man1/dcmcrle.1
+ doxygen/manpages/man1/dcmdjpeg.1
+ doxygen/manpages/man1/dcmdjpls.1
+ doxygen/manpages/man1/dcmdrle.1
+ doxygen/manpages/man1/dcmdspfn.1
+ doxygen/manpages/man1/dcmdump.1
+ doxygen/manpages/man1/dcmftest.1
+ doxygen/manpages/man1/dcmgpdir.1
+ doxygen/manpages/man1/dcmj2pnm.1
+ doxygen/manpages/man1/dcml2pnm.1
+ doxygen/manpages/man1/dcmmkcrv.1
+ doxygen/manpages/man1/dcmmkdir.1
+ doxygen/manpages/man1/dcmmklut.1
+ doxygen/manpages/man1/dcmodify.1
+ doxygen/manpages/man1/dcmp2pgm.1
+ doxygen/manpages/man1/dcmprscp.1
+ doxygen/manpages/man1/dcmprscu.1
+ doxygen/manpages/man1/dcmpschk.1
+ doxygen/manpages/man1/dcmpsmk.1
+ doxygen/manpages/man1/dcmpsprt.1
+ doxygen/manpages/man1/dcmpsrcv.1
+ doxygen/manpages/man1/dcmpssnd.1
+ doxygen/manpages/man1/dcmqridx.1
+ doxygen/manpages/man1/dcmqrscp.1
+ doxygen/manpages/man1/dcmqrti.1
+ doxygen/manpages/man1/dcmquant.1
+ doxygen/manpages/man1/dcmrecv.1
+ doxygen/manpages/man1/dcmscale.1
+ doxygen/manpages/man1/dcmsend.1
+ doxygen/manpages/man1/dcmsign.1
+ doxygen/manpages/man1/dcod2lum.1
+ doxygen/manpages/man1/dconvlum.1
+ doxygen/manpages/man1/drtdump.1
+ doxygen/manpages/man1/dsr2html.1
+ doxygen/manpages/man1/dsr2xml.1
+ doxygen/manpages/man1/dsrdump.1
+ doxygen/manpages/man1/dump2dcm.1
+ doxygen/manpages/man1/echoscu.1
+ doxygen/manpages/man1/findscu.1
+ doxygen/manpages/man1/getscu.1
+ doxygen/manpages/man1/img2dcm.1
+ doxygen/manpages/man1/movescu.1
+ doxygen/manpages/man1/pdf2dcm.1
+ doxygen/manpages/man1/storescp.1
+ doxygen/manpages/man1/storescu.1
+ doxygen/manpages/man1/termscu.1
+ doxygen/manpages/man1/wlmscpfs.1
+ doxygen/manpages/man1/xml2dcm.1
+ doxygen/manpages/man1/xml2dsr.1
+
+- Updated Makefile dependencies.
+ Affects: dcmdata/libi2d/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmqrdb/libsrc/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+
+- Fixed formatting errors in dcmqrscp's man page.
+ Affects: dcmqrdb/docs/dcmqrscp.man
+
+- Documented dcmqrdb's new character set features.
+ Affects: dcmqrdb/docs/dcmqrcnf.txt
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/etc/dcmqrscp.cfg
+
+- Fixed digits10 not being a compile time constant:
+ Fixed OFnumeric_limits::digits10 and OFnumeric_limits::max_digits10 not being
+ compile time constants due to a previous lazy fix for building with GCC
+ '-pedantic'.
+ Removed: ofstd/libsrc/oflimits.cc
+ Affects: config/arith.cc
+ ofstd/include/dcmtk/ofstd/oflimits.h
+ ofstd/libsrc/CMakeLists.txt
+ ofstd/libsrc/Makefile.in
+
+- Fixed Visual Studio linker problem with DLLs:
+ Visual Studio got confused by DcmQueryRetrieveCharacterSetOptions being
+ forward declared as a class while defined as a struct, which prevented it from
+ linking the functions using it from DLLs correctly.
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h
+
+**** Changes from 2017.02.28 (riesmeier)
+
+- Further fixes to API documentation:
+ Further fixes to API documentation, mainly for reasons of consistency.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrda.h
+ dcmdata/include/dcmtk/dcmdata/dcvrdt.h
+ dcmdata/include/dcmtk/dcmdata/dcvrtm.h
+
+- Updated documentation of getOFTimeFromString():
+ Made sure that the documentation of getOFTimeFromString() is again
+ consistent with the implementation (after the latter changed recently
+ with commit 255ecc7).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrtm.h
+
+- Updated documentation of getOFDateTimeFromString():
+ Made sure that the documentation of getOFDateTimeFromString() is again
+ consistent with the implementation (after the latter changed recently
+ with commit 255ecc7).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrdt.h
+
+- Removed documentation of macro STRICT_COMPARE:
+ Removed documentation of macro STRICT_COMPARE since it is no longer used
+ in the "dcmqrdb" module (as a result of the recent commit 4560c0a).
+ Affects: config/docs/macros.txt
+
+**** Changes from 2017.02.28 (schlamelcher)
+
+- Fixed wrong value range check in extractDigits():
+ OFStandard::extractDigits() used the wrong member of OFnumeric_limits to check
+ whether the given type could hold the requested number of digits (base two
+ digits instead of base 10).
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+
+- Workaround for clang non-type template argument issue:
+ Workaround for clang not wanting to interpret a size_t non-type template
+ argument as a boolean expression (!= 0) when C++11 support was enabled.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+
+**** Changes from 2017.02.27 (schlamelcher)
+
+- Fixed Q/R matching on failed character set conversion:
+ Added error handling for the on the fly character set conversion during
+ attribute matching in dcmqrdb. The dcmqrdb library will now use the original
+ value if character set conversion fails, instead of the empty value that
+ caused Universal Matching behavior inappropriately.
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Added support for Issuer of Patient ID to dcmqrdb.
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Added support for additional Matching Keys:
+ Added support for the following attributes:
+ Issuer of Patient ID (0010,0021)
+ Study Date (0008,0020)
+ Study Time (0008,0030)
+ Affects: dcmwlm/docs/wlmscpfs.man
+ dcmwlm/include/dcmtk/dcmwlm/wlfsim.h
+ dcmwlm/include/dcmtk/dcmwlm/wltypdef.h
+ dcmwlm/libsrc/wlds.cc
+ dcmwlm/libsrc/wlfsim.cc
+
+- Moved dcmqrdb's trimString() function to OFStandard:
+ Moved dcmqrdb's trimString() function to OFStandard since other code might
+ also need it (e.g. dcmwlm).
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+- Fixed date time parsing regarding time zones:
+ Fixed a bug in DcmDateTime::getOFDateTimeFromString() that did not allow
+ parsing time zone information from date time values that did not contain a
+ time value (e.g. 2017+0100).
+ Affects: dcmdata/libsrc/dcvrdt.cc
+
+- Added character set conversion support to dcmqrdb:
+ The dcmqrdb library now supports on the fly character set conversion for
+ attribute matching and converting the find response to the requested character
+ set.
+ The matching has been refactored to use DcmAttributeMatching internally.
+ Increased the size of attributes that are affected by Specific Character Set
+ in the index file so that values using multi byte encodings may still fit.
+ Affects: dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbf.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrtis.h
+ dcmqrdb/libsrc/dcmqrcbf.cc
+ dcmqrdb/libsrc/dcmqrcnf.cc
+ dcmqrdb/libsrc/dcmqrdbi.cc
+ dcmqrdb/libsrc/dcmqrsrv.cc
+ dcmqrdb/libsrc/dcmqrtis.cc
+
+**** Changes from 2017.02.26 (riesmeier)
+
+- Fixed typo, tab character and trailing space.
+ Affects: ofstd/include/dcmtk/ofstd/oflist.h
+
+**** Changes from 2017.02.26 (eichelberg)
+
+- Fixed minor integer over/undeflows reported by clang:
+ Fixed a few harmless integer overflows and underflows reported
+ by clang when compiled with -fsanitize=integer.
+ Affects: dcmdata/libi2d/i2dbmps.cc
+ dcmdata/libsrc/dcswap.cc
+ ofstd/include/dcmtk/ofstd/oflist.h
+ ofstd/libsrc/offname.cc
+
+**** Changes from 2017.02.24 (schlamelcher)
+
+- Introduced DcmAttributeMatching:
+ DcmAttributeMatching implements the different attribute matching functions
+ defined in the DICOM standard for Query/Retrieve and Worklist queries.
+ DcmAttributeMatching may either be used by explicitly calling one of its
+ static member matching functions or by creating an DcmAttributeMatching
+ object for a specific VR.
+ Added: dcmdata/include/dcmtk/dcmdata/dcmatch.h
+ dcmdata/libsrc/dcmatch.cc
+ dcmdata/tests/tmatch.cc
+ Affects: dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.in
+ dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+ ofstd/include/dcmtk/ofstd/ofdatime.h
+
+**** Changes from 2017.02.24 (riesmeier)
+
+- Added parentheses around boolean operations:
+ Added parentheses around boolean operations (i.e. comparisons) in order
+ to be consistent with the rest of the source file.
+ Affects: ofstd/libsrc/ofdatime.cc
+
+- Added trailing "." after first sentence (Doxygen):
+ This trailing "." is required since the "first sentence" is used as a brief
+ description by Doxygen (e.g. when generating HTML output).
+ Affects: ofstd/include/dcmtk/ofstd/ofdatime.h
+
+- Updated copyright date after previous commit.
+ Affects: ofstd/include/dcmtk/ofstd/ofdate.h
+ ofstd/include/dcmtk/ofstd/ofdatime.h
+ ofstd/libsrc/ofdatime.cc
+
+**** Changes from 2017.02.24 (schlamelcher)
+
+- Refactored string to date and time conversion:
+ Refactored DcmDate, DcmTime and DcmDateTime string parser functions to work
+ on character string + size input in addition to the existing functions that
+ work on OFStrings. The new functions do not require the strings to be zero
+ terminated and are therefore composable.
+ DcmDateTime::getOFDateTimeFromString is now implemented based on
+ DcmTime::getOFTimeFromString, which is now possible since the functions
+ can now be used on substrings without unnecessary copies.
+ Default parameters have been replaced by respective overloads to provide
+ a consistent API in all three classes (all now have a function that takes
+ no additional parameters to the string and the result).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrda.h
+ dcmdata/include/dcmtk/dcmdata/dcvrdt.h
+ dcmdata/include/dcmtk/dcmdata/dcvrtm.h
+ dcmdata/libsrc/dcvrda.cc
+ dcmdata/libsrc/dcvrdt.cc
+ dcmdata/libsrc/dcvrtm.cc
+ ofstd/include/dcmtk/ofstd/ofdatime.h
+
+- Added string to number helper functions:
+ Added helper functions for extracting fixed length unsigned integer numbers
+ from character strings that do not require the strings to be zero terminated.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+
+- Added comparison operators for OFDateTime:
+ Added less, greater, less or equal and greater or equal comparison operators
+ to OFDateTime.
+ Affects: ofstd/include/dcmtk/ofstd/ofdate.h
+ ofstd/include/dcmtk/ofstd/ofdatime.h
+ ofstd/libsrc/ofdatime.cc
+ ofstd/tests/tofdatim.cc
+
+**** Changes from 2017.02.22 (onken)
+
+- Added error message when writing sequences.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h
+
+**** Changes from 2017.02.21 (riesmeier)
+
+- Various documentation fixes to newDicomElement():
+ Fixed typos, wrong descriptions, parameters and line breaks in the API
+ documentation of the newDicomElement() functions.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+
+**** Changes from 2017.02.17 (eichelberg)
+
+- Fixed DJDecoderRegistration::registerCodecs():
+ Fixed parameter list of DJDecoderRegistration::registerCodecs(),
+ which contained one superfluous parameter.
+ Affects: dcmjpeg/include/dcmtk/dcmjpeg/djdecode.h
+ dcmjpeg/libsrc/djdecode.cc
+
+**** Changes from 2017.02.15 (riesmeier)
+
+- Enhanced logging in case of error:
+ Enhanced output to the logger in case of fatal errors, e.g. if the DICOMDIR
+ file to be updated is invalid/corrupted.
+ Affects: dcmdata/apps/dcmgpdir.cc
+
+- Fixed crash while processing an invalid DICOMDIR:
+ Fixed a crash that could occur while processing an invalid DICOMDIR file,
+ e.g. when a single Directory Record was referenced more than once and,
+ therefore, deleted more than once (from the DcmDicomDir destructor). Now,
+ an error is both reported to the logger and returned to the caller.
+ The main changes were done to DcmDicomDir::moveRecordToTree(). Additionally,
+ slightly enhanced comments on other functions and improved the logger output.
+ Thanks to forum user "psih128" for the report and for the sample file.
+ Closes DCMTK Bug #388.
+ Affects: dcmdata/libsrc/dcdicdir.cc
+
+**** Changes from 2017.02.14 (grallert)
+
+- Fixed and enhanced documentation of JSON functions:
+ Removed leading '*' characters between @code{.cpp} and @endcode sections
+ within doxygen markup.
+ Further enhanced the documentation of DcmJsonFormat.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcjson.h
+
+**** Changes from 2017.02.10 (onken)
+
+- Fixed missing assignment from last commit:
+ Enhanced intendation.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+- Hide public element constructors setting length:
+ DCMTK's VR classes allowed to construct new DICOM elements by tag and a
+ given length value. Internally the length is set, however, no related memory
+ is allocated. This is the desired behaviour when reading new DICOM datasets
+ since after creation of the element with a specific length after reading tag
+ and length from the stream, the value is read and set on the element right
+ afterwards.
+ However, if such an element is created manually by a user who tries afterwards
+ to access (read or write) a value to that element, a crash can occur since
+ the element itself expects to have memory allocated up to the given length.
+ In order to fix this, the related VR classes' constructors have been removed
+ from the public interface and have been made protected. So far, only DcmItem
+ and partly DcmDirectoryRecord (as "parsing" classes constructing elements in
+ the valid way described above) need direct access to those constructors and
+ thus have been amended by related friend declarations.
+ The global functions newDicomElement(...) that use those constructors directly
+ or indirectly have been moved into DcmItem as static methods. The ones that
+ can be used publicly (those only taking tag and not length), are made public
+ while the only one taking length (and other parsing parameters) is protected
+ and is only used by DcmItem or safely from within other public methods.
+ An alternative approach would have been to change the parsing behaviour
+ that constructs element with explicit length first, in order to fill them
+ with a value in the second step. Instead, onld could construct with 0
+ length and only set the length when actually setting the value. This
+ would make the explicit length constructors superfluous.
+ However, since the parser's internals are quite complicated regarding
+ length handling, it was not touched for now. However, the work done may make
+ it easier to change the parser accordingly later.
+ Another approach would be to always allocate memory in the constructors.
+ However this will lead often to double initializations since most methods
+ that set a value in a subsequent call will delete that memory to allocate
+ the value newly a second time. Also, the possibility to create elements with
+ an explicit empty value of a specific length is of limited use: For number-
+ based VRs this can easily be imitated by calling the related set() method
+ afterwards, while for strings it is not even clear what an empty value
+ of a specifc length might be.
+ Thanks to forum user spasmous <spasmous@gmail.com> for the report.
+ This fixes DCMTK bug #374.
+ Affects: dcmdata/apps/dump2dcm.cc
+ dcmdata/apps/xml2dcm.cc
+ dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcpixseq.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmdata/include/dcmtk/dcmdata/dcvrat.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfd.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrobow.h
+ dcmdata/include/dcmtk/dcmdata/dcvrol.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrss.h
+ dcmdata/include/dcmtk/dcmdata/dcvrul.h
+ dcmdata/include/dcmtk/dcmdata/dcvrulup.h
+ dcmdata/include/dcmtk/dcmdata/dcvrus.h
+ dcmdata/include/dcmtk/dcmdata/libi2d/i2doutpl.h
+ dcmdata/libi2d/i2d.cc
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcpath.cc
+ dcmdata/libsrc/dcpixseq.cc
+ dcmdata/libsrc/dcsequen.cc
+ dcmdata/libsrc/dcvrat.cc
+ dcmdata/libsrc/dcvrfd.cc
+ dcmdata/libsrc/dcvrfl.cc
+ dcmdata/libsrc/dcvrobow.cc
+ dcmdata/libsrc/dcvrol.cc
+ dcmdata/libsrc/dcvrsl.cc
+ dcmdata/libsrc/dcvrss.cc
+ dcmdata/libsrc/dcvrul.cc
+ dcmdata/libsrc/dcvrulup.cc
+ dcmdata/libsrc/dcvrus.cc
+ dcmiod/libsrc/iodutil.cc
+ dcmiod/libsrc/modbase.cc
+ dcmiod/libsrc/modenhusimage.cc
+ dcmiod/libsrc/modmultiframedimension.cc
+ dcmiod/libsrc/modusfor.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/libsrc/dimcmd.cc
+ dcmnet/libsrc/diutil.cc
+ dcmqrdb/libsrc/dcmqrdbi.cc
+ dcmtract/libsrc/trctrackset.cc
+ dcmwlm/libsrc/wlds.cc
+ dcmwlm/libsrc/wldsfs.cc
+ dcmwlm/tests/wltest.cc
+
+**** Changes from 2017.02.08 (riesmeier)
+
+- Added two missing SOP Classes to modality table:
+ Added two missing non-patient Storage SOP Classes to the modality table,
+ which e.g. maps a known UID to a short character code ("modality") that
+ can be used to generate a meaningful filename prefix. That way, a storage
+ receiver of a Color Palette Storage object will generate a filename
+ starting with "CP." instead of "UNKNOWN." (which is the default in case
+ of an unknown UID).
+ Affects: dcmdata/libsrc/dcuid.cc
+
+- Fixed name numberOfAllDcmStorageSOPClassUIDs:
+ Fixed inconsistent name numberOfAllDcmStorageSOPClassUIDs by renaming
+ it to numberOfDcmAllStorageSOPClassUIDs since the related global array
+ is called dcmAllStorageSOPClassUIDs and not allDcmStorageSOPClassUIDs.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmqrdb/libsrc/dcmqrptb.cc
+ dcmqrdb/libsrc/dcmqrsrv.cc
+
+- Allow for sending non-patient DICOM objects:
+ The storescu and dcmsend tool (based on the class DcmStorageSCU) are now
+ able to send non-patient DICOM objects. The latter was already able to do
+ so but reported a warning to the DEBUG logger that an "unknown storage SOP
+ class (with standard UID prefix)" is to be transferred. This warning has
+ now disappeared.
+ This partly closes DCMTK Conformance #695.
+ Affects: dcmnet/apps/storescu.cc
+ dcmnet/libsrc/dstorscu.cc
+
+- Further enhanced support for non-patient objects:
+ Added optional parameter to dcmIsaStorageSOPClassUID() that allows for
+ checking a given SOP Class UID for being a known Storage SOP Class UID
+ of a non-patient DICOM object. Also added support to check for image
+ objects only. The default behavior of this function has not changed,
+ i.e. only those Storage SOP Classes are covered that fit into into the
+ conventional PATIENT-STUDY-SERIES-INSTANCE information model.
+ The function dcmIsImageStorageSOPClassUID() is now only a shortcut for
+ calling dcmIsaStorageSOPClassUID() with the new type parameter being
+ ESSC_Image. This is useful in order to be backward compatible.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+
+**** Changes from 2017.02.07 (onken)
+
+- Rebuilt dependencies.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmiod/tests/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/tests/Makefile.dep
+ dcmpmap/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmseg/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+ ofstd/tests/Makefile.dep
+
+- Remove unused files from build system.
+ Removed: dcmpmap/tests/Makefile.dep
+ dcmseg/apps/CMakeLists.txt
+ Affects: dcmpmap/Makefile.in
+
+**** Changes from 2017.02.06 (riesmeier)
+
+- Cleanup of comments (retired DICOM SOP Classes).
+ Affects: dcmnet/etc/storescp.cfg
+
+- Further fixes regarding non-patient objects:
+ Replaced some non-patient DICOM objects in dcmLongSCUStorageSOPClassUIDs by
+ the three Legacy Converted Enhanced Image objects. This is another step
+ towards a clearer distinction between patient and non-patient objects.
+ Also see DCMTK Conformance #695.
+ Affects: dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/getscu.man
+ dcmqrdb/docs/dcmqrscp.man
+
+- Fixes for non-patient DICOM Storage Objects:
+ Various fixes for non-patient DICOM Storage Objects such as Color Palette
+ or Generic Implant Template Storage. The array dcmAllStorageSOPClassUIDs
+ only contains the UIDs of those Storage SOP Classes that fit into the
+ conventional PATIENT-STUDY-SERIES-INSTANCE information model. Of course,
+ all other DICOM objects for which the Storage Service is defined should
+ also be transferred using a C-STORE message.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added new sample association negotiation profile:
+ Added new sample association negotiation profile "AllDICOM" for SCPs, e.g.
+ for storescp or dcmrecv. This new profile allows for accepting all 126
+ Storage SOP Classes that are currently defined in the DICOM standard (i.e.
+ without retired, draft, DICOS and DICONDE Storage SOP Classes).
+ Affects: dcmnet/etc/storescp.cfg
+
+- Fixed wrong name of Storage SOP Class:
+ Fixed wrong name of Wide Field Ophthalmic Photography 3D Coordinates Image
+ Storage SOP Class; the name prefix "Wide Field" was missing for some reason.
+ Affects: dcmdata/libsrc/dcuid.cc
+
+**** Changes from 2017.02.06 (onken)
+
+- Fixed crash in debug mode (const pointer misuse):
+ Fixed crash in debug mode apparently caused by writing to const pointer.
+ Minor changes (parameter type, whitespace).
+ Closes DCMTK Bug #646.
+ Affects: dcmnet/include/dcmtk/dcmnet/dccfpcmp.h
+ dcmnet/libsrc/dccfpcmp.cc
+
+**** Changes from 2017.02.03 (onken)
+
+- Moved latest post-read checks to DcmDataset:
+ Moved the recently introduced post-read checks into DcmDataset since they only
+ apply to datasets and not general purpose items. This eliminates the need of
+ explicitly checking in the code whether it is working on top level or not.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcitem.cc
+
+- Fixed dcumentation one more time.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+
+- Fixed parameter type, and docs.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+
+**** Changes from 2017.02.03 (riesmeier)
+
+- Fixed wrong indentation of new options.
+ Affects: dcmdata/docs/dcmconv.man
+ dcmdata/docs/dcmdump.man
+
+**** Changes from 2017.02.03 (onken)
+
+- Report error in case of wrong Pixel Data encoding:
+ It has been reported that some DICOM datasets do write encapsulated pixel data
+ without following the related rules, i.e. to use undefined length for the Pixel
+ Data element and to use Pixel Sequence and Pixel Items inside.
+ So far such files (using defined length on encapsulated Pixel Data) have been
+ read without any warnings or errors giving the impression that the data is
+ valid.
+ Now, DCMTK will per default report an error if reading such files. There is a
+ global switch which permits to enforce the old behaviour, i.e. to read such
+ files as if the encoding would be correct. However, in that case a warning
+ is printed.
+ Options demonstrating the flag have been added to dcmdump and dcmconv.
+ The new functionality is aware of the fact that Pixel Data not being part of
+ the top level dataset, i.e. nested within sequences, must not use the
+ encapsulated format but remain uncompressed (as for icon images).
+ The validity of internal structures of the Pixel Data element (Pixel Sequence
+ and Items) is not checked by this new compatibility flag.
+ This closes DCMTK Bug #427.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmdump.cc
+ dcmdata/docs/dcmconv.man
+ dcmdata/docs/dcmdump.man
+ dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcobject.h
+ dcmdata/libsrc/dcerror.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcobject.cc
+
+**** Changes from 2017.02.02 (riesmeier)
+
+- Added support for unkown VR "??" in dump file:
+ Added support for unknown VR "??" that is e.g. used by dcmdump when parsing
+ "Unknown Tag & Data" in a transfer syntax with implicit VR.
+ Thanks to forum user "ionut.vaida" for the triggering posting.
+ Affects: dcmdata/apps/dump2dcm.cc
+
+- Fixed typo in command line option check:
+ Fixed a typo when checking the command line option "--prefer-mpeg4-2-st".
+ Affects: dcmnet/apps/getscu.cc
+
+- Check returned status of chooseRepresentation():
+ Check returned status of chooseRepresentation() and report an error if
+ changing the pixel representation fails. This information is useful in
+ cases where a DICOM file cannot be converted because of the Pixel Data.
+ Affects: dcmdata/apps/dcmconv.cc
+
+**** Changes from 2017.02.01 (riesmeier)
+
+- Added further support for Supplement 195 (HEVC):
+ Added further support for Supplement 195 (HEVC/H.265 Transfer Syntax). Now,
+ also movescu's --accept-all option supports the two new transfer syntaxes.
+ Partly closes DCMTK Conformance #702.
+ Affects: dcmnet/apps/movescu.cc
+ dcmnet/docs/movescu.man
+
+- Shortened description of MPEG xfer options:
+ Shortened description of the various MPEG (mainly -4 but also -2) transfer
+ syntax options in order to fit into the max. line length of 80 characters.
+ The full description is, of course, still available in the man page.
+ Affects: dcmnet/apps/getscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmqrdb/apps/dcmqrscp.cc
+
+- Fixed description of option --prefer-mpeg4-bd.
+ Affects: dcmnet/docs/getscu.man
+
+**** Changes from 2017.02.01 (schlamelcher)
+
+- Added missing comment header to several unit tests.
+ Affects: ofstd/tests/tlimits.cc
+ ofstd/tests/toption.cc
+ ofstd/tests/ttuple.cc
+ ofstd/tests/tvariant.cc
+
+**** Changes from 2017.02.01 (onken)
+
+- Fixed minor documentation issue.
+ Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h
+
+**** Changes from 2017.02.01 (schlamelcher)
+
+- Minor fixes in code comments of yesterdays commits.
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2017.02.01 (onken)
+
+- Fixed minor documnetation issue.
+ Affects: dcmtls/include/dcmtk/dcmtls/tlsscu.h
+
+- Fixed User Identification Negotiation ack message:
+ Fixed User Identification Negotiation Acknowledgement message which used the
+ same user item identifier (0x58) as the request but has to use a different one
+ (0x59) instead. Enhanced documentation.
+ Fixes DCMTK bug #437.
+ Thanks for the report to Yves Neumann<neumann@image-systems.biz>.
+ Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h
+ dcmnet/libsrc/dcuserid.cc
+ dcmnet/libsrc/dulparse.cc
+
+- Added missing documentation:
+ Closes DCMTK Bug #541.
+ Affects: dcmtls/include/dcmtk/dcmtls/tlsscu.h
+
+**** Changes from 2017.02.01 (riesmeier)
+
+- Fixed bug introduced with last commit (crash):
+ Fixed a severe bug introduced with the last commit that caused the tool to
+ crash if option --accept-all (+xa) was used. The reason was that the size
+ of the array "transferSyntaxes" was not increased even though new entries
+ were added to it (namely, three new MPEG4 transfer syntaxes).
+ Affects: dcmnet/apps/movescu.cc
+
+**** Changes from 2017.01.31 (riesmeier)
+
+- Removed obsolete command line options:
+ Removed options that were removed from the command line tool.
+ Also removed outdated/useless section on "JSON Encoding".
+ Affects: dcmdata/docs/dcm2json.man
+
+- Updated credits with regard to the Debian package.
+ Affects: CREDITS
+
+- Removed useless "option block" for single option.
+ Affects: dcmdata/apps/dcm2json.cc
+
+- Use DCM_MaxReadLength as the default value:
+ Use DCM_MaxReadLength as the default value for the "maxReadLength" parameter
+ and not "4096", i.e. a numerical value. Also fixed source code formatting.
+ Affects: dcmdata/apps/dcm2json.cc
+
+- Minor fixes for reasons of consistency:
+ Minor fixes such as source code formatting or naming conventions for
+ reasons of consistency with existing code.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libsrc/dcvr.cc
+
+- Made sure that a value is loaded before modified:
+ Made sure that an element value is actually loaded before it is modified
+ with DcmElement::changeValue(). This fixes a possible crash (segmentation
+ fault) in case the "maxReadLength" parameter of the various loadFile/read
+ methods was set to a very low value (i.e., less than 4).
+ Thanks to Michael Schinner <Michael.Schinner@ith-icoserve.com> for the bug
+ report and for the test program that demonstrates this crash.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+**** Changes from 2017.01.31 (grallert)
+
+- Removed unused command line parameters from dcm2json:
+ Removed --load-all, --load-short and --max-read-length, since they have no
+ meaning for dcm2json (all elements will be read as needed for the JSON output
+ anyway).
+ Affects: dcmdata/apps/dcm2json.cc
+
+- Added MPEG-4 transfer syntax options to several apps:
+ Several MPEG-4 transfer syntaxes may now be proposed/preferred via the
+ respective command line arguments of storescu etc.
+ Affects: dcmnet/apps/getscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/docs/getscu.man
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/docs/storescu.man
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/libsrc/dcmqrcbm.cc
+ dcmqrdb/libsrc/dcmqrsrv.cc
+
+**** Changes from 2017.01.31 (schlamelcher)
+
+- Added Specific Character Set to the dcmqrdb index:
+ The value of Specific Character set (if any) is now also stored into the index
+ file of dcmqrdb and provided within find responses.
+ Don't forget to re-create your database indices using dcmqridx.
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Refactored dcmqrdb element list to use new/delete:
+ Dcmqrdb's list implementation is now created and destroyed using new/delete
+ instead of malloc/free. This ensures all list element members are correctly
+ initialized via the constructor and enables the use of non-POD types inside
+ the list.
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Fixed: ST is also affected by specific character set.
+ Affects: dcmdata/libsrc/dcvr.cc
+
+**** Changes from 2017.01.31 (riesmeier)
+
+- Added support for recently approved CP-1619:
+ Added support for CP-1619 to the data dictionary.
+ This CP was approved during this week's DICOM WG-06 meeting.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+**** Changes from 2017.01.30 (schlamelcher)
+
+- Added DcmSpecificCharacterSet state checking methods:
+ The initialization state (i.e. whether selectCharacterSet was called before)
+ of an DcmSpecificCharacterSet object can now be queried via the corresponding
+ operator OFBool and operator! methods. This eases using a persistent object
+ for multiple character set conversions.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+ dcmdata/libsrc/dcspchrs.cc
+
+- Refactored DcmCharString based classes using DcmVR:
+ DcmCharString and the VR classes based on it now use the information from
+ DcmVR for character set conversions; this reduces information redundancy.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h
+ dcmdata/include/dcmtk/dcmdata/dcvrlo.h
+ dcmdata/include/dcmtk/dcmdata/dcvrpn.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsh.h
+ dcmdata/libsrc/dcchrstr.cc
+ dcmdata/libsrc/dcvrlo.cc
+ dcmdata/libsrc/dcvrpn.cc
+ dcmdata/libsrc/dcvrsh.cc
+
+- Added additional information to DcmVR:
+ DcmVR now also provides Specific Character Set related information, if a given
+ VR is affected by the value of Specific Character Set and what delimiter
+ characters are to be regarded for character set conversion.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libsrc/dcvr.cc
+
+**** Changes from 2017.01.27 (riesmeier)
+
+- Removed gethostbyname from compatibility header:
+ Removed gethostbyname() function from dcmnet's old compatibility header file
+ since this function has been wrapped and moved to ofstd with commit a144346.
+ Affects: dcmnet/include/dcmtk/dcmnet/dcompat.h
+
+- Removed obsolete macro (Windows 95 workaround):
+ Removed the obsolete macro NO_WINDOWS95_ADDRESS_TRANSLATION_WORKAROUND,
+ which probably nobody every used. Since the gethostbyname() function,
+ at least officially, does not accept an IP address on many operating
+ systems, the "workaround" is now the only way of doing it. And, since
+ it was already the default behavior for almost 20 years now, nothing
+ changes at all.
+ Also see DCMTK Bug #391.
+ Affects: config/docs/macros.txt
+ dcmnet/libsrc/dulfsm.cc
+
+**** Changes from 2017.01.25 (riesmeier)
+
+- Added explicit typecast to function parameter:
+ Added explicit typecast to "int" parameter of Windows function
+ WideCharToMultiByte() in order to avoid a compiler warning.
+ Affects: ofstd/libsrc/ofstd.cc
+
+- Changed type for index/number of sequence items:
+ Changed data type used for the index and number of sequence items. The type
+ "size_t" seems to be more appropriate than "unsigned long" since internally
+ an OFList (subset of std:list) instance is used for the data management.
+ As a consequence, VisualStudio and other compilers will not warn anymore on
+ a "possible loss of data" (warning C4267).
+ Affects: dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtags.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtass.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtces.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtchs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtddps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdias.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drteas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtians.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticpds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtircs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtitts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtoas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtois.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtopis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtqds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtras.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrses.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtshds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsins.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms0.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttscds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtudis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtvls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
+ dcmrt/libsrc/drtaadcs.cc
+ dcmrt/libsrc/drtadcs.cc
+ dcmrt/libsrc/drtads.cc
+ dcmrt/libsrc/drtafs.cc
+ dcmrt/libsrc/drtags.cc
+ dcmrt/libsrc/drtajcs.cc
+ dcmrt/libsrc/drtas1.cc
+ dcmrt/libsrc/drtas5.cc
+ dcmrt/libsrc/drtas6.cc
+ dcmrt/libsrc/drtas7.cc
+ dcmrt/libsrc/drtass.cc
+ dcmrt/libsrc/drtbads.cc
+ dcmrt/libsrc/drtbas.cc
+ dcmrt/libsrc/drtbcps.cc
+ dcmrt/libsrc/drtbl2.cc
+ dcmrt/libsrc/drtbl5.cc
+ dcmrt/libsrc/drtbldls.cc
+ dcmrt/libsrc/drtbldps.cc
+ dcmrt/libsrc/drtblds1.cc
+ dcmrt/libsrc/drtblds5.cc
+ dcmrt/libsrc/drtblds6.cc
+ dcmrt/libsrc/drtbldts.cc
+ dcmrt/libsrc/drtbrcss.cc
+ dcmrt/libsrc/drtbrdrs.cc
+ dcmrt/libsrc/drtbrs.cc
+ dcmrt/libsrc/drtbs.cc
+ dcmrt/libsrc/drtbss.cc
+ dcmrt/libsrc/drtbvcps.cc
+ dcmrt/libsrc/drtcbars.cc
+ dcmrt/libsrc/drtccs.cc
+ dcmrt/libsrc/drtcctus.cc
+ dcmrt/libsrc/drtcdrs.cc
+ dcmrt/libsrc/drtces.cc
+ dcmrt/libsrc/drtcgis.cc
+ dcmrt/libsrc/drtchs.cc
+ dcmrt/libsrc/drtcims.cc
+ dcmrt/libsrc/drtcis.cc
+ dcmrt/libsrc/drtcncs.cc
+ dcmrt/libsrc/drtcos.cc
+ dcmrt/libsrc/drtcpas.cc
+ dcmrt/libsrc/drtcpis.cc
+ dcmrt/libsrc/drtcps.cc
+ dcmrt/libsrc/drtcs.cc
+ dcmrt/libsrc/drtcsas.cc
+ dcmrt/libsrc/drtcshs.cc
+ dcmrt/libsrc/drtcsis.cc
+ dcmrt/libsrc/drtcss.cc
+ dcmrt/libsrc/drtdcs.cc
+ dcmrt/libsrc/drtdddps.cc
+ dcmrt/libsrc/drtddps.cc
+ dcmrt/libsrc/drtdias.cc
+ dcmrt/libsrc/drtdimcs.cc
+ dcmrt/libsrc/drtdimrs.cc
+ dcmrt/libsrc/drtdirs.cc
+ dcmrt/libsrc/drtdose.cc
+ dcmrt/libsrc/drtdrs.cc
+ dcmrt/libsrc/drtds.cc
+ dcmrt/libsrc/drtdspcs.cc
+ dcmrt/libsrc/drtdss.cc
+ dcmrt/libsrc/drtdvhs.cc
+ dcmrt/libsrc/drtdvrrs.cc
+ dcmrt/libsrc/drteas.cc
+ dcmrt/libsrc/drtecs.cc
+ dcmrt/libsrc/drtes.cc
+ dcmrt/libsrc/drtfds.cc
+ dcmrt/libsrc/drtfes.cc
+ dcmrt/libsrc/drtfgs.cc
+ dcmrt/libsrc/drtfgss.cc
+ dcmrt/libsrc/drtfms.cc
+ dcmrt/libsrc/drtfsss.cc
+ dcmrt/libsrc/drtgas.cc
+ dcmrt/libsrc/drtgpis.cc
+ dcmrt/libsrc/drthsdrs.cc
+ dcmrt/libsrc/drtiais.cc
+ dcmrt/libsrc/drtians.cc
+ dcmrt/libsrc/drtiblds.cc
+ dcmrt/libsrc/drtibls.cc
+ dcmrt/libsrc/drtibs.cc
+ dcmrt/libsrc/drticpds.cc
+ dcmrt/libsrc/drticps.cc
+ dcmrt/libsrc/drtics.cc
+ dcmrt/libsrc/drtiis.cc
+ dcmrt/libsrc/drtimage.cc
+ dcmrt/libsrc/drtionpl.cc
+ dcmrt/libsrc/drtiontr.cc
+ dcmrt/libsrc/drtipiqs.cc
+ dcmrt/libsrc/drtircs.cc
+ dcmrt/libsrc/drtiseis.cc
+ dcmrt/libsrc/drtitts.cc
+ dcmrt/libsrc/drtiwps.cc
+ dcmrt/libsrc/drtiws.cc
+ dcmrt/libsrc/drtlsds.cc
+ dcmrt/libsrc/drtlsds6.cc
+ dcmrt/libsrc/drtlsds7.cc
+ dcmrt/libsrc/drtmacds.cc
+ dcmrt/libsrc/drtmas.cc
+ dcmrt/libsrc/drtmdrs.cc
+ dcmrt/libsrc/drtmls.cc
+ dcmrt/libsrc/drtmps.cc
+ dcmrt/libsrc/drtmris.cc
+ dcmrt/libsrc/drtmss.cc
+ dcmrt/libsrc/drtmucs.cc
+ dcmrt/libsrc/drtoas.cc
+ dcmrt/libsrc/drtois.cc
+ dcmrt/libsrc/drtopis.cc
+ dcmrt/libsrc/drtos.cc
+ dcmrt/libsrc/drtpbcs.cc
+ dcmrt/libsrc/drtpcs.cc
+ dcmrt/libsrc/drtpcxs.cc
+ dcmrt/libsrc/drtpdecs.cc
+ dcmrt/libsrc/drtpdeds.cc
+ dcmrt/libsrc/drtpfms.cc
+ dcmrt/libsrc/drtpics.cc
+ dcmrt/libsrc/drtplan.cc
+ dcmrt/libsrc/drtporcs.cc
+ dcmrt/libsrc/drtporis.cc
+ dcmrt/libsrc/drtppcs.cc
+ dcmrt/libsrc/drtprsis.cc
+ dcmrt/libsrc/drtpscs.cc
+ dcmrt/libsrc/drtpsics.cc
+ dcmrt/libsrc/drtpss.cc
+ dcmrt/libsrc/drtpsss.cc
+ dcmrt/libsrc/drtpvis.cc
+ dcmrt/libsrc/drtqds.cc
+ dcmrt/libsrc/drtras.cc
+ dcmrt/libsrc/drtrbas2.cc
+ dcmrt/libsrc/drtrbas8.cc
+ dcmrt/libsrc/drtrbls.cc
+ dcmrt/libsrc/drtrbos1.cc
+ dcmrt/libsrc/drtrbos6.cc
+ dcmrt/libsrc/drtrbos7.cc
+ dcmrt/libsrc/drtrbs2.cc
+ dcmrt/libsrc/drtrbs4.cc
+ dcmrt/libsrc/drtrbs8.cc
+ dcmrt/libsrc/drtrcdrs.cc
+ dcmrt/libsrc/drtrcos.cc
+ dcmrt/libsrc/drtrcps.cc
+ dcmrt/libsrc/drtrcs.cc
+ dcmrt/libsrc/drtrdros.cc
+ dcmrt/libsrc/drtrdrs1.cc
+ dcmrt/libsrc/drtrdrs6.cc
+ dcmrt/libsrc/drtrdrs8.cc
+ dcmrt/libsrc/drtrds.cc
+ dcmrt/libsrc/drtrecs.cc
+ dcmrt/libsrc/drtrfgs.cc
+ dcmrt/libsrc/drtrfors.cc
+ dcmrt/libsrc/drtrics.cc
+ dcmrt/libsrc/drtrims.cc
+ dcmrt/libsrc/drtris.cc
+ dcmrt/libsrc/drtrlsds.cc
+ dcmrt/libsrc/drtrmdrs.cc
+ dcmrt/libsrc/drtrms.cc
+ dcmrt/libsrc/drtrmss6.cc
+ dcmrt/libsrc/drtrmss7.cc
+ dcmrt/libsrc/drtrpcs.cc
+ dcmrt/libsrc/drtrpis.cc
+ dcmrt/libsrc/drtrppcs.cc
+ dcmrt/libsrc/drtrpphs.cc
+ dcmrt/libsrc/drtrpps.cc
+ dcmrt/libsrc/drtrppss.cc
+ dcmrt/libsrc/drtrps.cc
+ dcmrt/libsrc/drtrris1.cc
+ dcmrt/libsrc/drtrris6.cc
+ dcmrt/libsrc/drtrris9.cc
+ dcmrt/libsrc/drtrrms.cc
+ dcmrt/libsrc/drtrros.cc
+ dcmrt/libsrc/drtrrpcs.cc
+ dcmrt/libsrc/drtrrros.cc
+ dcmrt/libsrc/drtrrs.cc
+ dcmrt/libsrc/drtrrshs.cc
+ dcmrt/libsrc/drtrrtps.cc
+ dcmrt/libsrc/drtrrtps3.cc
+ dcmrt/libsrc/drtrrtps4.cc
+ dcmrt/libsrc/drtrrtps5.cc
+ dcmrt/libsrc/drtrscs.cc
+ dcmrt/libsrc/drtrsers.cc
+ dcmrt/libsrc/drtrses.cc
+ dcmrt/libsrc/drtrshs.cc
+ dcmrt/libsrc/drtrshs6.cc
+ dcmrt/libsrc/drtrshs7.cc
+ dcmrt/libsrc/drtrsis.cc
+ dcmrt/libsrc/drtrsns.cc
+ dcmrt/libsrc/drtrsos.cc
+ dcmrt/libsrc/drtrsrs.cc
+ dcmrt/libsrc/drtrss.cc
+ dcmrt/libsrc/drtrsss.cc
+ dcmrt/libsrc/drtrsts.cc
+ dcmrt/libsrc/drtrtrs2.cc
+ dcmrt/libsrc/drtrtrs4.cc
+ dcmrt/libsrc/drtrvis.cc
+ dcmrt/libsrc/drtrws.cc
+ dcmrt/libsrc/drtrwvms.cc
+ dcmrt/libsrc/drtscris.cc
+ dcmrt/libsrc/drtscs.cc
+ dcmrt/libsrc/drtsdcs.cc
+ dcmrt/libsrc/drtsds.cc
+ dcmrt/libsrc/drtshds.cc
+ dcmrt/libsrc/drtsins.cc
+ dcmrt/libsrc/drtsis.cc
+ dcmrt/libsrc/drtsns.cc
+ dcmrt/libsrc/drtspccs.cc
+ dcmrt/libsrc/drtspcs.cc
+ dcmrt/libsrc/drtspgis.cc
+ dcmrt/libsrc/drtsptcs.cc
+ dcmrt/libsrc/drtss.cc
+ dcmrt/libsrc/drtssrcs.cc
+ dcmrt/libsrc/drtssrs.cc
+ dcmrt/libsrc/drtsss.cc
+ dcmrt/libsrc/drtstrct.cc
+ dcmrt/libsrc/drttms0.cc
+ dcmrt/libsrc/drttms9.cc
+ dcmrt/libsrc/drttreat.cc
+ dcmrt/libsrc/drttscds.cc
+ dcmrt/libsrc/drttsibs.cc
+ dcmrt/libsrc/drttsmds.cc
+ dcmrt/libsrc/drttts.cc
+ dcmrt/libsrc/drtudis.cc
+ dcmrt/libsrc/drtvls.cc
+ dcmrt/libsrc/drtwps.cc
+ dcmrt/libsrc/drtwrs.cc
+ dcmrt/libsrc/drtwrsrs.cc
+ dcmrt/libsrc/drtws.cc
+ dcmrt/libsrc/drtxrs.cc
+
+- Pass value of correct type to "size" parameter:
+ Pass value of correct type to "size" parameter of the getOutputData()
+ method of class DicomImage, i.e. "unsigned long" instead of "size_t".
+ This avoids a warning message being reported by certain compilers, e.g.
+ VisualStudio 2015 (x64).
+ Affects: dcmrt/libsrc/drmimage.cc
+
+- Added missing brackets to "if( || )" statement.
+ Affects: ofstd/tests/toffile.cc
+
+- Minor cleanup in dump output of TLS connections:
+ Fixed indentation and newlines in dump output of TLS connections.
+ Affects: dcmtls/libsrc/tlslayer.cc
+ dcmtls/libsrc/tlstrans.cc
+
+- Replaced remaining tabs by spaces.
+ Affects: dcmnet/libsrc/dcmtrans.cc
+
+**** Changes from 2017.01.23 (riesmeier)
+
+- Disable exception throwing in destructor:
+ Don't throw an exception from the destructor in order to avoid that the
+ application terminates abruptly. The original code line comes from the
+ underlying Log4cplus library.
+ Affects: oflog/libsrc/hierlock.cc
+
+**** Changes from 2017.01.20 (onken)
+
+- Added hints that memory has to be freed by caller:
+ Added hints that Segmentation and Tractography Results objects that are created
+ by the existing static methods have to be freed by the caller.
+ Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmtract/include/dcmtk/dcmtract/trctractographyresults.h
+
+**** Changes from 2017.01.20 (riesmeier)
+
+- Enhanced comments on charset to library mapping:
+ Enhanced comments on the mapping between DICOM character sets and the
+ underlying conversion libraries. Also fixed various vaguenesses.
+ Bottom line is: only the GNU libiconv (as of version 1.14) supports ALL
+ character sets that are currently defined in the DICOM standard. Both ICU
+ and the stdlibc iconv() function lack support of some Japanese character
+ sets, e.g. "ISO-IR-87" (JIS X 0201) and "ISO-IR-159" (JIS X 0212).
+ Affects: dcmdata/libsrc/dcspchrs.cc
+
+- Included missing standard header "assert":
+ Added missing standard header "assert.h" or "cassert" in order to compile
+ when HAVE_STL and HAVE_STD_STRING are defined. This header file is needed
+ for Linux systems with gcc (and probably others).
+ Affects: dcmdata/libsrc/dcjson.cc
+
+- Removed unused variable from writeJsonOpener().
+ Affects: dcmdata/libsrc/dcelem.cc
+
+- Added missing header include (without OpenSSL):
+ When compiled without OpenSSL support, the header file "dcmtrans.h" also
+ needs to be included for the new settings dcmSocketSend/ReceiveTimeout.
+ Affects: dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+
+- Fixed typos in API documentation.
+ Affects: dcmnet/include/dcmtk/dcmnet/dcmtrans.h
+
+**** Changes from 2017.01.19 (riesmeier)
+
+- Added new option --socket-timeout to storescu/scp:
+ Added new option --socket-timeout, which allows for specifying the timeout
+ for sending and receiving data on a network socket. A default of 60 seconds
+ is useful in cases where the sender (e.g. storescu) looses the connection
+ to the receiver (e.g. storescp) because the network cable is pulled or the
+ like. A value 0 means that the send() or recv() function never timeouts.
+ Affects: dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/docs/storescp.man
+ dcmnet/docs/storescu.man
+
+- Made send() and recv() timeout configurable:
+ Made the timeout for the send() and recv() function configurable, i.e. the
+ default value of 60 seconds can now be changed at runtime. The previously
+ used macros DISABLE_RECV_TIMEOUT and DISABLE_SEND_TIMEOUT have, therefore,
+ become obsolete.
+ This partly closes DCMTK Bug #618.
+ Affects: config/docs/macros.txt
+ dcmnet/include/dcmtk/dcmnet/dcmtrans.h
+ dcmnet/libsrc/dcmtrans.cc
+
+- Added #warning on DONT_DISABLE_NAGLE_ALGORITHM:
+ Added warning during compilation if outdated DONT_DISABLE_NAGLE_ALGORITHM
+ is still used. Also readded this previously supported macro to the main
+ documentation file with a hint on the new behavior.
+ Affects: config/docs/macros.txt
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulfsm.cc
+
+- Minor corrections to documentation/comments.
+ Affects: dcmnet/include/dcmtk/dcmnet/dul.h
+
+- Simplified output of default option values:
+ Simplified output of default option values and also of the range of valid
+ values. This approach is now consistent with other tools like "storescu".
+ Affects: dcmnet/apps/storescp.cc
+
+**** Changes from 2017.01.19 (onken)
+
+- Fixed potential NULL pointer and implicit casts:
+ Two potential NULL pointer derefences have been fixed as well as various
+ implicit casts that could lead to data loss. Guards have been added where
+ necessary and remaining (safe) casts have been made explicit.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h
+ dcmiod/libsrc/iodutil.cc
+ dcmnet/apps/getscu.cc
+ dcmnet/apps/storescu.cc
+ dcmpmap/libsrc/dpmparametricmapiod.cc
+ dcmseg/include/dcmtk/dcmseg/segtypes.h
+ dcmseg/libsrc/segdoc.cc
+
+- Fixed (harmless) shadowed variabl.
+ Affects: dcmfg/libsrc/fgframeanatomy.cc
+
+**** Changes from 2017.01.18 (riesmeier)
+
+- Do not pass simple const parameters by reference.
+ Affects: dcmnet/include/dcmtk/dcmnet/assoc.h
+ dcmnet/libsrc/assoc.cc
+
+- Do not disable Nagle algorithm by default:
+ Beginning with DCMTK 3.4.1, the so-called Nagle algorithm was disabled by
+ default for each DICOM transport connection in order to increase the network
+ performance, especially on Windows systems. However, on most modern operating
+ systems this default does not seem to be appropriate anymore. Therefore, the
+ default has been changed and the compiler macro DONT_DISABLE_NAGLE_ALGORITHM
+ has been replaced by DISABLE_NAGLE_ALGORITHM, so at compilation time the Nagle
+ algorithm can still be disabled (if needed). In addition, the environment
+ variable NO_TCPDELAY allows for changing this default at runtime.
+ See "config/docs/macros.txt" and "config/docs/envvars.txt" for details.
+ Closes DCMTK Feature #364.
+ Affects: config/docs/envvars.txt
+ config/docs/macros.txt
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulfsm.cc
+
+- Fixed maximum number of bytes to read from stdin:
+ Limit maximum number of bytes to read from stdin in order to avoid a
+ possible buffer overflow. This issue has been reported by the static
+ code analysis tool of VisualStudio 2015.
+ Also fixed various typos in comments.
+ Affects: dcmnet/apps/storescp.cc
+ dcmwlm/libsrc/wlmactmg.cc
+
+- Replaced binary ("&") by boolean ("&&") AND.
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+- Fixed warnings reported by VisualStudio 2015:
+ Added explicit typecasts in order to avoid warnings of type C4267
+ "possible loss of data" reported by VisualStudio 2015.
+ Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/dcuserid.cc
+ dcmnet/libsrc/dulconst.cc
+ dcmpstat/libsrc/dvpstat.cc
+
+- Updated latest tested CMake version:
+ Updated information on latest CMake version that has been tested to "3.7.2".
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2017.01.17 (onken)
+
+- Avoid another variable shadow warning.
+ Affects: dcmpmap/libsrc/dpmparametricmapiod.cc
+
+- Print conn. timeout to TRACE instead DEBUG level:
+ If select() runs into a timeout when listening for TCP connections, a message
+ was printed to the DEBUG log level. Since this can occur quite often (depending
+ on the timeout), the message has been moved to the TRACE logger instead.
+ Affects: dcmnet/libsrc/diutil.cc
+
+- Fixed warning about unused parameter.
+ Affects: ofstd/include/dcmtk/ofstd/ofoption.h
+
+- Fixed warnings about overloaded virtual functions.
+ Affects: dcmtract/include/dcmtk/dcmtract/trcstatistic.h
+ dcmtract/libsrc/trcstatistic.cc
+
+- Avoid warnings about shadowed names.
+ Affects: dcmfg/libsrc/fg.cc
+ dcmiod/tests/tcielabutil.cc
+
+**** Changes from 2017.01.16 (riesmeier)
+
+- Do not set TCP send and receive buffer length:
+ By default, don't set the TCP send and receive buffer length anymore since
+ modern operating systems know much better what appropriate values are. If
+ the user wants, he can still specify a certain buffer length by using the
+ environment variable TCP_BUFFER_LENGTH (which was already supported by
+ previous versions of the DCMTK).
+ Thanks to Alexander Haderer <alexander.haderer@loescap.de> for the suggested
+ patch and forum user "tpalagyi" (and others) for the original report.
+ Closes DCMTK Feature #597.
+ Affects: config/docs/envvars.txt
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulfsm.cc
+
+- Removed DCMTK's implementation of tempnam():
+ Removed DCMTK's implementation of tempnam() since it is not used any longer.
+ Also removed related documentation on environment variable TMPDIR.
+ Affects: config/docs/envvars.txt
+ dcmnet/include/dcmtk/dcmnet/dcompat.h
+ dcmnet/libsrc/dcompat.cc
+
+**** Changes from 2017.01.14 (riesmeier)
+
+- Added another character set test (for ISO-IR 149):
+ Added another character set conversion test that checks for the automatic
+ detection of 8- vs. 16-bit characters when using "ISO 2022 IR 149".
+ Affects: dcmdata/tests/tspchrs.cc
+
+**** Changes from 2017.01.13 (riesmeier)
+
+- Fixed issue with wrong detection of delimiters:
+ Fixed issue with wrong detection of delimiters (such as a backslash) when
+ converting a character string with multi-byte character set and code
+ extensions. Also enhanced support for character sets that use one or two
+ bytes per character such as "ISO 2022 IR 149".
+ Thanks to Bhuvan Bose <bhuvanbose86@gmail.com> for the original report and
+ for the sample DICOM object (using "\ISO 2022 IR 87" character set).
+ Closes DCMTK Bug #684.
+ Affects: dcmdata/libsrc/dcspchrs.cc
+
+- Updated documentation regarding HT delimiter:
+ Updated documentation regarding the horizontal tab (HT) character being one
+ of the standard delimiters.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+ dcmdata/libsrc/dcspchrs.cc
+
+- Added another character set test (for ISO-IR 58):
+ Added another character set test based on the example from DICOM PS3.5 K.2.
+ This test uses GB 2312 (registered as ISO-IR 58), i.e. Simplified Chinese.
+ Affects: dcmdata/tests/tspchrs.cc
+
+**** Changes from 2017.01.09 (onken)
+
+- Fixed various documentation issues:
+ Fixed doxygen warnings by adding missing documentation of parameters and
+ return values as well as doubled section labels in dcmnet documentation that
+ also occur in other DCMTK modules.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h
+ dcmiod/include/dcmtk/dcmiod/iodmacro.h
+ dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
+ dcmiod/include/dcmtk/dcmiod/modsynchronisation.h
+ dcmnet/docs/cptscp.dox
+ dcmnet/docs/dcmnet.dox
+ dcmnet/docs/dcmrecv.man
+ dcmnet/docs/dcmsend.man
+ dcmnet/docs/echoscu.man
+ dcmnet/docs/findscu.man
+ dcmnet/docs/getscu.man
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/docs/storescu.man
+ dcmnet/docs/termscu.man
+ dcmnet/include/dcmtk/dcmnet/dcuserid.h
+ dcmnet/include/dcmtk/dcmnet/scpcfg.h
+ dcmpmap/docs/dcmpmap.dox
+ dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapiod.h
+ dcmseg/include/dcmtk/dcmseg/segdoc.h
+
+**** Changes from 2017.01.06 (onken)
+
+- Better SCP timeouts, test, cleanups and more docs:
+ A new possibility was added to return from DcmSCP's listen() loop in
+ non-blocking mode. A dedicated return code has been added, as well as
+ for the existing "stop after current association" feature. A test was added
+ to ensure DcmSCP works as expected.
+ Some methods have been cleaned up, especially calls for freeing association
+ structures have been concentrated into a single call.
+ Some further documentation was added, including possible return codes of
+ some important methods.
+ Added: dcmnet/tests/tscuscp.cc
+ Affects: dcmnet/apps/Makefile.dep
+ dcmnet/include/dcmtk/dcmnet/cond.h
+ dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/libsrc/cond.cc
+ dcmnet/libsrc/scp.cc
+ dcmnet/tests/CMakeLists.txt
+ dcmnet/tests/Makefile.dep
+ dcmnet/tests/Makefile.in
+ dcmnet/tests/tests.cc
+
+**** Changes from 2017.01.06 (riesmeier)
+
+- Removed "dcmwlm/wwwapps" from ".gitignore":
+ Removed retired "wwwapps" of the Worklist Management SCP module from the
+ ".gitignore" file.
+ Affects: .gitignore
+
+- Added Manpage of recently introduced dcm2json tool.
+ Added: doxygen/manpages/man1/dcm2json.1
+
+- Let git ignore recently introduced dcm2json tool.
+ Affects: .gitignore
+
+- Added a section on the rendering limitations:
+ Added a section to the manpage that describes the (current) limitations
+ when rendering a GSPS object, e.g. textual and graphical annotations are
+ not supported.
+ Closes DCMTK Feature #665.
+ Affects: dcmpstat/docs/dcmp2pgm.man
+
+- Fixed incomplete renaming of command line options:
+ Fixed incomplete renaming of command line options --illegal-obow-reject,
+ --illegal-obow-convert, --illegal-voi-reject and --illegal-voi-convert,
+ which was done with commit 0b36181. Now, these options should work again
+ as expected since the correct option names are checked.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmdump.cc
+
+- Removed unused configure variable/definition:
+ Remove unused GNU Autoconf (aka "./configure") variable/definition
+ DCMTK_ENABLE_BUILTIN_DICTIONARY. Seems to be a leftover from a previous
+ implementation attempt that has not been committed.
+ Affects: config/Makefile.def.in
+ config/configure
+ config/configure.in
+
+**** Changes from 2017.01.02 (onken)
+
+- Fixed installation of DCMTKConfigVersion.cmake:
+ DCMTKConfigVersion.cmake has not been installed, thus leading to an error
+ when importing DCMTK through find_package() with a specified version from
+ other CMake-based projects.
+ Thanks to Waldir Pimenta<waldir.pimenta@gmail.com> for the report and
+ suggested patch.
+ Closes DCMTK Bug #708.
+ Affects: CMake/GenerateCMakeExports.cmake
+ CMakeLists.txt
+
+**** Changes from 2016.12.16 (eichelberg)
+
+- Fixed integer underflow condition:
+ Minor fix to avoid a (harmless) integer underflow reported by
+ clang with -fsanitize=integer.
+ Affects: dcmdata/libsrc/dcstack.cc
+
+**** Changes from 2016.12.14 (schlamelcher)
+
+- Added magic word and version checks to dcmqrdb:
+ All dcmqrdb applications will now prefix the index file with the magic word
+ 'QRDB' followed by two hexadecimal version digits. Both will be verified
+ whenever an existing index file is opened for reading/modification.
+ Please note that index files with the same magic word and version might still
+ be binary incompatible with each other if they originate from different
+ platforms (e.g. with different endianness or alignment). This mechanism is
+ meant to catch cases where the index must be re-created due to dcmtk updates.
+ Don't forget to re-create your database indices using dcmqridx.
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2016.12.13 (riesmeier)
+
+- Further fixes to source code formatting.
+ Affects: dcmdata/apps/dcm2json.cc
+
+- Various minor fixes to new "dcm2json" tool:
+ Various minor fixes to the new "dcm2json" tool regarding documentation,
+ source code formatting, etc.
+ Affects: dcmdata/apps/dcm2json.cc
+ dcmdata/docs/dcm2json.man
+
+**** Changes from 2016.12.13 (schlamelcher)
+
+- Fixed oflog character set conversion defines.
+ Affects: oflog/include/dcmtk/oflog/config/defines.h
+
+- Fixed dcm2json when compiling as shared libraries.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcjson.h
+
+**** Changes from 2016.12.12 (schlamelcher)
+
+- Fixed a comment in OFCharacterEncoding:
+ A recently added comment for the iconv specific OFCharacterEncoding
+ implementation was (falsely) referring to the ICU.
+ Affects: ofstd/libsrc/ofchrenc.cc
+
+**** Changes from 2016.12.12 (grallert)
+
+- Added support for the DICOM JSON Model (part 18 F):
+ Introduced new DICOM to JSON converter that can be utilized to implement
+ web applications. JSON to DICOM conversion is currently not implemented.
+ Added: dcmdata/apps/dcm2json.cc
+ dcmdata/docs/dcm2json.man
+ dcmdata/include/dcmtk/dcmdata/dcjson.h
+ dcmdata/libsrc/dcjson.cc
+ Affects: dcmdata/apps/CMakeLists.txt
+ dcmdata/apps/Makefile.in
+ dcmdata/docs/dcmdata.dox
+ dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcchrstr.h
+ dcmdata/include/dcmtk/dcmdata/dcdatset.h
+ dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/include/dcmtk/dcmdata/dcfilefo.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcmetinf.h
+ dcmdata/include/dcmtk/dcmdata/dcobject.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmdata/include/dcmtk/dcmdata/dcvrat.h
+ dcmdata/include/dcmtk/dcmdata/dcvrds.h
+ dcmdata/include/dcmtk/dcmdata/dcvris.h
+ dcmdata/include/dcmtk/dcmdata/dcvrlo.h
+ dcmdata/include/dcmtk/dcmdata/dcvrobow.h
+ dcmdata/include/dcmtk/dcmdata/dcvrod.h
+ dcmdata/include/dcmtk/dcmdata/dcvrof.h
+ dcmdata/include/dcmtk/dcmdata/dcvrol.h
+ dcmdata/include/dcmtk/dcmdata/dcvrpn.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsh.h
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.in
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcchrstr.cc
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcmetinf.cc
+ dcmdata/libsrc/dcobject.cc
+ dcmdata/libsrc/dcsequen.cc
+ dcmdata/libsrc/dcvrat.cc
+ dcmdata/libsrc/dcvrds.cc
+ dcmdata/libsrc/dcvris.cc
+ dcmdata/libsrc/dcvrlo.cc
+ dcmdata/libsrc/dcvrobow.cc
+ dcmdata/libsrc/dcvrod.cc
+ dcmdata/libsrc/dcvrof.cc
+ dcmdata/libsrc/dcvrol.cc
+ dcmdata/libsrc/dcvrpn.cc
+ dcmdata/libsrc/dcvrsh.cc
+
+**** Changes from 2016.12.09 (riesmeier)
+
+- Avoid compiler warning on unused parameter:
+ Avoid compiler warning on unused parameter, e.g. when compiling with gcc
+ -Wextra. Also the read and write item methods return EC_NotYetImplemented
+ instead of EC_Normal since no real content is ever read or written.
+ Closes DCMTK Bug #705.
+ Affects: dcmrt/libsrc/drtmas.cc
+
+**** Changes from 2016.12.08 (riesmeier)
+
+- Added comments on ICU conversions flags:
+ Added comments that ICU also supports other "conversions flags" and that
+ the (currently, very basic) implementation might be enhanced in the future.
+ Affects: ofstd/libsrc/ofchrenc.cc
+
+- Fixed wrong check on GLIBC macro:
+ Instead of "__GLIBC__" the macro "__GLIBC_" was checked, i.e. one trailing
+ underscore character was missing.
+ Affects: ofstd/libsrc/ofchrenc.cc
+
+**** Changes from 2016.12.07 (riesmeier)
+
+- Added missing period at the end of descriptions:
+ Added missing period at the end of some CMake variable/option descriptions
+ (for reasons of consistency).
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkPrepare.cmake
+
+- Renamed isAvailable() and getVersionString():
+ Renamed the methods isAvailable() and getVersionString() back to their
+ original names, i.e. as they have been before the "refactoring". Now,
+ it is more consistent with other "libraries" used (e.g. "IJG" for JPEG)
+ and also easier to understand for a user of the API.
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmdump.cc
+ dcmdata/libsrc/dcspchrs.cc
+ dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+ dcmsr/apps/dsrdump.cc
+ ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/ofchrenc.cc
+ ofstd/tests/tchrenc.cc
+
+- Fixed source code formatting (where appropriate):
+ Fixed source code formatting after the character set conversion classes have
+ been "refactored". Now, the formatting should be (a little) more consistenti
+ than before.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcspchrs.cc
+ ofstd/libsrc/ofchrenc.cc
+
+- Updated note on character set conversion options:
+ Updated note on the character set conversion options: Now, this conversion
+ does not only rely on "libiconv". The available character encoding library
+ is shown in the output of --version.
+ Affects: dcmdata/docs/dcm2xml.man
+ dcmdata/docs/dcmconv.man
+ dcmdata/docs/dcmdump.man
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+ dcmsr/docs/dsrdump.man
+
+- Fixed various documentation issues:
+ Fixed various documentation and Doxygen-related issues that were introduced
+ with the "refactoring" of the character set conversion classes.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+ ofstd/include/dcmtk/ofstd/ofchrenc.h
+
+**** Changes from 2016.12.07 (schlamelcher)
+
+- Several fixes regarding character set conversion:
+ Fixed building with enabled C++11 support.
+ Fixed the code to suppress unnecessary warnings about TheImplementation being
+ in the wrong #if - #else - #endif segment.
+ Fixed building with iconv from another C standard library than the GNU one.
+ Renamed some macros/settings to reflect above changes (gnuc -> stdlibc etc.).
+ Affects: CMake/3rdparty.cmake
+ CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ dcmdata/libsrc/dcspchrs.cc
+ ofstd/libsrc/ofchrenc.cc
+
+**** Changes from 2016.12.06 (riesmeier)
+
+- Changed the way an unused parameter is treated:
+ Now, the approach is identical to a similar notifyXXX() method.
+ Affects: dcmnet/libsrc/dstorscu.cc
+
+**** Changes from 2016.12.06 (grallert)
+
+- Fixed suppressing overflow warnings with Clang:
+ Changed -Woverflow to -Winteger-overflow. The -Woverflow flag exists for GCC
+ compatibility only and has no effect for Clang.
+ Affects: ofstd/include/dcmtk/ofstd/diag/overflow.def
+
+**** Changes from 2016.12.06 (schlamelcher)
+
+- Refactored character set conversion classes:
+ Refactored character set conversion to support additional implementations,
+ currently also the International Components for Unicode (ICU) and the ICONV
+ implementation builtin the GNU C library are also supported, in addition to
+ the already supported external ICONV library.
+ Added: CMake/FindICU.cmake
+ Affects: CMake/3rdparty.cmake
+ CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkPrepare.cmake
+ CMake/osconfig.h.in
+ config/Makefile.def.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ dcmdata/apps/Makefile.in
+ dcmdata/apps/dcm2xml.cc
+ dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmdump.cc
+ dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+ dcmdata/libsrc/Makefile.in
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcspchrs.cc
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tspchrs.cc
+ dcmimage/apps/Makefile.in
+ dcmimgle/apps/Makefile.in
+ dcmiod/tests/Makefile.in
+ dcmjpeg/apps/Makefile.in
+ dcmjpls/apps/Makefile.in
+ dcmnet/apps/Makefile.in
+ dcmnet/tests/Makefile.in
+ dcmpstat/apps/Makefile.in
+ dcmpstat/tests/Makefile.in
+ dcmqrdb/apps/Makefile.in
+ dcmrt/apps/Makefile.in
+ dcmrt/tests/Makefile.in
+ dcmseg/tests/Makefile.in
+ dcmsign/apps/Makefile.in
+ dcmsr/apps/Makefile.in
+ dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+ dcmsr/apps/dsrdump.cc
+ dcmsr/tests/Makefile.in
+ dcmwlm/apps/Makefile.in
+ dcmwlm/tests/Makefile.in
+ ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/CMakeLists.txt
+ ofstd/libsrc/ofchrenc.cc
+ ofstd/libsrc/ofconapp.cc
+ ofstd/tests/Makefile.in
+ ofstd/tests/tchrenc.cc
+
+**** Changes from 2016.12.01 (riesmeier)
+
+- Added (missing) comments.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
+
+**** Changes from 2016.11.30 (riesmeier)
+
+- Limit number of entries in optimization LUT:
+ Made sure that the number of look-up table entries used internally for
+ the optimized pixel data processing does not exceed a certain limit.
+ Especially, made sure that there is no numeric oveflow, which resulted
+ in a segmentation fault on 32-bit systems when processing DICOM images
+ with high bit depth (e.g. Bits Allocated / Stored = 32).
+ Thanks to John Stark <jstark@therapixel.com> for the original report.
+ Closes DCMTK Bug #696.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
+
+**** Changes from 2016.11.29 (riesmeier)
+
+- Added missing API documentation (Doxygen):
+ Added missing API documentation for Doxygen, e.g. undocumented parameters
+ or return values.
+ Affects: oflog/include/dcmtk/oflog/oflog.h
+
+**** Changes from 2016.11.28 (riesmeier)
+
+- Added "Simplified Adult Echo SR" to ReportType.
+ Affects: dcmsr/data/dsr2xml.xsd
+
+- Added missing character sets to XML Schema:
+ Added various Asian character sets to the XML Schema. Support for these
+ character sets was added to the C++ implementation some time ago but the
+ XML Schema was - apparently - not updated.
+ Affects: dcmsr/data/dsr2xml.xsd
+
+- Added tests for "new" Chinese characters sets:
+ Added tests for Chinese character sets that were introduced with CP-1234:
+ GB 2312 (also known as ISO-2022-CN) and GBK (a subset of GB 18030).
+ Currently, it is only checked whether the associated Defined Terms for
+ the Specific Character Set attribute are really supported.
+ Affects: dcmdata/tests/tspchrs.cc
+
+- Added missing API documentation for Doxygen:
+ Added missing API documentation for Doxygen, e.g. undocumented parameters
+ or return values. Also fixed some typos in comments.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dccodec.h
+ dcmdata/include/dcmtk/dcmdata/dcdatset.h
+ dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/include/dcmtk/dcmdata/dcfilefo.h
+ dcmdata/include/dcmtk/dcmdata/dcmetinf.h
+ dcmdata/include/dcmtk/dcmdata/dcobject.h
+ dcmdata/include/dcmtk/dcmdata/dcovlay.h
+ dcmdata/include/dcmtk/dcmdata/dcpixseq.h
+ dcmdata/include/dcmtk/dcmdata/dcpxitem.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/include/dcmtk/dcmdata/dcvrpobw.h
+ dcmdata/include/dcmtk/dcmdata/dcvruc.h
+ dcmdata/include/dcmtk/dcmdata/dcvrulup.h
+ dcmdata/include/dcmtk/dcmdata/dcvrur.h
+ dcmdata/include/dcmtk/dcmdata/dcvrut.h
+
+- Replaced boolean modes in convertCharacterSet():
+ Replaced boolean parameters "transliterate" and "discardIllegal" of the
+ convertCharacterSet() methods by a single "flags" parameter (as it is
+ used for other similar methods in the various "dcmdata" classes). This
+ allows for adding further "modes" in the future without changing the
+ signature of the character set conversion methods.
+ Closes DCMTK Feature #579.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/include/dcmtk/dcmdata/dcfilefo.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dctypes.h
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dctypes.cc
+
+**** Changes from 2016.11.25 (riesmeier)
+
+- Check return value of write() to avoid warning:
+ Added check on return value of write() function in order to avoid a warning
+ message reported by gcc (on some systems with certain flags, e.g. Ubuntu).
+ This finally closes DCMTK Bug #379.
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Check return value of fgets() to avoid warnings:
+ Added check on return value of fgets() function in order to avoid warning
+ messages reported by gcc (on some systems with certain flags, e.g. Ubuntu).
+ Also fixed various typos in log messages and comments.
+ This partly closes DCMTK Bug #379.
+ Affects: dcmqrdb/libsrc/dcmqrcnf.cc
+
+**** Changes from 2016.11.25 (eichelberg)
+
+- Use fseek() instead of rewind() on Win32/Cygwin:
+ On Win32 and Cygwin systems, rewind() fails if the file is read-only
+ and was read to EOF before the call to rewind(). Now using fseek()
+ instead in OFFile::rewind().
+ This fixes bug #378.
+ Affects: ofstd/include/dcmtk/ofstd/offile.h
+
+- Increased buffer sizes to avoid buffer overflows:
+ Increased buffer sizes to size of input string avoid possible buffer
+ overflows caused by calls to sscanf with %s parameter.
+ This closes bug #376.
+ Affects: dcmqrdb/libsrc/dcmqrcnf.cc
+ dcmqrdb/libsrc/dcmqrtis.cc
+
+- Minor change needed to compile on Cygwin 2.6.0.
+ Affects: ofstd/libsrc/ofstd.cc
+
+**** Changes from 2016.11.24 (eichelberg)
+
+- Fixed signed/unsigned comparison in dcmqrdb module:
+ Fixed signed/unsigned comparison in dcmqrdb module.
+ WARNING: This change affects the binary format of the index.dat file,
+ although only very large images > 2 GB are affected by the change.
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
+
+- Documented new movescu return codes in man page.
+ Affects: dcmnet/docs/movescu.man
+
+- movescu now returns non-zero if c-move was unsuccessful:
+ The movescu command line application now returns non-zero if the
+ status of one or more c-move responses is warning or error and also
+ prints a warning message to the logger. This simplifies the use of the
+ tool in shell scripts, which can check for the return code.
+ This closes feature request #652.
+ Affects: dcmnet/apps/movescu.cc
+
+**** Changes from 2016.11.23 (schlamelcher)
+
+- Fixed an OFnumeric_limits problem regarding C++11:
+ The previous fix for OFnumeric_limits did not consider the availability of
+ C++11's std::numeric_limits, leading to name clashes if C++11 support was
+ enabled.
+ Affects: ofstd/libsrc/oflimits.cc
+
+**** Changes from 2016.11.23 (riesmeier)
+
+- Updated "dcmrt" classes based on DICOM 2016e:
+ Updated automatically generated IOD and sequence C++ classes for the various
+ RT objects based on the current edition of the DICOM standard (2016e). There
+ were only very few changes.
+ Affects: dcmrt/include/dcmtk/dcmrt/drtdose.h
+ dcmrt/include/dcmtk/dcmrt/drtimage.h
+ dcmrt/include/dcmtk/dcmrt/drtionpl.h
+ dcmrt/include/dcmtk/dcmrt/drtiontr.h
+ dcmrt/include/dcmtk/dcmrt/drtplan.h
+ dcmrt/include/dcmtk/dcmrt/drtstrct.h
+ dcmrt/include/dcmtk/dcmrt/drttreat.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtags.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtass.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtces.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtchs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtddps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdias.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drteas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtians.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticpds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtircs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtitts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtoas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtois.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtopis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtqds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtras.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrses.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtshds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsins.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms0.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttscds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtudis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtvls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
+ dcmrt/libsrc/drtaadcs.cc
+ dcmrt/libsrc/drtadcs.cc
+ dcmrt/libsrc/drtads.cc
+ dcmrt/libsrc/drtafs.cc
+ dcmrt/libsrc/drtags.cc
+ dcmrt/libsrc/drtajcs.cc
+ dcmrt/libsrc/drtas1.cc
+ dcmrt/libsrc/drtas5.cc
+ dcmrt/libsrc/drtas6.cc
+ dcmrt/libsrc/drtas7.cc
+ dcmrt/libsrc/drtass.cc
+ dcmrt/libsrc/drtbads.cc
+ dcmrt/libsrc/drtbas.cc
+ dcmrt/libsrc/drtbcps.cc
+ dcmrt/libsrc/drtbl2.cc
+ dcmrt/libsrc/drtbl5.cc
+ dcmrt/libsrc/drtbldls.cc
+ dcmrt/libsrc/drtbldps.cc
+ dcmrt/libsrc/drtblds1.cc
+ dcmrt/libsrc/drtblds5.cc
+ dcmrt/libsrc/drtblds6.cc
+ dcmrt/libsrc/drtbldts.cc
+ dcmrt/libsrc/drtbrcss.cc
+ dcmrt/libsrc/drtbrdrs.cc
+ dcmrt/libsrc/drtbrs.cc
+ dcmrt/libsrc/drtbs.cc
+ dcmrt/libsrc/drtbss.cc
+ dcmrt/libsrc/drtbvcps.cc
+ dcmrt/libsrc/drtcbars.cc
+ dcmrt/libsrc/drtccs.cc
+ dcmrt/libsrc/drtcctus.cc
+ dcmrt/libsrc/drtcdrs.cc
+ dcmrt/libsrc/drtces.cc
+ dcmrt/libsrc/drtcgis.cc
+ dcmrt/libsrc/drtchs.cc
+ dcmrt/libsrc/drtcims.cc
+ dcmrt/libsrc/drtcis.cc
+ dcmrt/libsrc/drtcncs.cc
+ dcmrt/libsrc/drtcos.cc
+ dcmrt/libsrc/drtcpas.cc
+ dcmrt/libsrc/drtcpis.cc
+ dcmrt/libsrc/drtcps.cc
+ dcmrt/libsrc/drtcs.cc
+ dcmrt/libsrc/drtcsas.cc
+ dcmrt/libsrc/drtcshs.cc
+ dcmrt/libsrc/drtcsis.cc
+ dcmrt/libsrc/drtcss.cc
+ dcmrt/libsrc/drtdcs.cc
+ dcmrt/libsrc/drtdddps.cc
+ dcmrt/libsrc/drtddps.cc
+ dcmrt/libsrc/drtdias.cc
+ dcmrt/libsrc/drtdimcs.cc
+ dcmrt/libsrc/drtdimrs.cc
+ dcmrt/libsrc/drtdirs.cc
+ dcmrt/libsrc/drtdose.cc
+ dcmrt/libsrc/drtdrs.cc
+ dcmrt/libsrc/drtds.cc
+ dcmrt/libsrc/drtdspcs.cc
+ dcmrt/libsrc/drtdss.cc
+ dcmrt/libsrc/drtdvhs.cc
+ dcmrt/libsrc/drtdvrrs.cc
+ dcmrt/libsrc/drteas.cc
+ dcmrt/libsrc/drtecs.cc
+ dcmrt/libsrc/drtes.cc
+ dcmrt/libsrc/drtfds.cc
+ dcmrt/libsrc/drtfes.cc
+ dcmrt/libsrc/drtfgs.cc
+ dcmrt/libsrc/drtfgss.cc
+ dcmrt/libsrc/drtfms.cc
+ dcmrt/libsrc/drtfsss.cc
+ dcmrt/libsrc/drtgas.cc
+ dcmrt/libsrc/drtgpis.cc
+ dcmrt/libsrc/drthsdrs.cc
+ dcmrt/libsrc/drtiais.cc
+ dcmrt/libsrc/drtians.cc
+ dcmrt/libsrc/drtiblds.cc
+ dcmrt/libsrc/drtibls.cc
+ dcmrt/libsrc/drtibs.cc
+ dcmrt/libsrc/drticpds.cc
+ dcmrt/libsrc/drticps.cc
+ dcmrt/libsrc/drtics.cc
+ dcmrt/libsrc/drtiis.cc
+ dcmrt/libsrc/drtimage.cc
+ dcmrt/libsrc/drtionpl.cc
+ dcmrt/libsrc/drtiontr.cc
+ dcmrt/libsrc/drtipiqs.cc
+ dcmrt/libsrc/drtircs.cc
+ dcmrt/libsrc/drtiseis.cc
+ dcmrt/libsrc/drtitts.cc
+ dcmrt/libsrc/drtiwps.cc
+ dcmrt/libsrc/drtiws.cc
+ dcmrt/libsrc/drtlsds.cc
+ dcmrt/libsrc/drtlsds6.cc
+ dcmrt/libsrc/drtlsds7.cc
+ dcmrt/libsrc/drtmacds.cc
+ dcmrt/libsrc/drtmas.cc
+ dcmrt/libsrc/drtmdrs.cc
+ dcmrt/libsrc/drtmls.cc
+ dcmrt/libsrc/drtmps.cc
+ dcmrt/libsrc/drtmris.cc
+ dcmrt/libsrc/drtmss.cc
+ dcmrt/libsrc/drtmucs.cc
+ dcmrt/libsrc/drtoas.cc
+ dcmrt/libsrc/drtois.cc
+ dcmrt/libsrc/drtopis.cc
+ dcmrt/libsrc/drtos.cc
+ dcmrt/libsrc/drtpbcs.cc
+ dcmrt/libsrc/drtpcs.cc
+ dcmrt/libsrc/drtpcxs.cc
+ dcmrt/libsrc/drtpdecs.cc
+ dcmrt/libsrc/drtpdeds.cc
+ dcmrt/libsrc/drtpfms.cc
+ dcmrt/libsrc/drtpics.cc
+ dcmrt/libsrc/drtplan.cc
+ dcmrt/libsrc/drtporcs.cc
+ dcmrt/libsrc/drtporis.cc
+ dcmrt/libsrc/drtppcs.cc
+ dcmrt/libsrc/drtprsis.cc
+ dcmrt/libsrc/drtpscs.cc
+ dcmrt/libsrc/drtpsics.cc
+ dcmrt/libsrc/drtpss.cc
+ dcmrt/libsrc/drtpsss.cc
+ dcmrt/libsrc/drtpvis.cc
+ dcmrt/libsrc/drtqds.cc
+ dcmrt/libsrc/drtras.cc
+ dcmrt/libsrc/drtrbas2.cc
+ dcmrt/libsrc/drtrbas8.cc
+ dcmrt/libsrc/drtrbls.cc
+ dcmrt/libsrc/drtrbos1.cc
+ dcmrt/libsrc/drtrbos6.cc
+ dcmrt/libsrc/drtrbos7.cc
+ dcmrt/libsrc/drtrbs2.cc
+ dcmrt/libsrc/drtrbs4.cc
+ dcmrt/libsrc/drtrbs8.cc
+ dcmrt/libsrc/drtrcdrs.cc
+ dcmrt/libsrc/drtrcos.cc
+ dcmrt/libsrc/drtrcps.cc
+ dcmrt/libsrc/drtrcs.cc
+ dcmrt/libsrc/drtrdros.cc
+ dcmrt/libsrc/drtrdrs1.cc
+ dcmrt/libsrc/drtrdrs6.cc
+ dcmrt/libsrc/drtrdrs8.cc
+ dcmrt/libsrc/drtrds.cc
+ dcmrt/libsrc/drtrecs.cc
+ dcmrt/libsrc/drtrfgs.cc
+ dcmrt/libsrc/drtrfors.cc
+ dcmrt/libsrc/drtrics.cc
+ dcmrt/libsrc/drtrims.cc
+ dcmrt/libsrc/drtris.cc
+ dcmrt/libsrc/drtrlsds.cc
+ dcmrt/libsrc/drtrmdrs.cc
+ dcmrt/libsrc/drtrms.cc
+ dcmrt/libsrc/drtrmss6.cc
+ dcmrt/libsrc/drtrmss7.cc
+ dcmrt/libsrc/drtrpcs.cc
+ dcmrt/libsrc/drtrpis.cc
+ dcmrt/libsrc/drtrppcs.cc
+ dcmrt/libsrc/drtrpphs.cc
+ dcmrt/libsrc/drtrpps.cc
+ dcmrt/libsrc/drtrppss.cc
+ dcmrt/libsrc/drtrps.cc
+ dcmrt/libsrc/drtrris1.cc
+ dcmrt/libsrc/drtrris6.cc
+ dcmrt/libsrc/drtrris9.cc
+ dcmrt/libsrc/drtrrms.cc
+ dcmrt/libsrc/drtrros.cc
+ dcmrt/libsrc/drtrrpcs.cc
+ dcmrt/libsrc/drtrrros.cc
+ dcmrt/libsrc/drtrrs.cc
+ dcmrt/libsrc/drtrrshs.cc
+ dcmrt/libsrc/drtrrtps.cc
+ dcmrt/libsrc/drtrrtps3.cc
+ dcmrt/libsrc/drtrrtps4.cc
+ dcmrt/libsrc/drtrrtps5.cc
+ dcmrt/libsrc/drtrscs.cc
+ dcmrt/libsrc/drtrsers.cc
+ dcmrt/libsrc/drtrses.cc
+ dcmrt/libsrc/drtrshs.cc
+ dcmrt/libsrc/drtrshs6.cc
+ dcmrt/libsrc/drtrshs7.cc
+ dcmrt/libsrc/drtrsis.cc
+ dcmrt/libsrc/drtrsns.cc
+ dcmrt/libsrc/drtrsos.cc
+ dcmrt/libsrc/drtrsrs.cc
+ dcmrt/libsrc/drtrss.cc
+ dcmrt/libsrc/drtrsss.cc
+ dcmrt/libsrc/drtrsts.cc
+ dcmrt/libsrc/drtrtrs2.cc
+ dcmrt/libsrc/drtrtrs4.cc
+ dcmrt/libsrc/drtrvis.cc
+ dcmrt/libsrc/drtrws.cc
+ dcmrt/libsrc/drtrwvms.cc
+ dcmrt/libsrc/drtscris.cc
+ dcmrt/libsrc/drtscs.cc
+ dcmrt/libsrc/drtsdcs.cc
+ dcmrt/libsrc/drtsds.cc
+ dcmrt/libsrc/drtshds.cc
+ dcmrt/libsrc/drtsins.cc
+ dcmrt/libsrc/drtsis.cc
+ dcmrt/libsrc/drtsns.cc
+ dcmrt/libsrc/drtspccs.cc
+ dcmrt/libsrc/drtspcs.cc
+ dcmrt/libsrc/drtspgis.cc
+ dcmrt/libsrc/drtsptcs.cc
+ dcmrt/libsrc/drtss.cc
+ dcmrt/libsrc/drtssrcs.cc
+ dcmrt/libsrc/drtssrs.cc
+ dcmrt/libsrc/drtsss.cc
+ dcmrt/libsrc/drtstrct.cc
+ dcmrt/libsrc/drttms0.cc
+ dcmrt/libsrc/drttms9.cc
+ dcmrt/libsrc/drttreat.cc
+ dcmrt/libsrc/drttscds.cc
+ dcmrt/libsrc/drttsibs.cc
+ dcmrt/libsrc/drttsmds.cc
+ dcmrt/libsrc/drttts.cc
+ dcmrt/libsrc/drtudis.cc
+ dcmrt/libsrc/drtvls.cc
+ dcmrt/libsrc/drtwps.cc
+ dcmrt/libsrc/drtwrs.cc
+ dcmrt/libsrc/drtwrsrs.cc
+ dcmrt/libsrc/drtws.cc
+ dcmrt/libsrc/drtxrs.cc
+
+- Updated Context Group classes for DICOM 2016e:
+ Updated automatically generated Context Group classes for the 2016e
+ edition of the DICOM standard. There were only changes to CID 7181
+ and 7469.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
+ dcmsr/libcmr/cid100.cc
+ dcmsr/libcmr/cid10013.cc
+ dcmsr/libcmr/cid10033.cc
+ dcmsr/libcmr/cid11.cc
+ dcmsr/libcmr/cid244.cc
+ dcmsr/libcmr/cid29.cc
+ dcmsr/libcmr/cid4020.cc
+ dcmsr/libcmr/cid4021.cc
+ dcmsr/libcmr/cid4031.cc
+ dcmsr/libcmr/cid42.cc
+ dcmsr/libcmr/cid6147.cc
+ dcmsr/libcmr/cid7021.cc
+ dcmsr/libcmr/cid7181.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+ dcmsr/libcmr/cid7464.cc
+ dcmsr/libcmr/cid7469.cc
+
+- Added comments on transfer syntax name changes:
+ With DICOM 2016e, the official names of the MPEG2 transfer syntaxes changed.
+ Added a comment to both the corresponding UID and "Xfer names" definitions.
+ However, the constants and defines have not been changed because of backward
+ compatibility.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcxfer.cc
+
+- Now use code constant CODE_DCM_PulseSequenceName.
+ Affects: dcmsr/libcmr/tid1600.cc
+
+- Updated code definitions for DICOM 2016e:
+ Updated automatically generated code definitions for coding scheme "DCM",
+ "NCIt" and "UMLS" for the 2016e edition of the DICOM standard. For the
+ two latter ones, there were no changes.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+ dcmsr/include/dcmtk/dcmsr/codes/ncit.h
+ dcmsr/include/dcmtk/dcmsr/codes/umls.h
+
+- Updated data dictionary for DICOM 2016e:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released on 2016-11-21. Since DCMTK's data dictionary was already
+ up-to-date regarding the recently approved Supplements and CPs, there are no
+ changes apart from the "Version" column.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Removed additional library dependencies:
+ Removed additional library dependencies from "libsrc/CMakeLists.txt" files
+ that are not needed since these dependencies are already specified by other
+ linked libraries (using the CMake macro "DCMTK_TARGET_LINK_LIBRARIES").
+ Affects: dcmiod/libsrc/CMakeLists.txt
+ dcmpmap/libsrc/CMakeLists.txt
+ dcmseg/libsrc/CMakeLists.txt
+ dcmtract/libsrc/CMakeLists.txt
+ oflog/libsrc/CMakeLists.txt
+
+**** Changes from 2016.11.23 (eichelberg)
+
+- Added legal remark concerning HP's JPEG-LS patents:
+ Added legal remark to dcmjpls documentation concerning HP's JPEG-LS
+ patents and the possibility to receive a free license from HP.
+ This closes #377.
+ Affects: dcmjpls/docs/License.txt
+ dcmjpls/docs/dcmjpls.dox
+
+- Improved 8/12/16 bit JPEG code consistency:
+ Minor edits to keep data structures and variable names in the 8, 12
+ and 16 bit versions of the JPEG codec more consistent.
+ This closes bug #654.
+ Affects: dcmjpeg/libijg12/jdmarker.c
+ dcmjpeg/libijg12/jpeglib12.h
+ dcmjpeg/libijg16/jpeglib16.h
+ dcmjpeg/libijg8/jpeglib8.h
+
+- JPEG decoder now decompresses incomplete bitstreams:
+ Added codec flag and command line option in dcmdjpeg to permit
+ decompression of faulty images with incomplete JPEG bitstreams.
+ Instead of trying to read more JPEG data from the next fragment,
+ the decoder simply skips to the next frame when activated.
+ This closes bug #571.
+ Affects: dcmjpeg/apps/dcmdjpeg.cc
+ dcmjpeg/docs/dcmdjpeg.man
+ dcmjpeg/include/dcmtk/dcmjpeg/djcparam.h
+ dcmjpeg/include/dcmtk/dcmjpeg/djdecode.h
+ dcmjpeg/libsrc/djcodecd.cc
+ dcmjpeg/libsrc/djcparam.cc
+ dcmjpeg/libsrc/djdecode.cc
+ dcmjpeg/libsrc/djencode.cc
+
+**** Changes from 2016.11.22 (riesmeier)
+
+- Fixed issue with option "--display-overlay 0":
+ Using option "--display-overlay 0" (or "+O 0") did not work because of a
+ too strict range check. This issue was apparently not found in the past
+ since this option is actually the default (i.e. show all overlay planes).
+ Affects: dcmimage/apps/dcm2pnm.cc
+
+- Rebuilt Makefile dependencies.
+ Affects: ofstd/libsrc/Makefile.dep
+ ofstd/tests/Makefile.dep
+
+- Re-added tab characters removed by last commit.
+ Affects: ofstd/libsrc/Makefile.in
+
+**** Changes from 2016.11.21 (hasenpusch)
+
+- Fixed OFSemaphore for macOS:
+ The OFSemaphore class on macOS now uses Apple's dispatch framework as it
+ contains the only functional unnamed semaphore implementation.
+ The OFThread tests now all succeed.
+ This fixes DCMTK bug #382.
+ Affects: ofstd/include/dcmtk/ofstd/ofthread.h
+ ofstd/libsrc/ofthread.cc
+ ofstd/tests/tthread.cc
+
+**** Changes from 2016.11.21 (schlamelcher)
+
+- Suppressed warnings in OFThread's unit test:
+ Suppressed inappropriate warnings about parameter name shadowing, see docu-
+ mentation of the employed macro.
+ Affects: ofstd/tests/tthread.cc
+
+- Suppressed silly Visual Studio warnings in OFvariant.
+ Affects: ofstd/include/dcmtk/ofstd/variadic/variant.h
+
+- Several fixes for OFnumeric_limits:
+ Fixed building with GCC using '-pedantic' by moving some definitions from the
+ header to the new source file oflimits.cc.
+ Suppressed type conversion warnings in the unit test that are also unneces-
+ sary, since they are about what is being tested there.
+ Added: ofstd/libsrc/oflimits.cc
+ Affects: ofstd/include/dcmtk/ofstd/oflimits.h
+ ofstd/libsrc/CMakeLists.txt
+ ofstd/libsrc/Makefile.in
+ ofstd/tests/tlimits.cc
+
+- Added support for additional compiler diagnostics:
+ Introduced three new macros to ofdiag.h and added related definition files.
+ Enhanced documentation of ofdiag.h regarding supported compilers.
+ Added: ofstd/include/dcmtk/ofstd/diag/cnvrsn.def
+ ofstd/include/dcmtk/ofstd/diag/shadow.def
+ ofstd/include/dcmtk/ofstd/diag/vsprfw.def
+ Affects: ofstd/include/dcmtk/ofstd/ofdiag.h
+
+**** Changes from 2016.11.18 (eichelberg)
+
+- Fixed empty pixel data bug in DcmPixelData::write():
+ Fixed bug in DcmPixelData::write() that caused an empty Pixel Data
+ element to be written when the caller tried to write a compressed
+ image in uncompressed transfer syntax without a prior call to
+ chooseRepresentation() or canWriteXfer(). Now an error is returned.
+ This closes bug #701.
+ Affects: dcmdata/libsrc/dcpixel.cc
+
+**** Changes from 2016.11.18 (schlamelcher)
+
+- Suppressed an inappropriate Visual Studio warning:
+ Suppressed an inappropriate Visual Studio warning about template specializa-
+ tion in dcmsr. The affected code is not about template specialization but in-
+ stead about static member initialization, the warning can therefore safely
+ be ignored.
+ Added: ofstd/include/dcmtk/ofstd/diag/nsdfti.def
+ Affects: dcmsr/libsrc/dsrimgfr.cc
+ dcmsr/libsrc/dsrimgse.cc
+ dcmsr/libsrc/dsrsc3gr.cc
+ dcmsr/libsrc/dsrscogr.cc
+ dcmsr/libsrc/dsrtcodt.cc
+ dcmsr/libsrc/dsrtcosp.cc
+ dcmsr/libsrc/dsrtcoto.cc
+ dcmsr/libsrc/dsrwavch.cc
+ ofstd/include/dcmtk/ofstd/ofdiag.h
+
+**** Changes from 2016.11.18 (eichelberg)
+
+- JPEG encoder now writes SOF1 marker in 8-bit ext sequential TS:
+ The JPEG encoder now always writes a SOF1 marker when encoding pixel data
+ in the extended sequential transfer syntax with 8 bit/sample.
+ This implements support for DICOM CP 1447 and closes bug #620 and #663.
+ Affects: dcmjpeg/libijg8/jcapimin.c
+ dcmjpeg/libijg8/jcmarker.c
+ dcmjpeg/libijg8/jpeglib8.h
+ dcmjpeg/libsrc/djeijg8.cc
+
+**** Changes from 2016.11.18 (schlamelcher)
+
+- Added compiler version checks to ofdiag.h etc:
+ The compiler diagnostic macros now also check the compiler version and not
+ only the compiler itself to ensure the respective features are really avail-
+ able. This fixes problems regarding older versions of GCC.
+ Affects: ofstd/include/dcmtk/ofstd/diag/mmtag.def
+ ofstd/include/dcmtk/ofstd/diag/overflow.def
+ ofstd/include/dcmtk/ofstd/diag/piof.def
+ ofstd/include/dcmtk/ofstd/diag/pop.def
+ ofstd/include/dcmtk/ofstd/diag/push.def
+ ofstd/include/dcmtk/ofstd/diag/signcmp.def
+ ofstd/include/dcmtk/ofstd/ofdiag.h
+
+**** Changes from 2016.11.17 (riesmeier)
+
+- Fixed warning re. overloaded virtual function:
+ Fixed a compiler warning regarding an overloaded virtual function hiding the
+ print() method from the base class. Could be reproduced using gcc with option
+ -Woverloaded-virtual.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdoctr.cc
+
+**** Changes from 2016.11.17 (onken)
+
+- Avoid warning regarding hidden virtual method.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodreferences.h
+
+**** Changes from 2016.11.17 (eichelberg)
+
+- Removed unnecessary call to getBaseTag().
+ Affects: dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2016.11.16 (schlamelcher)
+
+- Added some missing files to the install steps:
+ Added the new files under dcmtk/ofstd/diag to the install steps for both
+ CMake and Autoconf.
+ Added docs/CHANGES.XXX to the install steps for both CMake and Autoconf.
+ Affects: CMakeLists.txt
+ Makefile
+ config/rootconf
+ ofstd/include/CMakeLists.txt
+ ofstd/include/Makefile.in
+
+**** Changes from 2016.11.16 (eichelberg)
+
+- Fixed minor formatting issues.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmdump.cc
+ dcmdata/docs/dcmconv.man
+ dcmdata/docs/dcmdump.man
+ dcmdata/include/dcmtk/dcmdata/dcobject.h
+ dcmdata/libsrc/dcitem.cc
+
+- Added code for handling VOI LUT Sequences with OB/OW VR:
+ Added command line options for handling VOI LUT Sequence elements with
+ illegal OB/OW value representation (undefined and explicit length).
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmdump.cc
+ dcmdata/docs/dcmconv.man
+ dcmdata/docs/dcmdump.man
+
+- Added code for handling VOI LUT Sequences with OB/OW VR:
+ Added code for handling VOI LUT Sequence elements with illegal OB/OW
+ value representation. The occurance of such DICOM datasets in the
+ field, using OW and undefined length, was reported by Jörg Weinert in
+ October 2016.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/include/dcmtk/dcmdata/dcobject.h
+ dcmdata/libsrc/dcerror.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcobject.cc
+
+**** Changes from 2016.11.16 (riesmeier)
+
+- Fixed wrong reference to conventonal JPEG format.
+ Affects: dcmjpls/docs/dcmjpls.dox
+
+- Added note/warning on size of class instance:
+ Added a note (warning) that an instance of this class requires quite some
+ memory. So it is probably better to use the heap space (and not the stack).
+ Affects: dcmrt/include/dcmtk/dcmrt/drtdose.h
+ dcmrt/include/dcmtk/dcmrt/drtimage.h
+ dcmrt/include/dcmtk/dcmrt/drtionpl.h
+ dcmrt/include/dcmtk/dcmrt/drtiontr.h
+ dcmrt/include/dcmtk/dcmrt/drtplan.h
+ dcmrt/include/dcmtk/dcmrt/drtstrct.h
+ dcmrt/include/dcmtk/dcmrt/drttreat.h
+
+- Replaced non-ASCII character in comment header.
+ Affects: dcmiod/libsrc/cielabutil.cc
+
+- Fixed wrong identation with tab characters:
+ Fixed wrong identation with tab characters (mainly introduced with last
+ commit). Also changed outdated name of DCMTK module in the comment header
+ (was "dcmpstat", actually is "dcmtls").
+ Affects: dcmtls/tests/dcmtk_ca.pl
+
+- Replaced tab characters by spaces:
+ Replaced tab characters by spaces and removed trailing spaces (introduced
+ with the last commit).
+ Affects: dcmtls/libsrc/tlslayer.cc
+
+- Replaced non-ASCII characters:
+ Replaced Unicode characters by their corresponding ASCII representation
+ since the previous encoding resulted in a strange display of the HTML
+ Doxgen documentation (in a web browser). Also replaced "(c)" by "(C)"
+ where appropriate.
+ Affects: COPYRIGHT
+
+**** Changes from 2016.11.16 (onken)
+
+- Renamed min() to min2() (macro name clash):
+ Renamed the method min() to min2() since min() is also a macro on Windows
+ systems which can lead to a name clash in user code.
+ Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h
+ dcmiod/libsrc/cielabutil.cc
+
+**** Changes from 2016.11.16 (schlamelcher)
+
+- Adjusted a previous commit for older GCC versions.
+ Affects: ofstd/tests/tlimits.cc
+
+**** Changes from 2016.11.15 (schlamelcher)
+
+- Suppressed some unnecessary warnings:
+ Suppressed overflow warnings in OFnumeric_limits' unit test, since it is the
+ overflow behavior that is being tested there.
+ Suppressed Clang warnings about mixing struct/class keywords in the pre C++11
+ implementation of OFtuple since mixing those keywords has no drawbacks and
+ allows writing more compact code.
+ Affects: ofstd/include/dcmtk/ofstd/oftuple.h
+ ofstd/tests/tlimits.cc
+
+- Added macros for controlling compiler diagnostics:
+ Introduced platform independent macros for controlling compiler diagnostic
+ output i.e. warning messages.
+ Added: ofstd/include/dcmtk/ofstd/diag/mmtag.def
+ ofstd/include/dcmtk/ofstd/diag/overflow.def
+ ofstd/include/dcmtk/ofstd/diag/piof.def
+ ofstd/include/dcmtk/ofstd/diag/pop.def
+ ofstd/include/dcmtk/ofstd/diag/push.def
+ ofstd/include/dcmtk/ofstd/diag/signcmp.def
+ ofstd/include/dcmtk/ofstd/ofdiag.h
+
+**** Changes from 2016.11.14 (riesmeier)
+
+- Added support for new SR IOD from Supplement 169:
+ Added full support for the new Simplified Adult Echo SR IOD introduced
+ with Supplement 169. This also adds optional support for the "Timezone
+ Offset From UTC" attribute to all other Structured Reporting IODs.
+ Closes DCMTK Conformance issue #703.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrsaecc.h
+ dcmsr/libsrc/dsrsaecc.cc
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+ dcmsr/docs/dsrdump.man
+ dcmsr/docs/xml2dsr.man
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Use macro _LIBICONV_VERSION instead of variable:
+ Use macro _LIBICONV_VERSION instead of global variable _libiconv_version
+ in OFCharacterEncoding::getLibraryVersionString(). Both should be defined
+ in the main header file "iconv.h"... but apparently are not (always).
+ Affects: ofstd/libsrc/ofchrenc.cc
+
+**** Changes from 2016.11.11 (riesmeier)
+
+- Added "Simplified Adult Echo SR" to known types:
+ Added the Simplified Adult Echo SR IOD / SOP Class, which was introduced
+ only recently with Supplement 169, to the list of known (but not yet
+ supported) SR document types.
+ Full support for this IOD / SOP Class will follow in a future commit.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added support for new UID from Supplement 169:
+ Added support for new Storage SOP Class UID from Supplement 169 (Simplified
+ Adult Echocardiography Report).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2016.11.11 (eichelberg)
+
+- Updated dcmtls and dcmpstat to compile with OpenSSL 1.1.0:
+ Updated the dcmtls and dcmpstat modules, which now compile
+ and work with OpenSSL 1.0.0, 1.0.1 and 1.1.0. Removed support
+ for some historical, insecure export ciphersuites in TLS.
+ NOTE: OpenSSL 1.1.0 does not anymore accept certificates
+ with MD5 message digest in TLS connections.
+ This means that certificates generated with previous versions
+ of the dcmtk_ca.pl script will no longer work for TLS.
+ The script has been updated accordingly.
+ Affects: dcmpstat/libsrc/dviface.cc
+ dcmtls/docs/ciphers.txt
+ dcmtls/libsrc/tlslayer.cc
+ dcmtls/tests/dcmtk_ca.pl
+
+- Updated dcmsign to correctly compile with OpenSSL 1.1.0:
+ Updated the dcmsign module so that it compiles and works with
+ OpenSSL 1.0.0, 1.0.1 and 1.1.0. Implemented support for
+ SHA256, SHA384 and SHA512 as additional message digest
+ algorithms for DICOM signatures.
+ Added: dcmsign/include/dcmtk/dcmsign/sisha256.h
+ dcmsign/include/dcmtk/dcmsign/sisha384.h
+ dcmsign/include/dcmtk/dcmsign/sisha512.h
+ dcmsign/libsrc/sisha256.cc
+ dcmsign/libsrc/sisha384.cc
+ dcmsign/libsrc/sisha512.cc
+ Affects: dcmsign/apps/Makefile.dep
+ dcmsign/apps/dcmsign.cc
+ dcmsign/include/dcmtk/dcmsign/sitypes.h
+ dcmsign/libsrc/CMakeLists.txt
+ dcmsign/libsrc/Makefile.dep
+ dcmsign/libsrc/Makefile.in
+ dcmsign/libsrc/dcsignat.cc
+ dcmsign/libsrc/sicert.cc
+ dcmsign/libsrc/sicertvf.cc
+ dcmsign/libsrc/sidsa.cc
+ dcmsign/libsrc/siprivat.cc
+ dcmsign/libsrc/sirsa.cc
+ dcmsign/libsrc/sitypes.cc
+
+**** Changes from 2016.11.10 (riesmeier)
+
+- Added support for CP-1584 to data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Added initial support for Supplement 195:
+ Added initial support for Supplement 195 (HEVC/H.265 Transfer Syntax),
+ i.e. added definition of two new transfer syntaxes. Support in the various
+ networking tools is not yet complete (e.g. missing prefer/propose options).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/include/dcmtk/dcmdata/dcxfer.h
+ dcmdata/libsrc/dcuid.cc
+ dcmdata/libsrc/dcxfer.cc
+ dcmnet/apps/echoscu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/docs/echoscu.man
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/libsrc/dimse.cc
+
+- Added support for recently approved CPs:
+ Added support for CP-1597, CP-1609 and CP-1611 to the data dictionary.
+ These CPs were approved during this week's DICOM WG-06 meeting.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Added four Color Palette SOP Instances (CP-1584):
+ Added well-known SOP Instance UID values for four new Color Palettes
+ introduced with CP-1584 (Allow Palette Color in Parametric Map).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+
+- Fixed code value for "Pulse Sequence Name" (CP-1578):
+ Fixed wrong definition of code value for "Pulse Sequence Name" (see CP-1578).
+ Affects: dcmsr/libcmr/tid1600.cc
+
+**** Changes from 2016.11.10 (schlamelcher)
+
+- Enhanced C++11 compliance of OFvariant:
+ Moved a type definition from the inside of a constexpr function to the
+ enclosing class, since this is only allowed by C++14 and later but not C++11.
+ Fixed potentially too weak alignment specifier used while determining the
+ common alignment of all variant alternatives.
+ Affects: ofstd/include/dcmtk/ofstd/ofvriant.h
+
+**** Changes from 2016.11.09 (riesmeier)
+
+- Added missing documentation for return values.
+ Affects: dcmrt/include/dcmtk/dcmrt/drmimage.h
+ dcmrt/include/dcmtk/dcmrt/drtdose.h
+ dcmrt/include/dcmtk/dcmrt/drtimage.h
+ dcmrt/include/dcmtk/dcmrt/drtionpl.h
+ dcmrt/include/dcmtk/dcmrt/drtiontr.h
+ dcmrt/include/dcmtk/dcmrt/drtplan.h
+ dcmrt/include/dcmtk/dcmrt/drtstrct.h
+ dcmrt/include/dcmtk/dcmrt/drttreat.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtags.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtass.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtces.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtchs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtddps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdias.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drteas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtians.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticpds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtircs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtitts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtoas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtois.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtopis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtqds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtras.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrses.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtshds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsins.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms0.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttscds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtudis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtvls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
+
+- Fixed Doxygen-related issues in the documentation:
+ Added missing documentation for parameters and return values.
+ Affects: dcmimage/include/dcmtk/dcmimage/dicoimg.h
+ dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
+ dcmimgle/include/dcmtk/dcmimgle/diimage.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoimg.h
+ dcmimgle/include/dcmtk/dcmimgle/dimomod.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
+
+- Enabled Doxygen's WARN_NO_PARAMDOC option:
+ Enabled Doxygen's WARN_NO_PARAMDOC option in order to get a warning to the
+ "doxygen/htmldocs.log" file on undocumented parameters and return values.
+ Affects: doxygen/htmldocs.cfg
+
+- Various Doxygen-related fixes to documentation:
+ Fixed various Doxygen-related issues in the documentation of the API,
+ e.g. unresolved references to members of a base class or undocumented
+ parameters and return values of methods.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrposcn.h
+ dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h
+ dcmsr/include/dcmtk/dcmsr/dsrscovl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
+ dcmsr/include/dcmtk/dcmsr/dsrxmld.h
+
+- Renamed empty() methods to isEmpty():
+ Renamed remaining empty() methods to isEmpty() for reasons of consistency.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
+ dcmsr/include/dcmtk/dcmsr/dsrrefin.h
+ dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
+ dcmsr/libsrc/dsrcsidl.cc
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrrefin.cc
+ dcmsr/libsrc/dsrsoprf.cc
+
+- Added new method hasVerifyingObservers():
+ Added new method DSRDocument::hasVerifyingObservers().
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/dsrdoc.cc
+
+- Made getNumberOfVerifyingObservers() const:
+ Made method DSRDocument::getNumberOfVerifyingObservers() "constant".
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/dsrdoc.cc
+
+**** Changes from 2016.11.04 (riesmeier)
+
+- Made "ReportType" optional in XML Schema:
+ Made "type" attribute optional for "report" element in XML Schema. This
+ is because the readXML() of the DSRDocument class does not require it
+ (in fact, it does not even use it).
+ Also fixed a wrong name for one of the "ReportType" enumerations.
+ Affects: dcmsr/data/dsr2xml.xsd
+
+- Removed check on arrays being not a null pointer:
+ Removed comparison of char arrays being not equal to a null pointer since this
+ is always true. This fix should avoid warning messages reported by Clang 3.5.
+ Affects: dcmpstat/libsrc/dviface.cc
+
+**** Changes from 2016.11.03 (riesmeier)
+
+- Added support for missing "ReportType" values:
+ Over the years, support for various new DICOM SR IODs has been added to
+ the "dcmsr" module but the XML Schema was not updated in this regard.
+ Now, the list of "ReportType" enumerated values is again up-to-date.
+ Affects: dcmsr/data/dsr2xml.xsd
+
+- Added support for InstanceCreatorUID to readXML():
+ Added missing support for the InstanceCreatorUID to readXML().
+ The writeXML() already supported this optional XML attribute.
+ Affects: dcmsr/libsrc/dsrdoc.cc
+
+**** Changes from 2016.11.02 (schlamelcher)
+
+- Updated CHANGES.361 for new development snapshot.
+ Affects: docs/CHANGES.361
+
+- Updated DCMTK_ABI_VERSION for new development snapshot.
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/dcm2pdf.1
+ doxygen/manpages/man1/dcm2pnm.1
+ doxygen/manpages/man1/dcm2xml.1
+ doxygen/manpages/man1/dcmcjpeg.1
+ doxygen/manpages/man1/dcmcjpls.1
+ doxygen/manpages/man1/dcmconv.1
+ doxygen/manpages/man1/dcmcrle.1
+ doxygen/manpages/man1/dcmdjpeg.1
+ doxygen/manpages/man1/dcmdjpls.1
+ doxygen/manpages/man1/dcmdrle.1
+ doxygen/manpages/man1/dcmdspfn.1
+ doxygen/manpages/man1/dcmdump.1
+ doxygen/manpages/man1/dcmftest.1
+ doxygen/manpages/man1/dcmgpdir.1
+ doxygen/manpages/man1/dcmj2pnm.1
+ doxygen/manpages/man1/dcml2pnm.1
+ doxygen/manpages/man1/dcmmkcrv.1
+ doxygen/manpages/man1/dcmmkdir.1
+ doxygen/manpages/man1/dcmmklut.1
+ doxygen/manpages/man1/dcmodify.1
+ doxygen/manpages/man1/dcmp2pgm.1
+ doxygen/manpages/man1/dcmprscp.1
+ doxygen/manpages/man1/dcmprscu.1
+ doxygen/manpages/man1/dcmpschk.1
+ doxygen/manpages/man1/dcmpsmk.1
+ doxygen/manpages/man1/dcmpsprt.1
+ doxygen/manpages/man1/dcmpsrcv.1
+ doxygen/manpages/man1/dcmpssnd.1
+ doxygen/manpages/man1/dcmqridx.1
+ doxygen/manpages/man1/dcmqrscp.1
+ doxygen/manpages/man1/dcmqrti.1
+ doxygen/manpages/man1/dcmquant.1
+ doxygen/manpages/man1/dcmrecv.1
+ doxygen/manpages/man1/dcmscale.1
+ doxygen/manpages/man1/dcmsend.1
+ doxygen/manpages/man1/dcmsign.1
+ doxygen/manpages/man1/dcod2lum.1
+ doxygen/manpages/man1/dconvlum.1
+ doxygen/manpages/man1/drtdump.1
+ doxygen/manpages/man1/dsr2html.1
+ doxygen/manpages/man1/dsr2xml.1
+ doxygen/manpages/man1/dsrdump.1
+ doxygen/manpages/man1/dump2dcm.1
+ doxygen/manpages/man1/echoscu.1
+ doxygen/manpages/man1/findscu.1
+ doxygen/manpages/man1/getscu.1
+ doxygen/manpages/man1/img2dcm.1
+ doxygen/manpages/man1/movescu.1
+ doxygen/manpages/man1/pdf2dcm.1
+ doxygen/manpages/man1/storescp.1
+ doxygen/manpages/man1/storescu.1
+ doxygen/manpages/man1/termscu.1
+ doxygen/manpages/man1/wlmscpfs.1
+ doxygen/manpages/man1/xml2dcm.1
+ doxygen/manpages/man1/xml2dsr.1
+
+- Updated Makefile dependencies.
+ Affects: ofstd/libsrc/Makefile.dep
+
+- Added API documentation for OFvariant etc.
+ Affects: ofstd/include/dcmtk/ofstd/ofutil.h
+ ofstd/include/dcmtk/ofstd/ofvriant.h
+
+**** Changes from 2016.11.01 (riesmeier)
+
+- Added readXML mode that accepts empty/missing UID:
+ Added new mode to readXML() that accepts empty or missing Study/Series/
+ SOP Instance UID values in the input document. This is required if only
+ some of these three UID values should be re-generated (replaced). Now,
+ option --generate-new-uids (with --dont-overwrite-uids) works as expected.
+ Thanks to Martin Wenger <Martin.Wenger@klinikum-hef.de> for the original
+ report that resulted in this improvement/fix.
+ Affects: dcmsr/apps/xml2dsr.cc
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/include/dcmtk/dcmsr/dsrxmld.h
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/libsrc/dsrxmld.cc
+
+- Output debug messages when updating attributes:
+ Output messages to the debug logger when updating DICOM header attributes,
+ especially when generating new Study / Series / SOP Instance UIDs.
+ Affects: dcmsr/libsrc/dsrdoc.cc
+
+- Made clear that options +/-Uo require +Ug:
+ Now it is checked whether option --generate-new-uids (+Ug) is used when
+ --overwrite-uids (+Uo) or --dont-overwrite-uids (-Uo) is also specified
+ on the command line. This should avoid possible confusions.
+ Affects: dcmdata/apps/xml2dcm.cc
+ dcmsr/apps/xml2dsr.cc
+
+**** Changes from 2016.10.31 (schlamelcher)
+
+- Added OFvariant implementation for C++11:
+ Closes DCMTK bug #693.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodimage.h
+ dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h
+ ofstd/include/dcmtk/ofstd/ofutil.h
+ ofstd/include/dcmtk/ofstd/ofvriant.h
+
+**** Changes from 2016.10.30 (schlamelcher)
+
+- Fixed a problem with a previous commit:
+ A line in a previous commit was truncated, leading to compiler errors.
+ Affects: dcmpstat/libsrc/dviface.cc
+
+**** Changes from 2016.10.28 (schlamelcher)
+
+- Fixed using third party libraries with MinGW:
+ Modified 3rdparty.cmake such that MinGW is handled the same as Unix like
+ systems regarding the integration of third party libraries.
+ Affects: CMake/3rdparty.cmake
+
+- Fixed 32 vs. 64 bit problem in dcmqrdb:
+ Fixed incompatibility of dcmqrdb databases between 32 bit and 64 bit code on
+ the same platform. Don't forget to re-create your databases using dcmqridx.
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
+
+- Several fixes for dcmpstat:
+ Fixed detecting structured reporting objects based on the SOP class.
+ Fixed print job execution and cleanup. Print job executing was bugged when
+ the name of one print job was a prefix to the name of another print job.
+ Fixed deadlock in instanceReviewed() regarding database access.
+ Fixed opening files named using non ASCII characters (only relevant on
+ Windows).
+ Affects: dcmpstat/apps/dcmprscu.cc
+ dcmpstat/libsrc/dviface.cc
+ dcmpstat/libsrc/dvpshlp.cc
+
+- Fixed wrong usage of checkStringValue() in dcmpmap:
+ Fixed passing the attribute type to checkStringValue() where the value multi-
+ plicity is expected.
+ Affects: dcmpmap/libsrc/dpmmodparametricmapimage.cc
+
+**** Changes from 2016.10.12 (riesmeier)
+
+- Added comment on recently added DICOM attributes:
+ Added comment on DICOM attributes that were recently added to the DICOM
+ standard but which are not (yet) supported by the "dcmsr" module.
+ As usual, these "things to be done" can be found by searching for "tbd:"
+ in the source code of this module.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+
+- Updated "dcmrt" classes based on DICOM 2016d:
+ Updated automatically generated IOD and sequence C++ classes for the various
+ RT objects based on the current edition of the DICOM standard (2016d).
+ Added: dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtddps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsins.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtudis.h
+ dcmrt/libsrc/drtcgis.cc
+ dcmrt/libsrc/drtdddps.cc
+ dcmrt/libsrc/drtddps.cc
+ dcmrt/libsrc/drtgpis.cc
+ dcmrt/libsrc/drtmris.cc
+ dcmrt/libsrc/drtpdeds.cc
+ dcmrt/libsrc/drtscs.cc
+ dcmrt/libsrc/drtsins.cc
+ dcmrt/libsrc/drtspgis.cc
+ dcmrt/libsrc/drtsptcs.cc
+ dcmrt/libsrc/drtssrcs.cc
+ dcmrt/libsrc/drtsss.cc
+ dcmrt/libsrc/drtudis.cc
+ Removed: dcmrt/include/dcmtk/dcmrt/seq/drtarics.h
+ dcmrt/libsrc/drtarics.cc
+ Affects: dcmrt/apps/Makefile.dep
+ dcmrt/include/dcmtk/dcmrt/drtdose.h
+ dcmrt/include/dcmtk/dcmrt/drtimage.h
+ dcmrt/include/dcmtk/dcmrt/drtionpl.h
+ dcmrt/include/dcmtk/dcmrt/drtiontr.h
+ dcmrt/include/dcmtk/dcmrt/drtplan.h
+ dcmrt/include/dcmtk/dcmrt/drtstrct.h
+ dcmrt/include/dcmtk/dcmrt/drttreat.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtags.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtass.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtces.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtchs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdias.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drteas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtians.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticpds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtircs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtitts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtoas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtois.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtopis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtqds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtras.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrses.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtshds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms0.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttscds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtvls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
+ dcmrt/libsrc/CMakeLists.txt
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/libsrc/Makefile.in
+ dcmrt/libsrc/drtaadcs.cc
+ dcmrt/libsrc/drtadcs.cc
+ dcmrt/libsrc/drtads.cc
+ dcmrt/libsrc/drtafs.cc
+ dcmrt/libsrc/drtags.cc
+ dcmrt/libsrc/drtajcs.cc
+ dcmrt/libsrc/drtas1.cc
+ dcmrt/libsrc/drtas5.cc
+ dcmrt/libsrc/drtas6.cc
+ dcmrt/libsrc/drtas7.cc
+ dcmrt/libsrc/drtass.cc
+ dcmrt/libsrc/drtbads.cc
+ dcmrt/libsrc/drtbas.cc
+ dcmrt/libsrc/drtbcps.cc
+ dcmrt/libsrc/drtbl2.cc
+ dcmrt/libsrc/drtbl5.cc
+ dcmrt/libsrc/drtbldls.cc
+ dcmrt/libsrc/drtbldps.cc
+ dcmrt/libsrc/drtblds1.cc
+ dcmrt/libsrc/drtblds5.cc
+ dcmrt/libsrc/drtblds6.cc
+ dcmrt/libsrc/drtbldts.cc
+ dcmrt/libsrc/drtbrcss.cc
+ dcmrt/libsrc/drtbrdrs.cc
+ dcmrt/libsrc/drtbrs.cc
+ dcmrt/libsrc/drtbs.cc
+ dcmrt/libsrc/drtbss.cc
+ dcmrt/libsrc/drtbvcps.cc
+ dcmrt/libsrc/drtcbars.cc
+ dcmrt/libsrc/drtccs.cc
+ dcmrt/libsrc/drtcctus.cc
+ dcmrt/libsrc/drtcdrs.cc
+ dcmrt/libsrc/drtces.cc
+ dcmrt/libsrc/drtchs.cc
+ dcmrt/libsrc/drtcims.cc
+ dcmrt/libsrc/drtcis.cc
+ dcmrt/libsrc/drtcncs.cc
+ dcmrt/libsrc/drtcos.cc
+ dcmrt/libsrc/drtcpas.cc
+ dcmrt/libsrc/drtcpis.cc
+ dcmrt/libsrc/drtcps.cc
+ dcmrt/libsrc/drtcs.cc
+ dcmrt/libsrc/drtcsas.cc
+ dcmrt/libsrc/drtcshs.cc
+ dcmrt/libsrc/drtcsis.cc
+ dcmrt/libsrc/drtcss.cc
+ dcmrt/libsrc/drtdcs.cc
+ dcmrt/libsrc/drtdias.cc
+ dcmrt/libsrc/drtdimcs.cc
+ dcmrt/libsrc/drtdimrs.cc
+ dcmrt/libsrc/drtdirs.cc
+ dcmrt/libsrc/drtdose.cc
+ dcmrt/libsrc/drtdrs.cc
+ dcmrt/libsrc/drtds.cc
+ dcmrt/libsrc/drtdspcs.cc
+ dcmrt/libsrc/drtdss.cc
+ dcmrt/libsrc/drtdvhs.cc
+ dcmrt/libsrc/drtdvrrs.cc
+ dcmrt/libsrc/drteas.cc
+ dcmrt/libsrc/drtecs.cc
+ dcmrt/libsrc/drtes.cc
+ dcmrt/libsrc/drtfds.cc
+ dcmrt/libsrc/drtfes.cc
+ dcmrt/libsrc/drtfgs.cc
+ dcmrt/libsrc/drtfgss.cc
+ dcmrt/libsrc/drtfms.cc
+ dcmrt/libsrc/drtfsss.cc
+ dcmrt/libsrc/drtgas.cc
+ dcmrt/libsrc/drthsdrs.cc
+ dcmrt/libsrc/drtiais.cc
+ dcmrt/libsrc/drtians.cc
+ dcmrt/libsrc/drtiblds.cc
+ dcmrt/libsrc/drtibls.cc
+ dcmrt/libsrc/drtibs.cc
+ dcmrt/libsrc/drticpds.cc
+ dcmrt/libsrc/drticps.cc
+ dcmrt/libsrc/drtics.cc
+ dcmrt/libsrc/drtiis.cc
+ dcmrt/libsrc/drtimage.cc
+ dcmrt/libsrc/drtionpl.cc
+ dcmrt/libsrc/drtiontr.cc
+ dcmrt/libsrc/drtipiqs.cc
+ dcmrt/libsrc/drtircs.cc
+ dcmrt/libsrc/drtiseis.cc
+ dcmrt/libsrc/drtitts.cc
+ dcmrt/libsrc/drtiwps.cc
+ dcmrt/libsrc/drtiws.cc
+ dcmrt/libsrc/drtlsds.cc
+ dcmrt/libsrc/drtlsds6.cc
+ dcmrt/libsrc/drtlsds7.cc
+ dcmrt/libsrc/drtmacds.cc
+ dcmrt/libsrc/drtmas.cc
+ dcmrt/libsrc/drtmdrs.cc
+ dcmrt/libsrc/drtmls.cc
+ dcmrt/libsrc/drtmps.cc
+ dcmrt/libsrc/drtmss.cc
+ dcmrt/libsrc/drtmucs.cc
+ dcmrt/libsrc/drtoas.cc
+ dcmrt/libsrc/drtois.cc
+ dcmrt/libsrc/drtopis.cc
+ dcmrt/libsrc/drtos.cc
+ dcmrt/libsrc/drtpbcs.cc
+ dcmrt/libsrc/drtpcs.cc
+ dcmrt/libsrc/drtpcxs.cc
+ dcmrt/libsrc/drtpdecs.cc
+ dcmrt/libsrc/drtpfms.cc
+ dcmrt/libsrc/drtpics.cc
+ dcmrt/libsrc/drtplan.cc
+ dcmrt/libsrc/drtporcs.cc
+ dcmrt/libsrc/drtporis.cc
+ dcmrt/libsrc/drtppcs.cc
+ dcmrt/libsrc/drtprsis.cc
+ dcmrt/libsrc/drtpscs.cc
+ dcmrt/libsrc/drtpsics.cc
+ dcmrt/libsrc/drtpss.cc
+ dcmrt/libsrc/drtpsss.cc
+ dcmrt/libsrc/drtpvis.cc
+ dcmrt/libsrc/drtqds.cc
+ dcmrt/libsrc/drtras.cc
+ dcmrt/libsrc/drtrbas2.cc
+ dcmrt/libsrc/drtrbas8.cc
+ dcmrt/libsrc/drtrbls.cc
+ dcmrt/libsrc/drtrbos1.cc
+ dcmrt/libsrc/drtrbos6.cc
+ dcmrt/libsrc/drtrbos7.cc
+ dcmrt/libsrc/drtrbs2.cc
+ dcmrt/libsrc/drtrbs4.cc
+ dcmrt/libsrc/drtrbs8.cc
+ dcmrt/libsrc/drtrcdrs.cc
+ dcmrt/libsrc/drtrcos.cc
+ dcmrt/libsrc/drtrcps.cc
+ dcmrt/libsrc/drtrcs.cc
+ dcmrt/libsrc/drtrdros.cc
+ dcmrt/libsrc/drtrdrs1.cc
+ dcmrt/libsrc/drtrdrs6.cc
+ dcmrt/libsrc/drtrdrs8.cc
+ dcmrt/libsrc/drtrds.cc
+ dcmrt/libsrc/drtrecs.cc
+ dcmrt/libsrc/drtrfgs.cc
+ dcmrt/libsrc/drtrfors.cc
+ dcmrt/libsrc/drtrics.cc
+ dcmrt/libsrc/drtrims.cc
+ dcmrt/libsrc/drtris.cc
+ dcmrt/libsrc/drtrlsds.cc
+ dcmrt/libsrc/drtrmdrs.cc
+ dcmrt/libsrc/drtrms.cc
+ dcmrt/libsrc/drtrmss6.cc
+ dcmrt/libsrc/drtrmss7.cc
+ dcmrt/libsrc/drtrpcs.cc
+ dcmrt/libsrc/drtrpis.cc
+ dcmrt/libsrc/drtrppcs.cc
+ dcmrt/libsrc/drtrpphs.cc
+ dcmrt/libsrc/drtrpps.cc
+ dcmrt/libsrc/drtrppss.cc
+ dcmrt/libsrc/drtrps.cc
+ dcmrt/libsrc/drtrris1.cc
+ dcmrt/libsrc/drtrris6.cc
+ dcmrt/libsrc/drtrris9.cc
+ dcmrt/libsrc/drtrrms.cc
+ dcmrt/libsrc/drtrros.cc
+ dcmrt/libsrc/drtrrpcs.cc
+ dcmrt/libsrc/drtrrros.cc
+ dcmrt/libsrc/drtrrs.cc
+ dcmrt/libsrc/drtrrshs.cc
+ dcmrt/libsrc/drtrrtps.cc
+ dcmrt/libsrc/drtrrtps3.cc
+ dcmrt/libsrc/drtrrtps4.cc
+ dcmrt/libsrc/drtrrtps5.cc
+ dcmrt/libsrc/drtrscs.cc
+ dcmrt/libsrc/drtrsers.cc
+ dcmrt/libsrc/drtrses.cc
+ dcmrt/libsrc/drtrshs.cc
+ dcmrt/libsrc/drtrshs6.cc
+ dcmrt/libsrc/drtrshs7.cc
+ dcmrt/libsrc/drtrsis.cc
+ dcmrt/libsrc/drtrsns.cc
+ dcmrt/libsrc/drtrsos.cc
+ dcmrt/libsrc/drtrsrs.cc
+ dcmrt/libsrc/drtrss.cc
+ dcmrt/libsrc/drtrsss.cc
+ dcmrt/libsrc/drtrsts.cc
+ dcmrt/libsrc/drtrtrs2.cc
+ dcmrt/libsrc/drtrtrs4.cc
+ dcmrt/libsrc/drtrvis.cc
+ dcmrt/libsrc/drtrws.cc
+ dcmrt/libsrc/drtrwvms.cc
+ dcmrt/libsrc/drtscris.cc
+ dcmrt/libsrc/drtsdcs.cc
+ dcmrt/libsrc/drtsds.cc
+ dcmrt/libsrc/drtshds.cc
+ dcmrt/libsrc/drtsis.cc
+ dcmrt/libsrc/drtsns.cc
+ dcmrt/libsrc/drtspccs.cc
+ dcmrt/libsrc/drtspcs.cc
+ dcmrt/libsrc/drtss.cc
+ dcmrt/libsrc/drtssrs.cc
+ dcmrt/libsrc/drtstrct.cc
+ dcmrt/libsrc/drttms0.cc
+ dcmrt/libsrc/drttms9.cc
+ dcmrt/libsrc/drttreat.cc
+ dcmrt/libsrc/drttscds.cc
+ dcmrt/libsrc/drttsibs.cc
+ dcmrt/libsrc/drttsmds.cc
+ dcmrt/libsrc/drttts.cc
+ dcmrt/libsrc/drtvls.cc
+ dcmrt/libsrc/drtwps.cc
+ dcmrt/libsrc/drtwrs.cc
+ dcmrt/libsrc/drtwrsrs.cc
+ dcmrt/libsrc/drtws.cc
+ dcmrt/libsrc/drtxrs.cc
+ dcmrt/tests/Makefile.dep
+
+- Fixed typo in comments.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
+
+**** Changes from 2016.10.04 (riesmeier)
+
+- Updated Context Group classes for DICOM 2016d:
+ Updated automatically generated Context Group classes for the 2016d
+ edition of the DICOM standard. There were no changes to the supported
+ Context Groups.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
+ dcmsr/libcmr/cid100.cc
+ dcmsr/libcmr/cid10013.cc
+ dcmsr/libcmr/cid10033.cc
+ dcmsr/libcmr/cid11.cc
+ dcmsr/libcmr/cid244.cc
+ dcmsr/libcmr/cid29.cc
+ dcmsr/libcmr/cid4020.cc
+ dcmsr/libcmr/cid4021.cc
+ dcmsr/libcmr/cid4031.cc
+ dcmsr/libcmr/cid42.cc
+ dcmsr/libcmr/cid6147.cc
+ dcmsr/libcmr/cid7021.cc
+ dcmsr/libcmr/cid7181.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+ dcmsr/libcmr/cid7464.cc
+ dcmsr/libcmr/cid7469.cc
+
+- Updated code definitions for DICOM 2016d:
+ Updated automatically generated code definitions for coding scheme "DCM",
+ "NCIt" and "UMLS" for the 2016d edition of the DICOM standard.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+ dcmsr/include/dcmtk/dcmsr/codes/ncit.h
+ dcmsr/include/dcmtk/dcmsr/codes/umls.h
+
+- Update data dictionary for DICOM 2016d.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+**** Changes from 2016.10.04 (schlamelcher)
+
+- Fixed a problem in OFtuple's constructor:
+ GCC 6.2.1 wasn't able to compile OFtuple's constructor, which is fixed in
+ this commit.
+ Affects: ofstd/include/dcmtk/ofstd/oftuple.h
+
+**** Changes from 2016.09.22 (riesmeier)
+
+- Added new DCMTK modules "dcmtract" and "dcmpmap":
+ These two (still pretty new) modules were missing in the README file.
+ Also updated description of "dcmsr" module in order to be consistent
+ with the Doxygen file.
+ Affects: README
+
+**** Changes from 2016.09.21 (onken)
+
+- Make Manufacturer type 2, consistency fixes:
+ Thanks to Jörg Riesmeier for the hint and proposed patch.
+ Affects: dcmiod/include/dcmtk/dcmiod/modenhequipment.h
+ dcmiod/include/dcmtk/dcmiod/modequipment.h
+ dcmiod/libsrc/modenhequipment.cc
+ dcmiod/libsrc/modequipment.cc
+
+**** Changes from 2016.09.20 (riesmeier)
+
+- Disable two test cases when building shared libs:
+ Temporarily disable two new test cases when building shared libraries
+ because of unresolvable linker errors (static member "EmptyItem" not
+ found).
+ See DCMTK Bug #694.
+ Affects: dcmsr/tests/Makefile.dep
+ dcmsr/tests/tsrlist.cc
+
+**** Changes from 2016.09.19 (riesmeier)
+
+- Fixed compiler warnings on unused variables:
+ Fixed compiler warnings on unused variables reported by Visual Studio 2010.
+ Affects: dcmjpls/libcharls/intrface.cc
+
+- Fixed linker errors on non-gcc platforms:
+ Fixed linker errors on non-gcc platforms that occurred after adding new
+ "dcmsr" test cases (which make use of the class DSRListOfItems).
+ Affects: dcmsr/tests/tsrlist.cc
+
+**** Changes from 2016.09.17 (riesmeier)
+
+- Added missing source file (new test cases):
+ Added new source file that was missing for the previous commit.
+ Added: dcmsr/tests/tsrlist.cc
+
+**** Changes from 2016.09.16 (hasenpusch)
+
+- Fixed include paths in DCMTK's package config file:
+ Fixed exporting wrong module include paths inside generated DCMTKConfig.cmake.
+ The specified module include paths went two levels too deep into the folder
+ hierarchy, leading to system include shadowing under certain circumstances.
+ This fixes DCMTK bug #692.
+ Thanks to forum user jakecobb for reporting this bug.
+ Affects: CMake/DCMTKConfig.cmake.in
+
+**** Changes from 2016.09.16 (riesmeier)
+
+- Enhanced template class DSRListOfItems:
+ Added new methods addItems() and getItems() to the template class
+ DSRListOfItems. These new methods expect a vector as a parameter
+ and thus allow for adding/getting multiple items with a single call.
+ Closes DCMTK Feature #572.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtlist.h
+ dcmsr/tests/CMakeLists.txt
+ dcmsr/tests/Makefile.in
+ dcmsr/tests/tests.cc
+
+**** Changes from 2016.09.15 (schlamelcher)
+
+- Further fixes for OFvariant:
+ OFvariant's copy constructor and assignment operator are now disabled for
+ types that can not be converted to one of the variant's alternatives (using
+ OFenable_if).
+ Fixed OFvariant's fallback implementation for systems that do not provide
+ memory alignment facilities.
+ Affects: ofstd/include/dcmtk/ofstd/variadic/variant.h
+
+**** Changes from 2016.09.14 (riesmeier)
+
+- Fixed minor issues in modules' documentation:
+ Fixed minor issues in modules' documentation of "dcmpmap" und "dcmtract".
+ Some of these are related to Doxygen (the tool that is used for generating
+ the rendered output) and some have been fixed for reasons of consistency
+ with other DCMTK modules.
+ Affects: dcmpmap/docs/dcmpmap.dox
+ dcmtract/docs/dcmtract.dox
+
+**** Changes from 2016.09.14 (schlamelcher)
+
+- Fixes for OFvariant, dcmiod, dcmseg and dcmpmap:
+ Removed DLL export macros from several template classes as this does not seem
+ to work for templates.
+ Introduced a workaround for older C++ compilers regarding base class
+ definitions in derived classes, e.g. OFvariant<int,char> will not be available
+ as OFvariant (without the template parameters) in derived classes on these
+ compilers. OFvariant and DcmIODImage now define the types 'variant' and
+ 'IODImage' resp. instead, which may be used in derived classes for referring
+ to the resp. base class or one of its methods etc.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodimage.h
+ dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h
+ dcmpmap/libsrc/dpmparametricmapbase.cc
+ dcmseg/libsrc/segdoc.cc
+ ofstd/include/dcmtk/ofstd/variadic/variant.h
+
+**** Changes from 2016.09.13 (schlamelcher)
+
+- Trying possible fix for OFvariant vs DLLs.
+ Affects: ofstd/include/dcmtk/ofstd/ofutil.h
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2016.09.12 (riesmeier)
+
+- Updated coding scheme designator (CP-1567):
+ Updated coding scheme designator for CID 5000 (Languages) based on recently
+ approved CP-1567: The designator changed from "IETF4646" to "RFC5646".
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
+ dcmsr/libcmr/cid5000.cc
+
+- Added support for recently approved CPs:
+ Added support for CP-1418 and CP-1586 to the data dictionary.
+ These CPs were approved during last week's DICOM WG-06 t-con.
+ Also fixed an attribute name change in "dcmrt" due to retirement.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+ dcmrt/libsrc/drtarics.cc
+
+- Added support for new UIDs from Supplement 121:
+ Added support for new Storage and Query/Retrieve SOP Class UIDs from
+ Supplement 121 (CT Protocol Storage).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added support for Supplement 121 to dictionary:
+ Added support for the final text version of Supplement 121 (CT Protocol
+ Storage) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+**** Changes from 2016.09.10 (onken)
+
+- Corrected value checking and setters for VM > 1:
+ Some value checks have been filling the VM parameter incorrectly by providing
+ the value type (like "1C") instead, leading to an error if value checking is
+ not disabled.
+ Thanks to Andrey Fedorov <andrey.fedorov@gmail.com> for the bug report.
+ Also, some type of values (e.g. Floating Point Value) allow more than one
+ value which is now possible using an optional parameter in the related setter()
+ method.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h
+ dcmiod/libsrc/iodcontentitemmacro.cc
+
+**** Changes from 2016.09.05 (onken)
+
+- Fixed typos and other enhancements.
+ Affects: dcmpmap/docs/dcmpmap.dox
+
+**** Changes from 2016.09.02 (onken)
+
+- Make sure setValueType() sets correct string value:
+ Due to a copy/paste error setValueType() has constantly set the value "CODE"
+ instead of the value provided by the user.
+ Affects: dcmiod/libsrc/iodcontentitemmacro.cc
+
+**** Changes from 2016.09.01 (onken)
+
+- Remove default value for first parameter:
+ Remove default value for first method parameter in constructor
+ since otherwise Visual Studio moans that it overlaps with the
+ default constructor (which is undefined and private, though).
+ Affects: dcmiod/include/dcmtk/dcmiod/iodmacro.h
+
+- Introduced new module dcmpmap for Parametric Maps:
+ The new dcmpmap module offers an API for creation, loading, accessing and
+ saving DICOM Parametric Map objects as introduced in DICOM Supplement 172.
+ All binary data types supported by the standard (16 bit signed and unsigned
+ integer as well as 32 bit and 64 bit floating point data) are handled by the
+ library.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ QIICR is supported by NIH National Cancer Institute, award U24 CA180918.
+ Added: dcmfg/include/dcmtk/dcmfg/fgframeanatomy.h
+ dcmfg/include/dcmtk/dcmfg/fgidentpixeltransform.h
+ dcmfg/include/dcmtk/dcmfg/fgparametricmapframetype.h
+ dcmfg/libsrc/fgframeanatomy.cc
+ dcmfg/libsrc/fgidentpixeltransform.cc
+ dcmfg/libsrc/fgparametricmapframetype.cc
+ dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h
+ dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h
+ dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h
+ dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h
+ dcmiod/libsrc/iodcontentitemmacro.cc
+ dcmiod/libsrc/modfloatingpointimagepixel.cc
+ dcmiod/libsrc/modimagepixelbase.cc
+ dcmiod/tests/timagepixel.cc
+ dcmpmap/CMakeLists.txt
+ dcmpmap/Makefile.in
+ dcmpmap/configure
+ dcmpmap/data/Makefile.in
+ dcmpmap/docs/Makefile.in
+ dcmpmap/docs/dcmpmap.dox
+ dcmpmap/etc/Makefile.in
+ dcmpmap/include/CMakeLists.txt
+ dcmpmap/include/Makefile.in
+ dcmpmap/include/dcmtk/dcmpmap/dpmdef.h
+ dcmpmap/include/dcmtk/dcmpmap/dpmmodparametricmapimage.h
+ dcmpmap/include/dcmtk/dcmpmap/dpmmodparametricmapseries.h
+ dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapbase.h
+ dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapiod.h
+ dcmpmap/include/dcmtk/dcmpmap/dpmtypes.h
+ dcmpmap/libsrc/CMakeLists.txt
+ dcmpmap/libsrc/Makefile.dep
+ dcmpmap/libsrc/Makefile.in
+ dcmpmap/libsrc/dpmmodparametricmapimage.cc
+ dcmpmap/libsrc/dpmmodparametricmapseries.cc
+ dcmpmap/libsrc/dpmparametricmapbase.cc
+ dcmpmap/libsrc/dpmparametricmapiod.cc
+ dcmpmap/libsrc/dpmtypes.cc
+ dcmpmap/tests/Makefile.dep
+ dcmpmap/tests/Makefile.in
+ ofstd/include/dcmtk/ofstd/ofvriant.h
+ ofstd/include/dcmtk/ofstd/variadic/helpers.h
+ ofstd/include/dcmtk/ofstd/variadic/variant.h
+ ofstd/tests/tvariant.cc
+ Removed: dcmiod/libsrc/iodimage.cc
+ Affects: CMakeLists.txt
+ Makefile
+ config/modules
+ dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmfg/include/dcmtk/dcmfg/fgderimg.h
+ dcmfg/include/dcmtk/dcmfg/fgfracon.h
+ dcmfg/include/dcmtk/dcmfg/fginterface.h
+ dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
+ dcmfg/include/dcmtk/dcmfg/fgtypes.h
+ dcmfg/include/dcmtk/dcmfg/stack.h
+ dcmfg/libsrc/CMakeLists.txt
+ dcmfg/libsrc/Makefile.dep
+ dcmfg/libsrc/fgbase.cc
+ dcmfg/libsrc/fgderimg.cc
+ dcmfg/libsrc/fgfact.cc
+ dcmfg/libsrc/fgfracon.cc
+ dcmfg/libsrc/fgframevoilut.cc
+ dcmfg/libsrc/fgimagedatatype.cc
+ dcmfg/libsrc/fginterface.cc
+ dcmfg/libsrc/fgpixmsr.cc
+ dcmfg/libsrc/fgplanor.cc
+ dcmfg/libsrc/fgplanorvol.cc
+ dcmfg/libsrc/fgplanpo.cc
+ dcmfg/libsrc/fgplanposvol.cc
+ dcmfg/libsrc/fgrealworldvaluemapping.cc
+ dcmfg/libsrc/fgseg.cc
+ dcmfg/libsrc/fgtypes.cc
+ dcmfg/libsrc/fgusimagedescription.cc
+ dcmiod/include/dcmtk/dcmiod/iodcommn.h
+ dcmiod/include/dcmtk/dcmiod/iodimage.h
+ dcmiod/include/dcmtk/dcmiod/iodmacro.h
+ dcmiod/include/dcmtk/dcmiod/iodutil.h
+ dcmiod/include/dcmtk/dcmiod/modbase.h
+ dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
+ dcmiod/include/dcmtk/dcmiod/modenhequipment.h
+ dcmiod/include/dcmtk/dcmiod/modequipment.h
+ dcmiod/include/dcmtk/dcmiod/modfor.h
+ dcmiod/include/dcmtk/dcmiod/modimagepixel.h
+ dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h
+ dcmiod/include/dcmtk/dcmiod/modsynchronisation.h
+ dcmiod/libsrc/CMakeLists.txt
+ dcmiod/libsrc/Makefile.dep
+ dcmiod/libsrc/Makefile.in
+ dcmiod/libsrc/iodcommn.cc
+ dcmiod/libsrc/iodmacro.cc
+ dcmiod/libsrc/modbase.cc
+ dcmiod/libsrc/modcommoninstanceref.cc
+ dcmiod/libsrc/modenhequipment.cc
+ dcmiod/libsrc/modequipment.cc
+ dcmiod/libsrc/modfor.cc
+ dcmiod/libsrc/modimagepixel.cc
+ dcmiod/libsrc/modmultiframedimension.cc
+ dcmiod/libsrc/modmultiframefg.cc
+ dcmiod/libsrc/modsynchronization.cc
+ dcmiod/libsrc/modusfor.cc
+ dcmiod/tests/CMakeLists.txt
+ dcmiod/tests/Makefile.dep
+ dcmiod/tests/Makefile.in
+ dcmiod/tests/tests.cc
+ dcmnet/libsrc/dstorscu.cc
+ dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/libsrc/Makefile.dep
+ dcmseg/libsrc/segdoc.cc
+ dcmtract/libsrc/Makefile.dep
+ doxygen/htmldocs.dox
+ ofstd/include/dcmtk/ofstd/oftraits.h
+ ofstd/include/dcmtk/ofstd/ofutil.h
+ ofstd/libsrc/Makefile.dep
+ ofstd/libsrc/ofstd.cc
+ ofstd/tests/CMakeLists.txt
+ ofstd/tests/Makefile.dep
+ ofstd/tests/Makefile.in
+ ofstd/tests/tests.cc
+
+**** Changes from 2016.08.23 (riesmeier)
+
+- Fixed typos in comments and log output.
+ Affects: config/Makefile.def.in
+ dcmnet/libsrc/dulparse.cc
+
+**** Changes from 2016.08.22 (onken)
+
+- Optimized iterator usage to speed up execution.
+ Affects: dcmfg/libsrc/fg.cc
+ dcmfg/libsrc/fginterface.cc
+
+**** Changes from 2016.08.06 (onken)
+
+- Updated copyright.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h
+ dcmiod/libsrc/iodcommn.cc
+
+- Create SourceImageItem from DcmDataset as input:
+ Thanks to Christian Herz <cherz@bwh.harvard.edu> for the suggested patch.
+ Affects: dcmfg/include/dcmtk/dcmfg/fgderimg.h
+ dcmfg/libsrc/fgderimg.cc
+
+- Moved import..() functionality into IODCommon:
+ Moved import...() into base class of IOD classes in order to make it usable
+ from all derived IOD implementations, e.g. Segmentation IOD in dcmseg, which
+ directly offered this function before, and Parametric Maps IOD in dcmpmap.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h
+ dcmiod/libsrc/iodcommn.cc
+ dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/libsrc/segdoc.cc
+
+**** Changes from 2016.08.03 (onken)
+
+- Switched VR and VM in comment.
+ Affects: dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h
+
+**** Changes from 2016.07.27 (riesmeier)
+
+- Fixed warnings with Clang -Wparentheses-equality:
+ Fixed warnings reported by Clang compiler, which uses -Wparentheses-equality
+ by default, i.e. removed extraneous parentheses around equality comparison.
+ Also fixed various typos in comments.
+ Affects: dcmjpeg/libsrc/djcodece.cc
+
+**** Changes from 2016.07.25 (riesmeier)
+
+- Added explicit type cast to avoid warning:
+ Added explicit typecast to a parameter value in order to avoid a warning
+ reported by MSVC++ on Windows 64-bit systems.
+ Affects: dcmimgle/libsrc/dimoimg.cc
+
+- Changed type of local variable to avoid warning:
+ Changed type of local variable from size_t to unsigned long in order to
+ avoid a warning reported by MSVC++ on Windows 64-bit systems.
+ Affects: dcmjpeg/libsrc/ddpiimpl.cc
+
+**** Changes from 2016.07.19 (hasenpusch)
+
+- Fixed and refactored mutex & rwlock tests:
+ Made sure thread 2 starts after thread 1 claims the first lock.
+ Closes DCMTK bug #689.
+ Affects: ofstd/tests/tthread.cc
+
+**** Changes from 2016.07.18 (riesmeier)
+
+- Fixed typos in comments.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
+ dcmsr/libcmr/cid5000.cc
+ oflog/include/dcmtk/oflog/oflog.h
+ oflog/libsrc/oflog.cc
+
+**** Changes from 2016.07.08 (hasenpusch)
+
+- Fixed potential buffer overflow in libcharls:
+ Libcharls' encoding facility now reallocates the given target buffer if
+ the initial capacity happens to be too small.
+ Closes DCMTK bug #688.
+ Affects: dcmjpls/libcharls/decodstr.h
+ dcmjpls/libcharls/encodstr.h
+ dcmjpls/libcharls/header.cc
+ dcmjpls/libcharls/intrface.cc
+ dcmjpls/libcharls/intrface.h
+ dcmjpls/libcharls/pubtypes.h
+ dcmjpls/libcharls/scan.h
+ dcmjpls/libcharls/streams.h
+ dcmjpls/libcharls/util.h
+ dcmjpls/libsrc/djcodece.cc
+
+**** Changes from 2016.06.30 (schlamelcher)
+
+- Updated CHANGES.361 for new development snapshot.
+ Affects: docs/CHANGES.361
+
+- DCMTK_ABI_VERSION for new development snapshot.
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/dcm2pdf.1
+ doxygen/manpages/man1/dcm2pnm.1
+ doxygen/manpages/man1/dcm2xml.1
+ doxygen/manpages/man1/dcmcjpeg.1
+ doxygen/manpages/man1/dcmcjpls.1
+ doxygen/manpages/man1/dcmconv.1
+ doxygen/manpages/man1/dcmcrle.1
+ doxygen/manpages/man1/dcmdjpeg.1
+ doxygen/manpages/man1/dcmdjpls.1
+ doxygen/manpages/man1/dcmdrle.1
+ doxygen/manpages/man1/dcmdspfn.1
+ doxygen/manpages/man1/dcmdump.1
+ doxygen/manpages/man1/dcmftest.1
+ doxygen/manpages/man1/dcmgpdir.1
+ doxygen/manpages/man1/dcmj2pnm.1
+ doxygen/manpages/man1/dcml2pnm.1
+ doxygen/manpages/man1/dcmmkcrv.1
+ doxygen/manpages/man1/dcmmkdir.1
+ doxygen/manpages/man1/dcmmklut.1
+ doxygen/manpages/man1/dcmodify.1
+ doxygen/manpages/man1/dcmp2pgm.1
+ doxygen/manpages/man1/dcmprscp.1
+ doxygen/manpages/man1/dcmprscu.1
+ doxygen/manpages/man1/dcmpschk.1
+ doxygen/manpages/man1/dcmpsmk.1
+ doxygen/manpages/man1/dcmpsprt.1
+ doxygen/manpages/man1/dcmpsrcv.1
+ doxygen/manpages/man1/dcmpssnd.1
+ doxygen/manpages/man1/dcmqridx.1
+ doxygen/manpages/man1/dcmqrscp.1
+ doxygen/manpages/man1/dcmqrti.1
+ doxygen/manpages/man1/dcmquant.1
+ doxygen/manpages/man1/dcmrecv.1
+ doxygen/manpages/man1/dcmscale.1
+ doxygen/manpages/man1/dcmsend.1
+ doxygen/manpages/man1/dcmsign.1
+ doxygen/manpages/man1/dcod2lum.1
+ doxygen/manpages/man1/dconvlum.1
+ doxygen/manpages/man1/drtdump.1
+ doxygen/manpages/man1/dsr2html.1
+ doxygen/manpages/man1/dsr2xml.1
+ doxygen/manpages/man1/dsrdump.1
+ doxygen/manpages/man1/dump2dcm.1
+ doxygen/manpages/man1/echoscu.1
+ doxygen/manpages/man1/findscu.1
+ doxygen/manpages/man1/getscu.1
+ doxygen/manpages/man1/img2dcm.1
+ doxygen/manpages/man1/movescu.1
+ doxygen/manpages/man1/pdf2dcm.1
+ doxygen/manpages/man1/storescp.1
+ doxygen/manpages/man1/storescu.1
+ doxygen/manpages/man1/termscu.1
+ doxygen/manpages/man1/wlmscpfs.1
+ doxygen/manpages/man1/xml2dcm.1
+ doxygen/manpages/man1/xml2dsr.1
+
+**** Changes from 2016.06.29 (schlamelcher)
+
+- Updated Makefile dependencies.
+ Affects: ofstd/libsrc/Makefile.dep
+
+**** Changes from 2016.06.28 (onken)
+
+- Add get() for Segmentation Series Module:
+ Thanks to Christian Herz <cherz@bwh.harvard.edu>for the hint and suggested
+ patch.
+ Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/libsrc/segdoc.cc
+
+**** Changes from 2016.06.21 (hasenpusch)
+
+- Removed unnecessary buffer size divisibility check:
+ This fixes DCMTK bug #667.
+ Affects: dcmjpeg/libsrc/djcodece.cc
+
+**** Changes from 2016.06.14 (onken)
+
+- Fixed 32 bit long int warning:
+ Fixed warning in integer to string conversion originating from different
+ size of type Uint32 on 32 and 64 bit systems.
+ Affects: dcmiod/libsrc/iodreferences.cc
+
+**** Changes from 2016.06.13 (riesmeier)
+
+- Updated code definitions for DICOM 2016c:
+ Updated automatically generated code definitions of "DCM" coding scheme for
+ the latest release of the DICOM standard, i.e. DICOM 2016c. All other coding
+ schemes are not updated since there were no changes or the header files are
+ not (yet) generated automatically.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+
+- Updated data dictionary for DICOM 2016c edition:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released on 2016-06-10. Since DCMTK's data dictionary was already
+ up-to-date regarding the recently approved Supplements and CPs, there are no
+ changes apart from the "Version" column.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+**** Changes from 2016.06.10 (onken)
+
+- Added another comment.
+ Affects: dcmtract/include/dcmtk/dcmtract/trcmeasurement.h
+
+**** Changes from 2016.06.10 (hasenpusch)
+
+- Modified OFVector's re-allocation strategy:
+ Upon insert() into a vector whose resulting size is greater than its capacity,
+ the vector's allocated space will now be doubled, like with most STL implemen-
+ tations.
+ Affects: ofstd/include/dcmtk/ofstd/ofvector.h
+
+**** Changes from 2016.06.10 (onken)
+
+- Fixed doubled class name in function definition:
+ Fixed double class name that breaks Visual Studio (and does not make much sense
+ at all).
+ Affects: dcmtract/libsrc/trctractographyresults.cc
+
+- Fix friend declaration to work in Visual Studio.
+ Affects: dcmtract/include/dcmtk/dcmtract/trcmeasurement.h
+ dcmtract/include/dcmtk/dcmtract/trcstatistic.h
+ dcmtract/include/dcmtk/dcmtract/trctrack.h
+ dcmtract/include/dcmtk/dcmtract/trctrackset.h
+
+**** Changes from 2016.06.09 (onken)
+
+- Corrected error from merging in tractography code.
+ Affects: dcmiod/libsrc/iodtypes.cc
+
+- Modifier Code Sequence exchangable:
+ Very often in DICOM as combination of a code with modifiers is used. The
+ modifiers are often stored in the Modifier Code Sequence. However, sometimes
+ another sequence is used for the same purpose. For those cases the sequence
+ being used in the CodeWithModifiers class has been made configurable.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodmacro.h
+ dcmiod/libsrc/iodmacro.cc
+
+**** Changes from 2016.06.08 (onken)
+
+- New module dcmtract for Tractography Results:
+ Added new module dcmtract that offers a dedicated API to create and read DICOM
+ Tractography Results objects as introduced in DICOM Supplement 181. The commit
+ also includes enhancements and minor fixes for the dcmiod and dcmfg modules.
+ Acknowledgement: This work has been supported by the "SlicerDMRI" project.
+ SlicerDMRI is in part supported by funding from the National Institutes of
+ Health National Institute of Biomedical Imaging and Bioengineering (NIBIB), to
+ project Neuroimage Analysis Center, award P41 EB015902; and the National
+ Institutes of Health National Cancer Institute (NCI) Informatics Technology for
+ Cancer Research (ITCR) initiative, to project Open Source Diffusion MRI
+ Technology For Brain Cancer Research, award U01 CA199459.
+ Added: dcmiod/include/dcmtk/dcmiod/iodreferences.h
+ dcmiod/libsrc/iodreferences.cc
+ dcmtract/CMakeLists.txt
+ dcmtract/Makefile.in
+ dcmtract/configure
+ dcmtract/data/Makefile.in
+ dcmtract/docs/Makefile.in
+ dcmtract/docs/dcmtract.dox
+ dcmtract/etc/Makefile.in
+ dcmtract/include/CMakeLists.txt
+ dcmtract/include/Makefile.in
+ dcmtract/include/dcmtk/dcmtract/trcdef.h
+ dcmtract/include/dcmtk/dcmtract/trcmeasurement.h
+ dcmtract/include/dcmtk/dcmtract/trcmodtractresults.h
+ dcmtract/include/dcmtk/dcmtract/trcstatistic.h
+ dcmtract/include/dcmtk/dcmtract/trctrack.h
+ dcmtract/include/dcmtk/dcmtract/trctrackset.h
+ dcmtract/include/dcmtk/dcmtract/trctractographyresults.h
+ dcmtract/include/dcmtk/dcmtract/trctypes.h
+ dcmtract/libsrc/CMakeLists.txt
+ dcmtract/libsrc/Makefile.dep
+ dcmtract/libsrc/Makefile.in
+ dcmtract/libsrc/trcmeasurement.cc
+ dcmtract/libsrc/trcmodtractresults.cc
+ dcmtract/libsrc/trcstatistic.cc
+ dcmtract/libsrc/trctrack.cc
+ dcmtract/libsrc/trctrackset.cc
+ dcmtract/libsrc/trctractographyresults.cc
+ dcmtract/libsrc/trctypes.cc
+ dcmtract/tests/Makefile.dep
+ dcmtract/tests/Makefile.in
+ Affects: CMakeLists.txt
+ CREDITS
+ Makefile
+ config/modules
+ dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmfg/libsrc/Makefile.dep
+ dcmfg/libsrc/fgrealworldvaluemapping.cc
+ dcmiod/include/dcmtk/dcmiod/iodmacro.h
+ dcmiod/include/dcmtk/dcmiod/iodrules.h
+ dcmiod/include/dcmtk/dcmiod/iodtypes.h
+ dcmiod/include/dcmtk/dcmiod/iodutil.h
+ dcmiod/include/dcmtk/dcmiod/modbase.h
+ dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
+ dcmiod/include/dcmtk/dcmiod/modenhequipment.h
+ dcmiod/include/dcmtk/dcmiod/modenhusimage.h
+ dcmiod/include/dcmtk/dcmiod/modgeneralimage.h
+ dcmiod/libsrc/CMakeLists.txt
+ dcmiod/libsrc/Makefile.dep
+ dcmiod/libsrc/iodmacro.cc
+ dcmiod/libsrc/iodrules.cc
+ dcmiod/libsrc/iodtypes.cc
+ dcmiod/libsrc/iodutil.cc
+ dcmiod/libsrc/modacquisitioncontext.cc
+ dcmiod/libsrc/modbase.cc
+ dcmiod/libsrc/modcommoninstanceref.cc
+ dcmiod/libsrc/modenhequipment.cc
+ dcmiod/libsrc/modenhusimage.cc
+ dcmiod/libsrc/modenhusseries.cc
+ dcmiod/libsrc/modequipment.cc
+ dcmiod/libsrc/modfor.cc
+ dcmiod/libsrc/modgeneralimage.cc
+ dcmiod/libsrc/modgeneralseries.cc
+ dcmiod/libsrc/modgeneralstudy.cc
+ dcmiod/libsrc/modimagepixel.cc
+ dcmiod/libsrc/modmultiframedimension.cc
+ dcmiod/libsrc/modmultiframefg.cc
+ dcmiod/libsrc/modpatient.cc
+ dcmiod/libsrc/modpatientstudy.cc
+ dcmiod/libsrc/modsegmentationseries.cc
+ dcmiod/libsrc/modsopcommon.cc
+ dcmiod/libsrc/modsynchronization.cc
+ dcmiod/libsrc/modusfor.cc
+ dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/libsrc/Makefile.dep
+ dcmseg/tests/Makefile.dep
+ doxygen/htmldocs.dox
+
+- Added missing access to Segment Algorithm Name:
+ Thanks to Christian Herz for the report and patch.
+ Affects: dcmseg/include/dcmtk/dcmseg/segment.h
+ dcmseg/libsrc/segment.cc
+
+**** Changes from 2016.06.03 (eichelberg)
+
+- Fixed overflow issue in JPEG-LS encoder:
+ Fixed overflow issue in JPEG-LS encoder by porting the corrected
+ implementation of EncoderStrategy::AppendToBitStream() from CharLS 1.1.0.
+ This closes DCMTK Bug #687.
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
+ Affects: dcmjpls/libcharls/encodstr.h
+
+**** Changes from 2016.06.02 (riesmeier)
+
+- Changed name of recently added "DCM" codes:
+ Removed additional "_" characters from new DCM code constant.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+
+**** Changes from 2016.06.01 (riesmeier)
+
+- Removed unused "dcmnet" function and definitions:
+ Removed unused function DUL_DefaultServiceParameters() and unused macros
+ DICOM_NET_IMPLEMENTATIONCLASSUID and DICOM_NET_IMPLEMENTATIONVERSIONNAME,
+ which were probably used in the past in the ancient network implementation.
+ Affects: dcmnet/include/dcmtk/dcmnet/dicom.h
+ dcmnet/include/dcmtk/dcmnet/dul.h
+ dcmnet/libsrc/dul.cc
+
+**** Changes from 2016.06.01 (onken)
+
+- Adapted copyright date and fixed formatting:
+ Adapted copyright date and fixed formatting errors caused by last commit
+ removing the "register" keyword.
+ Affects: dcmdata/libi2d/i2djpgs.cc
+ dcmdata/libsrc/dcdict.cc
+ dcmdata/libsrc/dcrleccd.cc
+ dcmdata/libsrc/dcrlecce.cc
+ dcmdata/libsrc/dcswap.cc
+ dcmimage/include/dcmtk/dcmimage/diargpxt.h
+ dcmimage/include/dcmtk/dcmimage/dicmypxt.h
+ dcmimage/include/dcmtk/dcmimage/dicomot.h
+ dcmimage/include/dcmtk/dcmimage/dicoopxt.h
+ dcmimage/include/dcmtk/dcmimage/dicopxt.h
+ dcmimage/include/dcmtk/dcmimage/dihsvpxt.h
+ dcmimage/include/dcmtk/dcmimage/dipalpxt.h
+ dcmimage/include/dcmtk/dcmimage/diqtcmap.h
+ dcmimage/include/dcmtk/dcmimage/diqtctab.h
+ dcmimage/include/dcmtk/dcmimage/diqtfs.h
+ dcmimage/include/dcmtk/dcmimage/dirgbpxt.h
+ dcmimage/include/dcmtk/dcmimage/diybrpxt.h
+ dcmimage/include/dcmtk/dcmimage/diyf2pxt.h
+ dcmimage/include/dcmtk/dcmimage/diyp2pxt.h
+ dcmimage/libsrc/diqtctab.cc
+ dcmimage/libsrc/diqthash.cc
+ dcmimage/libsrc/diquant.cc
+ dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h
+ dcmimgle/include/dcmtk/dcmimgle/diflipt.h
+ dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
+ dcmimgle/include/dcmtk/dcmimgle/dimopxt.h
+ dcmimgle/include/dcmtk/dcmimgle/dirotat.h
+ dcmimgle/include/dcmtk/dcmimgle/discalet.h
+ dcmimgle/include/dcmtk/dcmimgle/displint.h
+ dcmimgle/include/dcmtk/dcmimgle/diutils.h
+ dcmimgle/libsrc/dibaslut.cc
+ dcmimgle/libsrc/dicielut.cc
+ dcmimgle/libsrc/didispfn.cc
+ dcmimgle/libsrc/digsdfn.cc
+ dcmimgle/libsrc/digsdlut.cc
+ dcmimgle/libsrc/diluptab.cc
+ dcmimgle/libsrc/dimoimg.cc
+ dcmimgle/libsrc/diovdat.cc
+ dcmimgle/libsrc/diovlay.cc
+ dcmimgle/libsrc/diovlimg.cc
+ dcmimgle/libsrc/diovpln.cc
+ dcmjpeg/libsrc/djcodecd.cc
+ dcmjpls/libsrc/djcodecd.cc
+ dcmpstat/libsrc/dviface.cc
+ ofstd/include/dcmtk/ofstd/ofbmanip.h
+
+- Remove deprecated "register" keyword in C++ code:
+ See also http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4193.html#809
+ Thanks to Hans Johnson <hans-johnson@uiowa.edu> for the hint and suggested
+ patch.
+ Affects: dcmdata/libi2d/i2djpgs.cc
+ dcmdata/libsrc/dcdict.cc
+ dcmdata/libsrc/dcrleccd.cc
+ dcmdata/libsrc/dcrlecce.cc
+ dcmdata/libsrc/dcswap.cc
+ dcmdata/libsrc/dcvr.cc
+ dcmimage/include/dcmtk/dcmimage/diargpxt.h
+ dcmimage/include/dcmtk/dcmimage/dicmypxt.h
+ dcmimage/include/dcmtk/dcmimage/dicomot.h
+ dcmimage/include/dcmtk/dcmimage/dicoopxt.h
+ dcmimage/include/dcmtk/dcmimage/dicopxt.h
+ dcmimage/include/dcmtk/dcmimage/dihsvpxt.h
+ dcmimage/include/dcmtk/dcmimage/dipalpxt.h
+ dcmimage/include/dcmtk/dcmimage/diqtcmap.h
+ dcmimage/include/dcmtk/dcmimage/diqtctab.h
+ dcmimage/include/dcmtk/dcmimage/diqtfs.h
+ dcmimage/include/dcmtk/dcmimage/dirgbpxt.h
+ dcmimage/include/dcmtk/dcmimage/diybrpxt.h
+ dcmimage/include/dcmtk/dcmimage/diyf2pxt.h
+ dcmimage/include/dcmtk/dcmimage/diyp2pxt.h
+ dcmimage/libsrc/diqtctab.cc
+ dcmimage/libsrc/diqthash.cc
+ dcmimage/libsrc/diquant.cc
+ dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h
+ dcmimgle/include/dcmtk/dcmimgle/diflipt.h
+ dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
+ dcmimgle/include/dcmtk/dcmimgle/dimopxt.h
+ dcmimgle/include/dcmtk/dcmimgle/dirotat.h
+ dcmimgle/include/dcmtk/dcmimgle/discalet.h
+ dcmimgle/include/dcmtk/dcmimgle/displint.h
+ dcmimgle/include/dcmtk/dcmimgle/diutils.h
+ dcmimgle/libsrc/dibaslut.cc
+ dcmimgle/libsrc/dicielut.cc
+ dcmimgle/libsrc/didispfn.cc
+ dcmimgle/libsrc/digsdfn.cc
+ dcmimgle/libsrc/digsdlut.cc
+ dcmimgle/libsrc/diluptab.cc
+ dcmimgle/libsrc/dimoimg.cc
+ dcmimgle/libsrc/diovdat.cc
+ dcmimgle/libsrc/diovlay.cc
+ dcmimgle/libsrc/diovlimg.cc
+ dcmimgle/libsrc/diovpln.cc
+ dcmjpeg/libsrc/djcodecd.cc
+ dcmjpls/libsrc/djcodecd.cc
+ dcmpstat/libsrc/dviface.cc
+ ofstd/include/dcmtk/ofstd/ofbmanip.h
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2016.05.31 (riesmeier)
+
+- Added codes introduced with recently approved CPs:
+ Added new "DCM" codes introduced with the recently approved CP-1543
+ (PET image library corrections).
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+
+- Made use of DateTime consistent in concept names:
+ Implemented changes introduced with CP-1545 (Make use of DateTime consistent
+ in concept names), which was approved as Final Text only recently.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+ dcmsr/libcmr/tid1600.cc
+
+- Added support for recently approved CPs:
+ Added support for CP-1031 and CP-1539 to the data dictionary.
+ These CPs were approved during this weeks WG-06 meeting.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+**** Changes from 2016.05.24 (riesmeier)
+
+- Added size of DICOM dataset to transfer entry:
+ Added information on the size of the dataset (in bytes) to the transfer entry,
+ i.e. to the list of SOP instances to be transferred. Also added a new notifier
+ method that is called _before_ a SOP instance is transferred. This allows for
+ implementing a more accurate progress bar in a derived class.
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/libsrc/dstorscu.cc
+
+**** Changes from 2016.05.13 (riesmeier)
+
+- Avoided recursion in DB_FreeUidList():
+ Replaced recursive call in DB_FreeUidList() by a while loop in order
+ to fix a possible issue (crash) when freeing a very long UID list.
+ Thanks to Stacy Loesch <Stacy.Loesch@varian.com> for the report.
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2016.05.03 (riesmeier)
+
+- Updated latest tested CMake version:
+ Updated information on latest CMake version that has been tested to "3.5.2".
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2016.04.27 (riesmeier)
+
+- Enhanced return value of determineStartFragment():
+ Enhanced error conditions returned by DcmCodec::determineStartFragment().
+ This avoids getting a meaningless EC_IllegalCall when trying to access a
+ particular frame of a compressed and fragmented pixel data element, e.g.
+ if the basic offset table is empty. This is particularly reasonable since
+ the codec rountines are usually hidden to the user of the toolkit, e.g. by
+ the DicomImage class.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/libsrc/dccodec.cc
+ dcmdata/libsrc/dcerror.cc
+
+- Removed unused local function:
+ The (local) function dcmErrorConditionToString() is not used any longer,
+ so remove it from the source file.
+ Affects: dcmdata/libsrc/dcerror.cc
+
+**** Changes from 2016.04.25 (schlamelcher)
+
+- Removed definition of Visual Studio macro NOMINMAX:
+ A previous commit introduced the definition of NOMINMAX inside osconfig.h to
+ fix problems regarding the min()/max() functions declared as part of
+ OFnumeric_limits. However, this is problematic for users that declare
+ NOMINMAX themselves or don't want to declare NOMINMAX at all.
+ This commit removes the NOMINMAX definition from osconfig.h and modifies
+ OFnumeric_limits and related header files in a way that they may be included
+ without the need to declare NOMINMAX. The NOMINMAX macro is then only defined
+ when compiling the DCMTK itself, DCMTK users may or may not declare NOMINMAX
+ themselves as needed/appropriate.
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report.
+ Affects: CMake/dcmtkPrepare.cmake
+ CMake/osconfig.h.in
+ ofstd/include/dcmtk/ofstd/oflimits.h
+ ofstd/include/dcmtk/ofstd/ofstd.h
+
+**** Changes from 2016.04.08 (schlamelcher)
+
+- Improved const handling of some DCMNET functions:
+ Added the const modifier to so DCMNET function arguments for ease of use.
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the suggested patch.
+ Affects: dcmnet/include/dcmtk/dcmnet/dimse.h
+ dcmnet/libsrc/dimecho.cc
+ dcmnet/libsrc/dimfind.cc
+ dcmnet/libsrc/dimget.cc
+ dcmnet/libsrc/dimmove.cc
+ dcmnet/libsrc/dimstore.cc
+
+**** Changes from 2016.04.08 (riesmeier)
+
+- Fixed typos in comments.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2016.04.07 (riesmeier)
+
+- Fixed an incorrect warning for command sets:
+ Fixed an incorrect warning on invalid data elements in a command set
+ (i.e. group 0x0000) caused by a previous commit (4636d9c).
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2016.04.06 (riesmeier)
+
+- Updated context group classes for DICOM 2016b:
+ Updated automatically generated context group classes from the DICOM Content
+ Mapping Resource (DCMR) based on PS 3.16 from DICOM 2016b standard.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
+ dcmsr/libcmr/cid100.cc
+ dcmsr/libcmr/cid10013.cc
+ dcmsr/libcmr/cid10033.cc
+ dcmsr/libcmr/cid11.cc
+ dcmsr/libcmr/cid244.cc
+ dcmsr/libcmr/cid29.cc
+ dcmsr/libcmr/cid4020.cc
+ dcmsr/libcmr/cid4021.cc
+ dcmsr/libcmr/cid4031.cc
+ dcmsr/libcmr/cid42.cc
+ dcmsr/libcmr/cid6147.cc
+ dcmsr/libcmr/cid7021.cc
+ dcmsr/libcmr/cid7181.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+ dcmsr/libcmr/cid7464.cc
+ dcmsr/libcmr/cid7469.cc
+
+- Updated code definitions for DICOM 2016b:
+ Updated automatically generated code definitions of "DCM", "NCIt" and "UMLS"
+ coding scheme for the latest release of the DICOM standard, i.e. DICOM 2016b.
+ The other coding schemes like "SRT" or "UCUM" are not updated since their
+ header files are not (yet) generated automatically.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+ dcmsr/include/dcmtk/dcmsr/codes/ncit.h
+ dcmsr/include/dcmtk/dcmsr/codes/umls.h
+
+- Updated data dictionary for DICOM 2016b edition:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released on 2016-04-01. Since the data dictionary was already
+ up-to-date regarding the recently approved Supplements and CPs, there are no
+ changes apart from the "Version" column.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+**** Changes from 2016.04.06 (schlamelcher)
+
+- Fixed some configuration tests for VS2015 and later:
+ Some changes in the runtime of Visual Studio 2015 and later lead to false
+ configuration test results regarding some secure printf functions
+ (e.g. vsprintf_s).
+ Thanks to DCMTK forum user Shaeto for providing related information and the
+ suggested patch.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+- Fixed a problem with yesterday's commit:
+ The previous commit regarding ofmath.cc resp. math.cc contained a copy and
+ paste error leading to problems under Windows.
+ Affects: config/math.cc
+
+**** Changes from 2016.04.05 (schlamelcher)
+
+- Fixed a warning and some whitespace errors:
+ Fixed a warning about an uninitialized variable and some whitespace errors in
+ oflog (timehelp.cc).
+ Affects: oflog/libsrc/timehelp.cc
+
+- Refactored OFMath/arith.cc dependencies:
+ Moved ofmath.cc to the config module (with slight modifications) so arith.cc
+ depending on it becomes less messy.
+ Added a new ofmath.cc for ofstd, adapting between both APIs (the low level
+ API used in config and the one provided by ofstd).
+ Modified arith.cc as necessary.
+ Added: config/math.cc
+ Affects: config/arith.cc
+ ofstd/libsrc/ofmath.cc
+
+**** Changes from 2016.03.31 (schlamelcher)
+
+- Fixed touching arith.h on every CMake cache rebuild:
+ Regarding the CMake setup, the file config/arith.h is now only generated once
+ during the initial cache setup, similar to the other configure tests only
+ being run once.
+ This may potentially miss changes induced by changed compiler flags, however,
+ this is of course also a problem regarding all the other configure test and
+ should be addressed some time in the future in general.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2016.03.21 (riesmeier)
+
+- Replaced EC_InvalidTag by EC_MissingAttribute:
+ Now using more appropriate status code EC_MissingAttribute instead of
+ EC_InvalidTag when checkExistsWithValue() fails for Type 1 attributes.
+ This change should have no effect to user code (internal use only).
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+- Added support for Directory Record "ASSESSMENT":
+ Added support for new Directory Record Type "ASSESSMENT", which has been
+ introduced with Supplement 185 (Content Assessment Results IOD).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcdirrec.cc
+
+- Added support for new UID from Supplement 185:
+ Added support for new Storage SOP Class UID from Supplement 185 (Content
+ Assessment Results IOD).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added support for Supplement 185 to dictionary:
+ Added support for the final text version "FT2" of Supplement 185 (Content
+ Assessment Results IOD) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Added support for recently approved CPs:
+ Added support for CP-1492, CP-1525 and CP-1531 to the data dictionary.
+ These CPs were approved during last weeks WG-06 meeting.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Fixed typos and other minor issues in comments.
+ Affects: dcmnet/include/dcmtk/dcmnet/assoc.h
+ dcmnet/include/dcmtk/dcmnet/dimse.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/dimse.cc
+
+**** Changes from 2016.03.07 (riesmeier)
+
+- Cleaned up header inclusion in module "dcmsr":
+ Made sure that only "required" header files are actually included.
+ This should reduce the dependencies significantly.
+ Affects: dcmpstat/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+ dcmsr/apps/dsrdump.cc
+ dcmsr/apps/xml2dsr.cc
+ dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
+ dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrposcn.h
+ dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
+ dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcodt.h
+ dcmsr/include/dcmtk/dcmsr/dsrtlist.h
+ dcmsr/include/dcmtk/dcmsr/dsrtnant.h
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/include/dcmtk/dcmsr/dsrxmlc.h
+ dcmsr/include/dcmtk/dcmsr/dsrxmld.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/tid1001.cc
+ dcmsr/libcmr/tid1204.cc
+ dcmsr/libcmr/tid1411.cc
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/libcmr/tid1600.cc
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/dsrcodtn.cc
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrcomtn.cc
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrcontn.cc
+ dcmsr/libsrc/dsrcsidl.cc
+ dcmsr/libsrc/dsrctpl.cc
+ dcmsr/libsrc/dsrdattn.cc
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrdtitn.cc
+ dcmsr/libsrc/dsrimgfr.cc
+ dcmsr/libsrc/dsrimgse.cc
+ dcmsr/libsrc/dsrimgtn.cc
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrpnmtn.cc
+ dcmsr/libsrc/dsrrefin.cc
+ dcmsr/libsrc/dsrreftn.cc
+ dcmsr/libsrc/dsrsc3gr.cc
+ dcmsr/libsrc/dsrsc3vl.cc
+ dcmsr/libsrc/dsrscogr.cc
+ dcmsr/libsrc/dsrscovl.cc
+ dcmsr/libsrc/dsrsoprf.cc
+ dcmsr/libsrc/dsrtcodt.cc
+ dcmsr/libsrc/dsrtcosp.cc
+ dcmsr/libsrc/dsrtcoto.cc
+ dcmsr/libsrc/dsrtcovl.cc
+ dcmsr/libsrc/dsrtextn.cc
+ dcmsr/libsrc/dsrtimtn.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/libsrc/dsruidtn.cc
+ dcmsr/libsrc/dsrwavch.cc
+ dcmsr/libsrc/dsrwavtn.cc
+ dcmsr/libsrc/dsrwavvl.cc
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/mkreport.cc
+ dcmsr/tests/tsrcmr.cc
+ dcmsr/tests/tsrcodvl.cc
+ dcmsr/tests/tsrdoc.cc
+ dcmsr/tests/tsrdoctr.cc
+ dcmsr/tests/tsrnumvl.cc
+ dcmsr/tests/tsrtpl.cc
+ dcmsr/tests/tsrtree.cc
+
+**** Changes from 2016.03.04 (riesmeier)
+
+- Check for PixelSpacing in SharedFunctionalGroups:
+ Also check for the Pixel Spacing (0028,0030) attribute in the Pixel Measures
+ Sequence (0028,9110) of the Shared Functional Groups Sequence (5200,9229).
+ By doing so, non-square pixels are supported for the family of Enhanced
+ Multiframe Image IODs, too.
+ Please note that support for Pixel Spacing within the Per-frame Functional
+ Groups Sequence (5200,9230) is still missing.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
+ dcmimgle/libsrc/diimage.cc
+
+- Fixed typos in comments (API documentation).
+ Affects: dcmimage/include/dcmtk/dcmimage/dicoimg.h
+ dcmimage/include/dcmtk/dcmimage/dicopx.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoimg.h
+
+- Fixed shifting negative value: undefined behavior:
+ Fixed shifting a negative value (-1) since this is undefined behavior
+ according to the C standard. See comment in the source code for details.
+ This memory leak has been detected by "cppcheck" (version 1.72).
+ Thanks to Andrei Terechko <andrei@vectorfabrics.com> for the report
+ Affects: dcmjpeg/libijg12/jdlhuff.c
+ dcmjpeg/libijg12/jdphuff.c
+ dcmjpeg/libijg12/jdshuff.c
+ dcmjpeg/libijg16/jdlhuff.c
+ dcmjpeg/libijg16/jdphuff.c
+ dcmjpeg/libijg16/jdshuff.c
+ dcmjpeg/libijg8/jdlhuff.c
+ dcmjpeg/libijg8/jdphuff.c
+ dcmjpeg/libijg8/jdshuff.c
+
+- Fixed typos in comments.
+ Affects: ofstd/tests/tofstd.cc
+
+**** Changes from 2016.03.03 (riesmeier)
+
+- Fixed warnings reported by gcc with -Wshadow:
+ Fixed warning messages on declaration of a local variable that shadows a
+ previous declaration. This issue was reported by gcc with option -Wshadow.
+ Affects: dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcsequen.cc
+
+**** Changes from 2016.03.03 (onken)
+
+- Removed test duplicate:
+ Removed test that was present as a separate file (but not used) in favor
+ of the same test being part of tofstd.cc which has already been in use.
+ Removed: ofstd/tests/taddsub.cc
+ Affects: ofstd/tests/Makefile.dep
+
+**** Changes from 2016.03.03 (riesmeier)
+
+- Fixed wrong module name in comment header.
+ Affects: dcmrt/tests/tests.cc
+
+- Fixed typos in man pages.
+ Affects: dcmdata/docs/dcmgpdir.man
+ dcmdata/docs/img2dcm.man
+ dcmjpeg/docs/dcmcjpeg.man
+ dcmjpls/docs/dcmcjpls.man
+ dcmnet/docs/movescu.man
+
+**** Changes from 2016.03.02 (onken)
+
+- Better warnings when reading segmentation objects:
+ Enhanced warnings when reading segmentation objects if pixel data-related
+ attributes have invalid values.
+ Affects: dcmseg/include/dcmtk/dcmseg/segtypes.h
+ dcmseg/libsrc/segdoc.cc
+ dcmseg/libsrc/segtypes.cc
+
+- Fixed warning message:
+ Fixed warning printed if the High Bit attribute does not have a valid value.
+ Affects: dcmseg/libsrc/segdoc.cc
+
+**** Changes from 2016.02.26 (riesmeier)
+
+- Fixed typos etc. in module "dcmseg":
+ Fixed typos and other minor issues in comments and log output.
+ Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/include/dcmtk/dcmseg/segment.h
+ dcmseg/include/dcmtk/dcmseg/segtypes.h
+ dcmseg/include/dcmtk/dcmseg/segutils.h
+ dcmseg/libsrc/segdoc.cc
+ dcmseg/libsrc/segment.cc
+ dcmseg/libsrc/segtypes.cc
+ dcmseg/libsrc/segutils.cc
+
+- Fixed typos etc. in module "dcmiod":
+ Fixed typos and other minor issues in comments, log output and return values.
+ Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h
+ dcmiod/include/dcmtk/dcmiod/iodmacro.h
+ dcmiod/include/dcmtk/dcmiod/iodrules.h
+ dcmiod/include/dcmtk/dcmiod/iodutil.h
+ dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
+ dcmiod/include/dcmtk/dcmiod/modenhusimage.h
+ dcmiod/include/dcmtk/dcmiod/modenhusseries.h
+ dcmiod/include/dcmtk/dcmiod/modequipment.h
+ dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h
+ dcmiod/include/dcmtk/dcmiod/modmultiframefg.h
+ dcmiod/include/dcmtk/dcmiod/modpatientstudy.h
+ dcmiod/include/dcmtk/dcmiod/modsopcommon.h
+ dcmiod/include/dcmtk/dcmiod/modsynchronisation.h
+ dcmiod/libsrc/iodmacro.cc
+ dcmiod/libsrc/iodutil.cc
+ dcmiod/libsrc/modbase.cc
+ dcmiod/libsrc/modequipment.cc
+ dcmiod/libsrc/modsynchronization.cc
+ dcmiod/tests/tcielabutil.cc
+
+**** Changes from 2016.02.25 (riesmeier)
+
+- Fixed numerous typos etc. in module "dcmfg":
+ Fixed numerous typos and other minor issues like e.g. double semicolons,
+ missing or extra space characters. This affects both comments and strings
+ that are output to the logger. Of course, the latter are more important.
+ Affects: dcmfg/include/dcmtk/dcmfg/fg.h
+ dcmfg/include/dcmtk/dcmfg/fgbase.h
+ dcmfg/include/dcmtk/dcmfg/fgderimg.h
+ dcmfg/include/dcmtk/dcmfg/fgfracon.h
+ dcmfg/include/dcmtk/dcmfg/fgframevoilut.h
+ dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h
+ dcmfg/include/dcmtk/dcmfg/fginterface.h
+ dcmfg/include/dcmtk/dcmfg/fgpixmsr.h
+ dcmfg/include/dcmtk/dcmfg/fgplanor.h
+ dcmfg/include/dcmtk/dcmfg/fgplanorvol.h
+ dcmfg/include/dcmtk/dcmfg/fgplanpo.h
+ dcmfg/include/dcmtk/dcmfg/fgplanposvol.h
+ dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
+ dcmfg/include/dcmtk/dcmfg/fgseg.h
+ dcmfg/include/dcmtk/dcmfg/fgtypes.h
+ dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h
+ dcmfg/include/dcmtk/dcmfg/stack.h
+ dcmfg/libsrc/fg.cc
+ dcmfg/libsrc/fgbase.cc
+ dcmfg/libsrc/fgfact.cc
+ dcmfg/libsrc/fgfracon.cc
+ dcmfg/libsrc/fginterface.cc
+ dcmfg/libsrc/fgplanpo.cc
+ dcmfg/libsrc/fgtypes.cc
+ dcmfg/libsrc/fgusimagedescription.cc
+ dcmfg/libsrc/stackinterface.cc
+
+**** Changes from 2016.02.25 (onken)
+
+- Fixed NULL pointer dereference:
+ This memory leak has been detected by "cppcheck".
+ Thanks to Andrei Terechko <andrei@vectorfabrics.com> for the report.
+ Affects: dcmfg/libsrc/fgimagedatatype.cc
+
+**** Changes from 2016.02.24 (riesmeier)
+
+- Fixed possible issue in OFStandard helper function:
+ Fixed possible issue in OFStandard::removeRootDirFromPathname() that could
+ occur when passing a NULL pointer as the "rootDir" parameter, and thus
+ calling strncmp() or wcsncmp() with an invalid value. This is mainly a
+ theoretical scenario, since most implementations of these standard string
+ functions will not crash when a 0 length value is passed at the same time
+ (see test case "ofstd_OFStandard_removeRootDirFromPathname").
+ This possible issue has been found with Pareon Verify.
+ Thanks to Andrei Terechko <andrei@vectorfabrics.com> for the report.
+ Affects: ofstd/libsrc/ofstd.cc
+
+- Fixed memory leak in ASC_addPresentationContext():
+ Memory of presentation context data structure was not freed when empty
+ transfer syntax list was passed to ASC_addPresentationContext(). Also
+ removed an unused local variable and fixed various typos in comments.
+ This memory leak has been detected by "cppcheck".
+ Thanks to Andrei Terechko <andrei@vectorfabrics.com> for the report.
+ Affects: dcmnet/libsrc/assoc.cc
+
+**** Changes from 2016.02.22 (riesmeier)
+
+- Made use of definitions from "dcmsr/codes/ucum.h":
+ Made use of code and coding scheme definitions from the header file
+ "dcmsr/codes/ucum.h". Also removed coding scheme version ("1.4") since
+ it is not used any longer by DICOM PS 3.16 for UCUM codes.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/ucum.h
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/mkreport.cc
+
+- Added comment on mapping of code meanings:
+ Added comment on the mapping of code meanings to a compiler-friendly
+ representention, which is the reason why the SRT and UCUM coding schemes
+ are not yet complete (with regard to the definitions in DICOM PS 3.16).
+ Please note that the commit message for the previous commit (168662c)
+ was incorrect: not the UCUM but the UMLS codes definitions were updated.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h
+ dcmsr/include/dcmtk/dcmsr/codes/ucum.h
+
+- Updated "UCUM" codes for DICOM 2016a edition:
+ Updated Unified Code for Units of Measure (Coding Scheme "UCUM") code
+ definitions for the official 2016a edition of the DICOM standard. The
+ header file has been generated automatically from a machine-readable
+ version of DICOM PS 3.16.
+ There is now a total of 38 codes defined for this coding scheme.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/umls.h
+
+- Updated "NCIt" codes for DICOM 2016a edition:
+ Updated NCI Thesaurus (Coding Scheme "NCIt") for the official 2016a edition
+ of the DICOM standard. The header file has been generated automatically from
+ a machine-readable version of DICOM PS 3.16.
+ There is now a total of 12 codes defined for this coding scheme.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/ncit.h
+
+- Fixed source code formatting.
+ Affects: dcmsr/libsrc/dsrimgse.cc
+
+- Updated copyright header.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h
+ dcmsr/include/dcmtk/dcmsr/codes/ucum.h
+ dcmsr/include/dcmtk/dcmsr/dsrdncsr.h
+
+**** Changes from 2016.02.20 (riesmeier)
+
+- Updated "DCM" codes for DICOM 2016a edition:
+ Updated DICOM Controlled Terminology Definitions (Coding Scheme "DCM") for
+ the official 2016a edition of the DICOM standard. The header file has been
+ generated automatically from a machine-readable version of DICOM PS 3.16.
+ There is now a total of 3358 codes for this coding scheme (i.e. DICOM codes).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+
+- Updated context group classes for DICOM 2016a:
+ Updated automatically generated context group classes from the DICOM Content
+ Mapping Resource (DCMR) based on PS 3.16 from DICOM 2016a standard.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
+ dcmsr/libcmr/cid100.cc
+ dcmsr/libcmr/cid10013.cc
+ dcmsr/libcmr/cid10033.cc
+ dcmsr/libcmr/cid11.cc
+ dcmsr/libcmr/cid244.cc
+ dcmsr/libcmr/cid29.cc
+ dcmsr/libcmr/cid4020.cc
+ dcmsr/libcmr/cid4021.cc
+ dcmsr/libcmr/cid4031.cc
+ dcmsr/libcmr/cid42.cc
+ dcmsr/libcmr/cid6147.cc
+ dcmsr/libcmr/cid7021.cc
+ dcmsr/libcmr/cid7181.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+ dcmsr/libcmr/cid7464.cc
+ dcmsr/libcmr/cid7469.cc
+
+- Updated data dictionary for DICOM 2016a edition:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released on 2016-02-19. This includes the new tags from Supplement
+ 156, 181 and 184 as well as those from CP 1364, 1431, 1432, 1441, 1454,
+ 1457, 1458, 1460, 1461, 1478 (WC), 1487, 1496, 1499, 1504 and 1516. Please
+ note that some attributes changed their names and/or value multiplicity.
+ In addition, new and modified tags from ASTM's DICONDE (Digital Imaging and
+ Communication in Nondestructive Evaluation) standard have been incorporated.
+ The total number of entries in the DICOM data dictionary is now 4032.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+ dcmrt/libsrc/drtbvcps.cc
+
+**** Changes from 2016.02.18 (riesmeier)
+
+- Added three new Storage SOP Classes from DICOS:
+ Added three new Storage SOP Classes from DICOS (Digital Imaging and
+ Communications in Security) standard: 2D AIT, 3D AIT and Quadrupole
+ Resonance (QR). Actually, these SOP Classes were already introduced
+ to the DICOM standard back in 2013 but have been added to the DCMTK
+ just now. Further details on the underlying IODs are not known.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added missing Storage SOP Classes to manpage:
+ Added missing Storage SOP Classes that are actually supported by the SCP
+ (within the "movescu" tool). These SOP Classes were added during the
+ previous months to the global list stored in "dcmAllStorageSOPClassUIDs".
+ Affects: dcmnet/docs/movescu.man
+
+- Changed type of parameter to avoid warnings:
+ Changed type of parameter/variable from Uint32 to size_t in order to avoid
+ warnings reported by MSVC++ on Windows 64-bit systems.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/libsrc/dcbytstr.cc
+
+**** Changes from 2016.02.17 (riesmeier)
+
+- Updated Makefile dependencies for module "dcmsr".
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+
+- Fixed issue with shared library build (MSVC++):
+ Fixed issue with shared library build on Windows with Microsoft Visual C++.
+ Now, the CMake option BUILD_SHARED_LIBS works again on both Linux with gcc
+ and Windows with Visual C++, i.e. for ".so" and ".dll" files.
+ C++ templates with explicit specialization and shared library support are
+ really a nightmare, especially when the implementation of the C++ template
+ class is not completely contained in a header file.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+
+- Enhanced support for by-reference relationships:
+ Further enhanced support for by-reference relationships: Now, the position
+ string that is used to reference the target content item is also generated
+ correctly when the document tree contains included (i.e. non-expanded)
+ sub-templates. Also enhanced the existing test cases in order to check that
+ it really works.
+ Please pay attention to the new comment on updateByReferenceRelationships()
+ and to the optional parameter that allows for updating subtrees managed by
+ "included template" tree nodes.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/tsrtpl.cc
+
+- Further simplified DSRDocumentSubTree::print():
+ Further simplified implementation of DSRDocumentSubTree::print() by making
+ use of the new DSRIncludedTemplateNodeCursor class. Also added a new print
+ flag that disables the counting of "included template" nodes. This flag is
+ also passed to the tree node cursor class in order to correctly generate
+ the position string.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdncsr.cc
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Made more use of new "included template" cursor:
+ Made more use of the new DSRIncludedTemplateNodeCursor class (where
+ appropriate).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+
+- Added methods to get external cursor to root node:
+ Added two methods that allow for getting an (external) cursor to the root
+ node of the document tree, either an instance of DSRDocumentTreeNodeCursor
+ or an instance of the recently introduced DSRIncludedTemplateNodeCursor.
+ These cursors can be used to iterate over the nodes of the document tree
+ without changing the internal cursor.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+
+- Introduced new document tree node cursor:
+ Introduced new DSRIncludedTemplateNodeCursor class, which allows for
+ iterating "included template" tree nodes as if the subtree managed by
+ them was already expanded. This will make iteration over such document
+ trees much easier (but the implementation looks a bit more complex).
+ This new class is just a specialization of the existing, but now also
+ extended, C++ template class DSRTreeNodeCursor, which has received a
+ second template parameter for this purpose.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrdncsr.h
+ dcmsr/libsrc/dsrdncsr.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrdoctn.cc
+
+- Enhanced output of print() for invalid references:
+ Enhanced output of DSRByReferenceTreeNode::print() for unknown/invalid
+ references. Now, a question mark "?" is printed if the position string
+ of the referenced content item is empty.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/libsrc/dsrreftn.cc
+
+- Added optional flags to position counter:
+ Added support for optional flags parameter to class DSRPositionCounter.
+ This parameter can be used to customize the processing of the counter.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrposcn.h
+ dcmsr/libsrc/dsrposcn.cc
+
+- Added getCurrentNode() method to tree class:
+ Added getCurrentNode() method to document (sub)tree class. This new method
+ allows for accessing the current tree node by means of a (constant) pointer,
+ i.e. read-only. Also added a new test case for this particular method.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+- Enhanced check for invalid characters:
+ Now, the static function checkStringValue() - and all methods that use it -
+ check for invalid characters in the given value. Currently, this only works
+ for ASCII strings (default character repertoire) that contain non-ASCII
+ characters, i.e. character codes > 127.
+ This change requires that the Specific Character Set value is passed to the
+ respective function/method since the default is ASCII (as it was before).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcchrstr.cc
+ dcmdata/libsrc/dcerror.cc
+ dcmdata/libsrc/dcvrpn.cc
+ dcmdata/tests/tchval.cc
+ dcmiod/libsrc/iodrules.cc
+ dcmiod/libsrc/iodutil.cc
+ dcmrt/include/dcmtk/dcmrt/drttypes.h
+ dcmrt/libsrc/drttypes.cc
+ dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/tsrdoc.cc
+
+- Set ASCII as default Specific Character Set:
+ Now, the default value for the Specific Character Set is ASCII (empty
+ Defined Term) and not "invalid".
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/tsrdoc.cc
+
+- Passed character set value to checkStringValue():
+ Made sure that the current value of the Specific Character Set (0008,0005)
+ is passed to the calls of checkStringValue() where applicable. There are
+ still a few remaining calls where the placeholder "UNKNOWN" is used, which
+ disables the underlying VR checker.
+ Closes DCMTK Bug #565 (partially).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
+ dcmsr/libsrc/dsrcsidl.cc
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrsoprf.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoc.cc
+
+- Fixed issue in one of the SR constraint checkers:
+ Fixed issue in class DSRRadiopharmaceuticalRadiationDoseConstraintChecker:
+ for Row 5 of the Table, the "targetValueType" was checked for "VT_PName"
+ instead of the "sourceValueType".
+ Thanks to forum user "Luuk" for the report and suggested fix.
+ Affects: dcmsr/libsrc/dsrrrdcc.cc
+
+**** Changes from 2016.02.16 (schlamelcher)
+
+- Updated CHANGES.361 for new development snapshot.
+ Affects: docs/CHANGES.361
+
+- Updated DCMTK_ABI_VERSION for new development snapshot.
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/dcm2pdf.1
+ doxygen/manpages/man1/dcm2pnm.1
+ doxygen/manpages/man1/dcm2xml.1
+ doxygen/manpages/man1/dcmcjpeg.1
+ doxygen/manpages/man1/dcmcjpls.1
+ doxygen/manpages/man1/dcmconv.1
+ doxygen/manpages/man1/dcmcrle.1
+ doxygen/manpages/man1/dcmdjpeg.1
+ doxygen/manpages/man1/dcmdjpls.1
+ doxygen/manpages/man1/dcmdrle.1
+ doxygen/manpages/man1/dcmdspfn.1
+ doxygen/manpages/man1/dcmdump.1
+ doxygen/manpages/man1/dcmftest.1
+ doxygen/manpages/man1/dcmgpdir.1
+ doxygen/manpages/man1/dcmj2pnm.1
+ doxygen/manpages/man1/dcml2pnm.1
+ doxygen/manpages/man1/dcmmkcrv.1
+ doxygen/manpages/man1/dcmmkdir.1
+ doxygen/manpages/man1/dcmmklut.1
+ doxygen/manpages/man1/dcmodify.1
+ doxygen/manpages/man1/dcmp2pgm.1
+ doxygen/manpages/man1/dcmprscp.1
+ doxygen/manpages/man1/dcmprscu.1
+ doxygen/manpages/man1/dcmpschk.1
+ doxygen/manpages/man1/dcmpsmk.1
+ doxygen/manpages/man1/dcmpsprt.1
+ doxygen/manpages/man1/dcmpsrcv.1
+ doxygen/manpages/man1/dcmpssnd.1
+ doxygen/manpages/man1/dcmqridx.1
+ doxygen/manpages/man1/dcmqrscp.1
+ doxygen/manpages/man1/dcmqrti.1
+ doxygen/manpages/man1/dcmquant.1
+ doxygen/manpages/man1/dcmrecv.1
+ doxygen/manpages/man1/dcmscale.1
+ doxygen/manpages/man1/dcmsend.1
+ doxygen/manpages/man1/dcmsign.1
+ doxygen/manpages/man1/dcod2lum.1
+ doxygen/manpages/man1/dconvlum.1
+ doxygen/manpages/man1/drtdump.1
+ doxygen/manpages/man1/dsr2html.1
+ doxygen/manpages/man1/dsr2xml.1
+ doxygen/manpages/man1/dsrdump.1
+ doxygen/manpages/man1/dump2dcm.1
+ doxygen/manpages/man1/echoscu.1
+ doxygen/manpages/man1/findscu.1
+ doxygen/manpages/man1/getscu.1
+ doxygen/manpages/man1/img2dcm.1
+ doxygen/manpages/man1/movescu.1
+ doxygen/manpages/man1/pdf2dcm.1
+ doxygen/manpages/man1/storescp.1
+ doxygen/manpages/man1/storescu.1
+ doxygen/manpages/man1/termscu.1
+ doxygen/manpages/man1/wlmscpfs.1
+ doxygen/manpages/man1/xml2dcm.1
+ doxygen/manpages/man1/xml2dsr.1
+
+- Updated Makefile dependencies.
+ Affects: dcmiod/libsrc/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+
+**** Changes from 2016.02.15 (schlamelcher)
+
+- Added 'arith.h' to the list of installed files.
+ Affects: CMakeLists.txt
+ config/Makefile.in
+
+**** Changes from 2016.02.11 (riesmeier)
+
+- Updated documentation of setSpecificCharacterSet():
+ Updated API documentation of method setSpecificCharacterSet(), e.g. made
+ clear that multiple values are allowed and invalid values do not always
+ result in an error.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/dsrdoc.cc
+
+- Enhanced description of "charset" parameter:
+ Enhanced description of "charset" parameter of the static function
+ checkStringValue(). Explain that only ASCII and Latin-1 are checked.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcvrlo.h
+ dcmdata/include/dcmtk/dcmdata/dcvrlt.h
+ dcmdata/include/dcmtk/dcmdata/dcvrpn.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsh.h
+ dcmdata/include/dcmtk/dcmdata/dcvrst.h
+ dcmdata/include/dcmtk/dcmdata/dcvruc.h
+ dcmdata/include/dcmtk/dcmdata/dcvrut.h
+
+**** Changes from 2016.02.11 (onken)
+
+- Fixed use of checkStringValue():
+ For some VR classes (DcmLongText, DcmShortText, DcmUnlimitedText) the method
+ checkStringValue() expects the character set as the second parameter and not
+ the VM as it is the case for most other VR classes. The related calls in
+ dcmiod, dcmfg and dcmseg did not respect this deviating API, thus requiring
+ the given fix which disables the value checking.
+ Affects: dcmfg/include/dcmtk/dcmfg/fgderimg.h
+ dcmfg/include/dcmtk/dcmfg/fgfracon.h
+ dcmfg/libsrc/fgderimg.cc
+ dcmfg/libsrc/fgfracon.cc
+ dcmiod/include/dcmtk/dcmiod/iodmacro.h
+ dcmiod/include/dcmtk/dcmiod/modequipment.h
+ dcmiod/libsrc/iodmacro.cc
+ dcmiod/libsrc/modequipment.cc
+ dcmiod/libsrc/modgeneralimage.cc
+ dcmseg/include/dcmtk/dcmseg/segment.h
+ dcmseg/include/dcmtk/dcmseg/segtypes.h
+ dcmseg/libsrc/segtypes.cc
+
+- Added UID validity checking.
+ Affects: dcmseg/libsrc/segment.cc
+
+**** Changes from 2016.02.09 (riesmeier)
+
+- Added prefix "DCMTK_" to public macro:
+ Added prefix "DCMTK_" to public macro "EXPLICIT_SPECIALIZATION", which is
+ used for explicit template specialization. This name change should avoid
+ possible conflicts. Also moved the macro definition in the "dcmsr" module
+ to a header file and introduced protection against double definition.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dipxrept.h
+ dcmsr/include/dcmtk/dcmsr/dsdefine.h
+ dcmsr/libsrc/dsrimgfr.cc
+ dcmsr/libsrc/dsrimgse.cc
+ dcmsr/libsrc/dsrsc3gr.cc
+ dcmsr/libsrc/dsrscogr.cc
+ dcmsr/libsrc/dsrtcodt.cc
+ dcmsr/libsrc/dsrtcosp.cc
+ dcmsr/libsrc/dsrtcoto.cc
+ dcmsr/libsrc/dsrwavch.cc
+
+**** Changes from 2016.02.09 (eichelberg)
+
+- Fixed uninitialized struct in libcharls decoder:
+ Fixed unitialized struct in libcharls decoder that sometimes caused
+ the decoder to refuse correctly compressed bitstreams.
+ Thanks to Bruno Milutin <bmilutin@digithurst.de> for the bug report and fix.
+ Affects: dcmjpls/libcharls/header.cc
+
+**** Changes from 2016.02.08 (riesmeier)
+
+- Added comment on missing conditional attribute:
+ Added comment that the conditional attribute Pixel Origin Interpretation
+ (0048,0301) is not yet supported by the DSRSpatialCoordinatesValue class.
+ This attribute is required if the referenced SOP instance is a VL Whole
+ Slide Microscopy Image.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrscovl.h
+
+**** Changes from 2016.02.08 (onken)
+
+- Added support for Correction Proposal CP-1496:
+ Added Tracking ID and Tracking UID to Segmentation segments in order to allow
+ tracking of lesions or other observations over time. This change was introduced
+ in CP-1496.
+ Acknowledgement: This work has been supported by the "QIICR" project.
+ Affects: dcmseg/include/dcmtk/dcmseg/segment.h
+ dcmseg/libsrc/segment.cc
+
+**** Changes from 2016.02.08 (riesmeier)
+
+- Fixed warnings when compiled without libxml:
+ Fixed various warnings on unused variables when compiled without libxml.
+ These warnings were reported by gcc 4.8.4 with additional flag "-Wextra".
+ Affects: dcmdata/apps/dcmdump.cc
+ dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsrdump.cc
+ ofstd/libsrc/ofchrenc.cc
+
+**** Changes from 2016.02.07 (onken)
+
+- Fixed compiler warnings about unused parameters:
+ Fixed compiler warnings about unused method parameters by adding either dummy
+ uses, removing them from the parameter list (if possible, i.e. if not
+ overwriting a derived function) or adding the corresponding checks.
+ Also removed bonus functions which have still been marked as TODO.
+ Added: dcmseg/apps/CMakeLists.txt
+ Affects: dcmfg/include/dcmtk/dcmfg/fgfracon.h
+ dcmfg/include/dcmtk/dcmfg/fgframevoilut.h
+ dcmfg/include/dcmtk/dcmfg/fgpixmsr.h
+ dcmfg/include/dcmtk/dcmfg/fgplanposvol.h
+ dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
+ dcmfg/libsrc/fgfracon.cc
+ dcmfg/libsrc/fgframevoilut.cc
+ dcmfg/libsrc/fgimagedatatype.cc
+ dcmfg/libsrc/fgpixmsr.cc
+ dcmfg/libsrc/fgplanposvol.cc
+ dcmfg/libsrc/fgrealworldvaluemapping.cc
+ dcmfg/libsrc/fgusimagedescription.cc
+ dcmiod/include/dcmtk/dcmiod/modenhusimage.h
+ dcmiod/include/dcmtk/dcmiod/modgeneralseries.h
+ dcmiod/include/dcmtk/dcmiod/modimagepixel.h
+ dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h
+ dcmiod/include/dcmtk/dcmiod/modsynchronisation.h
+ dcmiod/libsrc/iodmacro.cc
+ dcmiod/libsrc/modenhusimage.cc
+ dcmiod/libsrc/modenhusseries.cc
+ dcmiod/libsrc/modgeneralseries.cc
+ dcmiod/libsrc/modimagepixel.cc
+ dcmiod/libsrc/modmultiframedimension.cc
+ dcmiod/libsrc/modsynchronization.cc
+ dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/libsrc/segdoc.cc
+
+- Add Referenced Performed Procedure Step Sequence.
+ Affects: dcmiod/include/dcmtk/dcmiod/modgeneralseries.h
+ dcmiod/libsrc/modgeneralseries.cc
+
+- Removed broken, unused, doublette method.
+ Affects: dcmnet/include/dcmtk/dcmnet/dccftsmp.h
+ dcmnet/libsrc/dccftsmp.cc
+
+- Allow access to Referenced PPS.
+ Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/libsrc/segdoc.cc
+
+- Use position parameter.
+ Affects: dcmseg/libsrc/segment.cc
+
+**** Changes from 2016.02.05 (riesmeier)
+
+- Fixed various warnings reported by "gcc -Wextra":
+ Fixed various warnings on unused variables reported by gcc 4.8.4 with
+ additional flag "-Wextra".
+ Affects: dcmnet/libsrc/dstorscu.cc
+ dcmnet/libsrc/scp.cc
+ dcmrt/include/dcmtk/dcmrt/drmimage.h
+ dcmrt/libsrc/drtmas.cc
+ ofstd/libsrc/ofcmdln.cc
+ ofstd/libsrc/offile.cc
+ ofstd/libsrc/ofuuid.cc
+ ofstd/libsrc/ofxml.cc
+
+- Restructured print() output of included templates:
+ Removed printTemplate() method from DSRIncludedTemplateTreeNode since it is
+ not needed any longer. Also fixed numbering of content items in included
+ subtree (now depends on certain print flag).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtpltn.cc
+
+- Overwrite isShort() in DSRIncludedTemplateTreeNode:
+ Overwrite isShort() method in class DSRIncludedTemplateTreeNode. Since the
+ base class DSRDocumentTreeNode always returns OFTrue, it makes sense to
+ check the content in the derived tree node class. Of course, rendering a
+ document tree with "included templates" is currently not supported, so the
+ isShort() method is probably never really used in this context.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrtpltn.cc
+
+- By default, convert wide char encoding to UTF-8:
+ Changed default value of parameter "convert" for both the constructor and
+ the set() method of the OFFilename class, which expects a "wchar_t *", from
+ "OFFalse" to "OFTrue". That means, a character string that is passed with
+ Windows UTF-16 encoding will be converted to UTF-8 (char *) encoding. This
+ change of the default behavior makes sense since e.g. the output of an
+ OFFilename instance to the logger always happens with UTF-8 encoding.
+ Affects: ofstd/include/dcmtk/ofstd/offile.h
+
+- Fixed documentation of convertToWideCharString():
+ Fixed documentation of parameter "toString" of convertToWideCharString():
+ the value of this result variable might only be NULL if memory is exhausted.
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+
+**** Changes from 2016.02.04 (riesmeier)
+
+- Changed print() output of included SR templates:
+ Slightly changed the output of the print() method for "included template"
+ tree nodes: The line indentation and output of the position counter is now
+ also shown for this "internal" node (and not only for the included subtree);
+ the position counter is increased by 1 as it is true for all other tree
+ nodes, which makes it easier and more consistent when determining the target
+ of by-reference relationships. However, there is still some work to do...
+ Also, the separate line for the included SR template (starting with the text
+ "# INCLUDE ...") is now printed by default. Therefore, the name of the print
+ flag changed from PF_printXXX to PF_hideXXX.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Further enhanced checkSubTreeConstraints():
+ Added initial support for "included templates" to checkSubTreeConstraints().
+ At least, subtrees with included SR templates are not rejected any longer.
+ However, since no further checks are performed, a message is reported to the
+ trace logger.
+ Also added a new test case in order to check whether "included templates" are
+ really accepted when inserting a sub-template into a root template (with an
+ appropriate IOD constraint checker enabled).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtpl.cc
+
+- Improved check for valid reference to SR template:
+ Improved check for a valid reference (shared pointer) to the included SR
+ template that is managed by this document tree node class.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libsrc/dsrtpltn.cc
+
+- Enhanced documentation of constructor:
+ Added a comment to the constructor that the template identification is also
+ set if available from the referenced SR template.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+
+- Made all canXXX() methods constant:
+ Made methods canAddContentItem(), canAddByReferenceRelationship() and
+ canInsertSubTree() constant since they do not modify the object.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+
+**** Changes from 2016.02.03 (riesmeier)
+
+- Minor fixes to module page of "dcmsr".
+ Affects: dcmsr/docs/dcmsr.dox
+
+**** Changes from 2016.02.02 (riesmeier)
+
+- Use addContentItem() for by-value relations only:
+ Made clear that addContentItem() should be used for by-value relationships
+ only. This is now also checked and a new test case makes sure that it works.
+ Furthermore, do not accept the internal value type VT_includedTemplate for
+ this method. All this is checked by the helper method canAddContentItem().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+- Reintroduced further methods from base class:
+ Added various hasXXX() methods and countChildNodes() from the base classes
+ to the derived template classes. All these methods are "constant", i.e. they
+ do not change the object.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+
+**** Changes from 2016.02.01 (riesmeier)
+
+- Enhanced support for by-reference relationships:
+ Further enhanced support for by-reference relationships, e.g. by restoring
+ these type of relationships on a clone of the document (sub)tree. Also report
+ details to the debug logger if adding a by-reference relationship fails (for
+ some reason). Finally, added an initial version of a new test case that should
+ make sure that by-reference relationships work with "included templates".
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtpl.cc
+
+- Added more iterator methods to template classes:
+ Added more of the iterator methods from the base classes to the derived
+ template classes, e.g. gotoRoot(), gotoChild(), gotoNext() or iterate().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+
+- Declared getParentNode() method "const":
+ Now that OFStack::top() exists in a "const" version, there is not reason
+ anymore not to declare the getParentNode() method "const". So just do it.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+
+- Added "const" version of OFStack::top():
+ Added "const" version of top() method to OFStack class as it is defined
+ for the standard (STL) class std::stack. Also fixed various documentation
+ related issues.
+ Affects: ofstd/include/dcmtk/ofstd/ofstack.h
+
+- Removed unneeded type definitions for Windows:
+ Removed unneeded type definitions introduced for calling functions from the
+ "SNMP Utility Library" (snmpapi.dll) on the Windows operating system.
+ Affects: dcmdata/libsrc/dcuid.cc
+
+- Fixed issue with getMACAddress() on Windows 8++:
+ Fixed issue with getMACAddress() on some Windows 8 (and newer) systems.
+ Removed unneeded call to SnmpExtensionQuery() that caused a crash on such
+ systems.
+ Thanks to forum user "andreasb" for the report and suggested fix, and to
+ forum user "Rich in Soquel" for confirming that this fix also solves an
+ issue on Windows 10.
+ Closes DCMTK Bug #594 (hopefully)
+ Affects: dcmdata/libsrc/dcuid.cc
+
+**** Changes from 2016.01.30 (riesmeier)
+
+- Extracted expandIncludedTemplates() method:
+ Extracted code from createExpandedSubTree() for the new protected method
+ expandIncludedTemplates(). This new method might be used in the future for
+ expanding the current (sub)tree, i.e. without creating a new one.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+
+- Never accept by-reference relations to templates:
+ Never accept by-reference relationships to internal "included template"
+ content items. This check might be useful for future SR templates that
+ are implemented as part of the "dcmsr/cmr" submodule.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+
+**** Changes from 2016.01.29 (riesmeier)
+
+- Overwrite print() method in document tree class:
+ Overwrite print() method from base class (DSRDocumentSubTree) in document
+ tree class in order to hide additional parameter(s) on the main API level.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdoctr.cc
+
+- Further enhanced support for included templates:
+ Enhanced support for included (non-expanded) templates in print() method of
+ document (sub)tree class. Now, the position counter of nested content items
+ also works correctly for these "virtual" content items (i.e. with included
+ subtrees). Also the complexity of the print() method code could be reduced.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtpltn.cc
+
+- Extracted position counter from cursor class:
+ Extracted a new DSRPositionCounter class from the existing DSRTreeNodeCursor
+ class. This will allow for enhancing the print() method of the document (sub)
+ tree class, especially with regard to the support of included templates.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrposcn.h
+ dcmsr/libsrc/dsrposcn.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/tests/Makefile.dep
+
+- Declared some very simple methods "inline".
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+
+- Use consistent spelling of the word "data set":
+ Made sure that the spelling of the word "data set" is consistent (i.e. not
+ "dataset") at least for the log messages of the main DICOM parser classes.
+ Also fixed typos if encountered.
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+
+- Added a warning on invalid attribute tags:
+ Added a warning message on invalid DICOM elements in a dataset or item,
+ i.e. elements with an attribute tag of the group 0x0000 to 0x0003, 0x0005,
+ 0x0007 or 0xFFFF. Now, for both file meta information header and dataset
+ a warning is reported.
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the original
+ reports and a sample DICOM file.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2016.01.27 (riesmeier)
+
+- Fixed issue with addPersonObserver() in TID 1001:
+ Fixed issue when calling addPersonObserver() in TID1001_ObservationContext
+ for the first time _after_ addDeviceObserver() has already been called.
+ According to the SR template specification, the person observers always have
+ to be stored at the beginning of the subtree of the SR template, i.e. the
+ root node changes in such a case. Modified the test case accordingly.
+ Also see previous commit that fixes an issue on the basic tree class.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libcmr/tid1001.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Fixed issue in addNode() of basic tree class:
+ Fixed issue in addNode() method of basic tree class, which occurred when
+ adding a node or subtree before the root node of the current tree. Added
+ new test case in order to make sure that this never happens again.
+ This issue has been found when adding a "Device Observer" before a "Person
+ Observer" in TID 1001 (Observation Context). Also see next commit.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtree.cc
+
+- Added another test for invalid unique identifiers.
+ Affects: dcmdata/tests/tchval.cc
+
+**** Changes from 2016.01.26 (riesmeier)
+
+- Updated Makefile dependencies.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmfg/libsrc/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmiod/libsrc/Makefile.dep
+ dcmiod/tests/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/tests/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmrt/apps/Makefile.dep
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/tests/Makefile.dep
+ dcmseg/libsrc/Makefile.dep
+ dcmseg/tests/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+
+- Further enhanced example on included templates:
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/docs/dcmsr.dox
+
+- Added more header files to Doxygen documentation:
+ Added header files with global definitions (in this case, transfer syntaxes
+ and value representations) to the list of files that are processed by Doxygen.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/include/dcmtk/dcmdata/dcxfer.h
+
+- Added new output flag for writeXML():
+ Added new output flag XF_addCommentsForIncludedTemplate for writeXML(), which
+ allows for identifying the beginning and the end of included (non-expanded)
+ templates by means of corresponding XML comments. This might be useful for
+ debugging purposes.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtpltn.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added support for new Media Application Profiles:
+ Added support for new Media Storage Application Profiles that were
+ introduced with Supplement 180 (MPEG-4 AVC/H.264 Transfer Syntax):
+ General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP@Level4.2
+ for 2D video, for 3D video and stereo (STD-GEN-BD-MPEG4-HPLV42-2D,
+ STD-GEN-BD-MPEG4-HPLV42-3D, STD-GEN-BD-MPEG4-SHPLV42).
+ Closes DCMTK Conformance #641 and #643.
+ Affects: dcmdata/apps/dcmgpdir.cc
+ dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmjpeg/docs/dcmmkdir.man
+
+- Added support for Direcory Record Type "TRACT":
+ Added support for new Directory Record Type "TRACT", which has been
+ introduced with Supplement 181 (Tractography Results Storage SOP Class).
+ Closes DCMTK Conformance #664.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcdirrec.cc
+
+- Fixed copying of tracking information (TID 1411):
+ Fixed copying of tracking information from a referenced segmentation object:
+ According to CP-1496 the Tracking ID and Tracking UID are stored in an item
+ in the Segment Sequence, so further code is needed to find the appropriate
+ item. Also adapted the test case accordingly.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h
+ dcmsr/libcmr/tid1411.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added new variant of setRealWorldValueMap():
+ Added new variant of adding/setting a real world value map to the template
+ (TID 1411 - Row 14). SOP Class UID and SOP Instance UID are copied from a
+ given DICOM dataset (similar to setReferencedSegment() which has been added
+ by the previous commit).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h
+ dcmsr/libcmr/tid1411.cc
+ dcmsr/tests/tsrcmr.cc
+
+**** Changes from 2016.01.25 (riesmeier)
+
+- Added new variant of setReferencedSegment():
+ Added new variant of adding/setting a referenced segment to the template
+ (TID 1411 - Row 7). According to CP-1494 the Tracking ID and Tracking UID
+ should be consistent with the corresponding element values of the referenced
+ DICOM dataset (if present).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h
+ dcmsr/libcmr/tid1411.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Fixed references to DICOM Correct Items (CP-xxx).
+ Affects: dcmsr/libcmr/tid1600.cc
+ dcmsr/libsrc/dsrbascc.cc
+ dcmsr/libsrc/dsrcomcc.cc
+ dcmsr/libsrc/dsrenhcc.cc
+ dcmsr/libsrc/dsrxrdcc.cc
+ dcmsr/tests/mkreport.cc
+
+- Added support for "Station AE Title" to TID 1004:
+ Added support for new optional content item "Station AE Title" to TID 1004
+ (Device Observer Identifying Attributes). Also added required code definition
+ to "DCM" coding scheme. These changes were introduced with CP-1516.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
+ dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+ dcmsr/libcmr/tid1001.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added support for recently approved CPs:
+ Added support for CP-1460, CP-1496, CP-1499, CP-1504 and CP-1516 to the
+ data dictionary. These CPs were approved during last weeks WG-06 meeting.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Changed handling of "Qualitative Evaluations":
+ Slightly changed handling of "Qualitative Evaluations" (TID 1500 - Row 12
+ to 14). Previously, the CONTAINER in Row 12 was always created. Now, it is
+ only added if qualitative evaluations are present. This change follows the
+ clarification made in the upcoming CP-1579.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added comments on what's "to be done" (tbd).
+ Affects: dcmsr/libsrc/dsrdocst.cc
+
+- Added new method getSOPClassName():
+ Added new convenience method getSOPClassName() that allows for retrieving
+ the name that is associated with the SOP class UID (if any).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrsoprf.cc
+
+- Added example for using SR templates:
+ Added simple example (based on TID 1500) that shows how to use SR templates.
+ Also revised the first example in order to demonstrate some enhancements
+ that were made on the DICOM SR API during the last couple of months.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/docs/dcmsr.dox
+
+- Added support of TID 1411 to TID 1500:
+ Added support of TID 1411 (Volumetric ROI Measurements) and included
+ templates to TID 1500 (Measurement Report). Now, the implementation of
+ class TID1500_MeasurementReport is complete in terms of what is required
+ by the DICOM standard and what is needed for QIICR's "Measurements SR"
+ converter. Also completed corresponding test case for TID 1500.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tsrcmr.cc
+
+- Added support for TID 1411 and included templates:
+ Added initial support for TID 1411 (Volumetric ROI Measurements) and
+ included templates TID 1502 and TID 1419. This is the first generic SR
+ template that has been implemented for this toolkit, i.e. it has SR
+ template parameters that are directly mapped to C++ template types.
+ Current support for TID 1411 is focussed on the use within TID 1500
+ (Measurement Report), which will be added by the next commit.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h
+ dcmsr/libcmr/tid1411.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+
+- Changed default value of "expandTree" parameter:
+ The default value of the "expandTree" parameter of the
+ DSRDocument::setTreeFromRootTemplate() method changed from OFFalse to OFTrue.
+ This is because some output methods like write() or renderHTML() do not yet
+ work on document trees that contain "included template" nodes.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/tests/tsrtpl.cc
+
+- Added method that returns the position counter:
+ Added method that returns the value of the position counter on the current
+ level, i.e. 1 for the first child, 2 for the second child, and so on.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+
+- Slightly changed name of some UCUM codes:
+ The name of some UCUM (Unified Code for Units of Measure) code definitions
+ changed due to a slighly revised algorithm that generates these names
+ automatically from the official code meaning (see DICOM PS 3.16). Some code
+ names (like e.g. for "cm" or "s") now start with a lower case letter, which
+ is more intuitive.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/include/dcmtk/dcmsr/codes/ucum.h
+ dcmsr/libcmr/tid1600.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added further SRT codes needed for QIICR:
+ Added further SNOMED-RT (RT) codes that are needed for the "Measurements SR"
+ converter of the QIICR (Quantitative Image Informatics for Cancer Research)
+ project.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h
+
+**** Changes from 2016.01.22 (riesmeier)
+
+- Removed renderHTML() function from subtree class:
+ Removed renderHTML() functionality from subtree and SR template classes
+ since rendering parts of an SR document in HTML format doesn't make much
+ sense. Also rendering document trees that contain included (non-expanded)
+ templates isn't supported yet. This might change in the future.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+
+- Removed write() functionality from subtree class:
+ Removed write() functionality from subtree and SR template classes since
+ writing valid DICOM SR objects does not work (yet) on this level. Also
+ writing of document trees that contain included (non-expanded) templates
+ isn't supported yet. This might change in the future.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrtpltn.cc
+
+**** Changes from 2016.01.22 (onken)
+
+- Renamed method name for consistency.
+ Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h
+ dcmiod/libsrc/cielabutil.cc
+ dcmiod/tests/tcielabutil.cc
+
+**** Changes from 2016.01.22 (riesmeier)
+
+- Minor fixes to API documentation.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+
+- Moved renderHTML() to DSRDocumentSubTree:
+ Moved second variant of the renderHTML() method, i.e. the one with less
+ parameters, from class DSRDocumentTree to DSRDocumentSubTree. By doing so,
+ the same method call can be used for both root and non-root templates.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+
+- Added check for included templates to renderHTML():
+ Added check for included (non-expanded) templates to renderHTML() method.
+ In such a case, a new error code SR_EC_CannotProcessIncludedTemplates is
+ returned. Rendering these kind of documents is something that might be
+ supported in the future.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtpltn.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Fixed issue with renderHTML() for document subtree:
+ Fixed an issue when using renderHTML() for a document subtree that does not
+ have a single root node, e.g. for a sub-template like TID 1001 (Observation
+ Context).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libsrc/dsrdocst.cc
+
+- Fixed wrong output of node ID in print():
+ Fixed wrong output of node ID for "included templates" in print() method.
+ Affects: dcmsr/libsrc/dsrdocst.cc
+
+- Fixed issue with writeXML() for document subtree:
+ Fixed an issue when using writeXML() for a document subtree that does not
+ have a single root node, e.g. for an included sub-template like TID 1001
+ (Observation Context).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libsrc/dsrdocst.cc
+
+- Used hasTemplateIdentification() method more often.
+ Affects: dcmsr/libsrc/dsrdoctn.cc
+
+**** Changes from 2016.01.21 (riesmeier)
+
+- Fixed minor issues with Doxygen documentation:
+ Also fixed some typos and made source code formatting more consistent.
+ Affects: dcmdata/apps/mdfdsman.h
+ dcmdata/include/dcmtk/dcmdata/dcmetinf.h
+ dcmdata/include/dcmtk/dcmdata/dcvrulup.h
+ dcmnet/include/dcmtk/dcmnet/dccftsmp.h
+ ofstd/include/dcmtk/ofstd/ofcmdln.h
+ ofstd/include/dcmtk/ofstd/oftempf.h
+
+- Added isComplete() to composite reference class:
+ Added new method isComplete() to DSRCompositeReferenceValue, which checks
+ whether the mandatory components are present (non-empty). This is a more
+ basic check than isValid(). However, it is not the counterpart of isEmpty().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/libsrc/dsrcomvl.cc
+
+- Added support for new UID from Supplement 181:
+ Added support for new Storage SOP Class UID from Supplement 181
+ (Tractography Results Storage SOP Class).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added test for recently introduced VR "Other Long".
+ Added: dcmdata/tests/tvrol.cc
+ Affects: dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+- Added support for Supplement 181 to dictionary:
+ Added support for the final text version of Supplement 181 (Tractography
+ Results Storage SOP Class) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Added helper function putAndInsertUint32Array():
+ Added helper function putAndInsertUint32Array() that can be used for both
+ Unsigned Long (UL) and Other Long (OL) elements.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/dcitem.cc
+
+- Added support for new value representation "OL":
+ Added support for new value representation "Other Long" (OL) that has been
+ introduced only recently with Supplement 181 (Tractography Results Storage
+ SOP Class).
+ Closes DCMTK Conformance #664 (partially).
+ Added: dcmdata/include/dcmtk/dcmdata/dcvrol.h
+ dcmdata/libsrc/dcvrol.cc
+ Affects: dcmdata/apps/dump2dcm.cc
+ dcmdata/docs/dump2dcm.man
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dctk.h
+ dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/include/dcmtk/dcmdata/dcvrul.h
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/Makefile.in
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcvr.cc
+ dcmdata/libsrc/dcvrul.cc
+ dcmdata/tests/telemlen.cc
+ dcmdata/tests/tests.cc
+
+- Made use of isAffectedBySpecificCharacterSet():
+ Use isAffectedBySpecificCharacterSet() instead of checking the VRs that
+ are affected by the specific character set manually. This should make sure
+ that new VRs are not forgotten (like in this case "UC").
+ Affects: dcmdata/apps/xml2dcm.cc
+
+- Changed name of dcmEnableXXX global variables:
+ Changed name of global variable dcmEnableOtherFloatStringVRGeneration and
+ dcmEnableOtherDoubleStringVRGeneration: removed the term "String" from the
+ names. This change should be harmless since most people will probably use
+ the global function dcmEnable/DisableGenerationOfNewVRs() - if at all.
+ Also see commit 280638e.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libsrc/dcvr.cc
+
+- Removed unneeded includes and fixed comments.
+ Affects: dcmdata/libsrc/dcvrfl.cc
+ dcmdata/libsrc/dcvrod.cc
+ dcmdata/libsrc/dcvrof.cc
+
+- Fixed wrong use of getVM() in print() method:
+ Since the derived class DcmOtherDouble always has a value multiplicity of 1
+ getVM() cannot be used to determine the number of values stored. So, use
+ the length field instead (as in other similar cases).
+ Affects: dcmdata/libsrc/dcvrfd.cc
+
+**** Changes from 2016.01.21 (onken)
+
+- FormatMessage() instead of hand-crafted switch():
+ Use FormatMessage() in order to get an error code description instead of
+ enumerating all string values in a switch() statement. Made Unix strerror()
+ call thread-safe by using OFStandard version. Fixed typo.
+ Affects: dcmnet/libsrc/diutil.cc
+
+**** Changes from 2016.01.20 (riesmeier)
+
+- Enhanced API documentation:
+ Slightly enhanced API documentation on class DSRTreeNodeCursor.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+
+- Removed empty source file for DSRTreeNodeCursor:
+ Removed empty source file for the DSRTreeNodeCursor class. The
+ implementation of the template class has been moved to the header file
+ with commit 6171318. Some linkers complained about the empty file.
+ Removed: dcmsr/libsrc/dsrtncsr.cc
+ Affects: dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+
+- Moved some print() code from node to tree class:
+ Moved some code from the print() method of the DSRIncludedTemplateTreeNode
+ class to the print() method of the DSRDocumentSubTree class.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtpltn.cc
+
+- Added method to compare template identification:
+ Added method to the document subtree, tree node and SR template classes that
+ allows for an easier comparison of the template identification.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/libsrc/dsrctpl.cc
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/tests/tsrcmr.cc
+ dcmsr/tests/tsrtpl.cc
+
+- Added further SRT codes needed for TID 1500:
+ Added further SNOMED-RT codes that are needed for TID 1500 (Measurement
+ Report) and included sub-templates.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h
+
+- Modified readable name of internal types:
+ Slightly changed readable name of internal relationship type RT_isRoot and
+ internal value type VT_includedTemplate. This might be useful for debugging
+ purposes.
+ Affects: dcmsr/libsrc/dsrtypes.cc
+
+- Fixed issue with definition of E_ValueType:
+ When the new (internal) value type VT_includedTemplate was introduced,
+ the indicator for the last entry in the enum (VT_last) has not been
+ updated. This impacted the various valueTypeToXXX() helper functions.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+
+**** Changes from 2016.01.20 (onken)
+
+- Removed accidentially checked-in test code.
+ Affects: dcmnet/apps/dcmrecv.cc
+
+- Better logging of select() on network:
+ When waiting for network data using select() it has not been distinguishable
+ whether a regular timeout occurred or if another error (such as an interrupt)
+ interrupted the call. Now, debug output is written in order to make it easier
+ to see what exactly happened (especially in case of errors).
+ Thanks to forum user michael12345 for the report.
+ Affects: dcmnet/apps/dcmrecv.cc
+ dcmnet/include/dcmtk/dcmnet/diutil.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/dcmtrans.cc
+ dcmnet/libsrc/diutil.cc
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulextra.cc
+ dcmnet/libsrc/dulfsm.cc
+ dcmpstat/tests/msgserv.cc
+ dcmtls/libsrc/tlstrans.cc
+
+**** Changes from 2016.01.19 (riesmeier)
+
+- Do no treat empty included template as error:
+ Made sure that an empty included template is not treated as an error in the
+ various output methods like writeXML() or renderHTML(). Instead, EC_Normal
+ is returned (see API documentation).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrtpltn.cc
+
+- Output numeric value qualifier in print():
+ Added output of optional numeric value qualifier in print() method if the
+ numeric measurement value is empty.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libsrc/dsrnumvl.cc
+
+**** Changes from 2016.01.19 (onken)
+
+- Avoid warning if size_t mismatches unsigned long.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h
+
+- Avoid warning when initialzing srand():
+ Some systems report a warning when using time_t to initialize srand().
+ A cast was added which should be safe since we are not interested into
+ the exact number time() returns but in a "random" initialization value.
+ Affects: dcmiod/tests/tcielabutil.cc
+
+- Fixed #define for including time.h.
+ Affects: dcmiod/tests/tcielabutil.cc
+
+**** Changes from 2016.01.19 (riesmeier)
+
+- Enhanced error checking of writeXML() method:
+ Enhanced error checking of writeXML() method, i.e. made sure that errors
+ caused by nested elements are actually reported to the caller. This also
+ required a minor change in the "dcm2xml" command line tool.
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcmetinf.cc
+ dcmdata/libsrc/dcsequen.cc
+
+- Used more specific conditions than EC_IllegalCall:
+ Used more specific condition codes than EC_IllegalCall when there is an
+ issue with the character set options or the character set encoding of the
+ DICOM dataset.
+ Affects: dcmdata/apps/dcm2xml.cc
+
+**** Changes from 2016.01.18 (onken)
+
+- Added missing shared library export macro.
+ Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h
+
+**** Changes from 2016.01.18 (riesmeier)
+
+- Added class CMR_SRNumericMeasurementValueWithUnits:
+ Introduced derived template class CMR_SRNumericMeasurementValueWithUnits
+ that allows for checking the measurement unit based on a given context group
+ (baseline or defined group). Also added new test cases for this purpose.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/srnumvlu.h
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Defined short names for CID and TID classes:
+ Defined short names for context group (CID) and template (TID) classes
+ as an alternative to the existing long names. The nomenclature of these
+ type definitions is: CMR_CIDnnn (with "nnn" being the numeric identifier
+ of the context group) or CMR_TIDnnn (with "nnn" being the numeric ID of
+ the SR template), respectively.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/tests/tsrcmr.cc
+
+**** Changes from 2016.01.18 (onken)
+
+- Utilities for conversion between CIELab and RGB.
+ Added: dcmiod/include/dcmtk/dcmiod/cielabutil.h
+ dcmiod/libsrc/cielabutil.cc
+ dcmiod/tests/CMakeLists.txt
+ dcmiod/tests/Makefile.dep
+ dcmiod/tests/tcielabutil.cc
+ dcmiod/tests/tests.cc
+ Affects: COPYRIGHT
+ dcmiod/CMakeLists.txt
+ dcmiod/Makefile.in
+ dcmiod/libsrc/CMakeLists.txt
+ dcmiod/libsrc/Makefile.dep
+ dcmiod/libsrc/Makefile.in
+ dcmiod/tests/Makefile.in
+
+**** Changes from 2016.01.15 (riesmeier)
+
+- Overwrite setValue() methods from base class:
+ Added setValue() methods that expect a CID42_NumericValueQualifier instance
+ for the "valueQualifier" parameter instead of a simple DSRCodedEntryValue.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
+ dcmsr/libcmr/srnumvl.cc
+
+- Avoid output of pixel items in Native DICOM Model:
+ Added check for Native DICOM Model in writeXML() method of class DcmPixelItem
+ and return an error since output in this format is not supported.
+ Affects: dcmdata/libsrc/dcpxitem.cc
+
+**** Changes from 2016.01.14 (riesmeier)
+
+- Fixed memory leak reported by valgrind:
+ Fixed memory leak ("still reachable blocks" at program exit) that was reported
+ by valgrind in CMR_ContentMappingResource::cleanupAllContextGroups(). Instead
+ of cleanup() the initialize() function was called for the CID 7469 class.
+ Affects: dcmsr/libcmr/init.cc
+
+- Used CMR_SRNumericMeasurementValue more often:
+ Replaced type of numeric value parameters in public API from class
+ DSRNumericMeasurementValue by derived class CMR_SRNumericMeasurementValue
+ which provides additional checks, e.g. on the code used for the optional
+ value qualifier (CID 42).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/tid1600.cc
+ dcmsr/tests/Makefile.dep
+
+- Enhanced class CMR_SRNumericMeasurementValue:
+ Enhanced implementation of derived class CMR_SRNumericMeasurementValue:
+ added further constructor for "value qualifier" and copy constructor for
+ DSRNumericMeasurementValue, changed parameters of setNumericValueQualifier()
+ and added new tests.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
+ dcmsr/libcmr/srnumvl.cc
+ dcmsr/tests/tsrcmr.cc
+
+**** Changes from 2016.01.13 (riesmeier)
+
+- Added support for recently added Context Groups:
+ Added support for recently added Context Group CID 6147, 7181, 7464 and 7469.
+ These groups were still missing in the global initialize/cleanup() methods.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/init.cc
+
+- Added more header files to Doxygen documentation:
+ Added header files with global definitions (in this case, error constants)
+ to the list of files that are processed by Doxygen.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+
+- Made sure file is processed by Doxygen:
+ Made sure that the header file is processed by Doxygen since it contains
+ some interesting (and also documented) global variables/settings. Fixed
+ a couple of typos and other minor issues related to the documentation.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcobject.h
+
+- Replaced call of isValid() by isComplete():
+ Replaced call of DSRCodedEntryValue::isValid() by the recently introduced
+ isComplete() method where appropriate. Also fixed a couple of wrong calls of
+ addChildContentItem() instead of addContentItem(), which makes no difference
+ for an empty document tree anyway.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libcmr/tid1500.cc
+ dcmsr/libcmr/tid1600.cc
+
+- Always pass "check" parameter to addContentItem().
+ Affects: dcmsr/libcmr/tid1001.cc
+ dcmsr/libcmr/tid1204.cc
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/libcmr/tid1600.cc
+
+- Flag for default creation of empty image library:
+ Added optional flag to the constructor that allows for disabling the default
+ creation of an empty image library. This approach is now consistent with the
+ upcoming class for TID 1411 (Volumetric ROI Measurements).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/libcmr/tid1600.cc
+
+- Allowed read-only access to frame/segment list:
+ Added const variants of getFrame/SegmentList(), e.g. in order to check the
+ number of items stored in the list.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+
+- Enhanced check on Segmentation objects:
+ Enhanced check on DICOM Segmentation objects that are referenced by an
+ instance of DSRImageReferenceValue. On the one hand, the list of known
+ Storage SOP Classes has been updated for the latest edition of the
+ DICOM standard (2015c); the Surface Segmentation object was missing.
+ On the other hand, the list of referenced segment numbers is only allowed
+ for Segmentation objects, which is now also checked.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/libsrc/dsrimgvl.cc
+
+- Added further constructor and setValue() method:
+ Added another constructor and setValue() method which accept a coded entry
+ representing the numeric value qualifier, i.e. the reason why the numeric
+ value and measurement unit are absent.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/tests/tsrnumvl.cc
+
+- Added method isComplete() to numeric value class:
+ Added new method isComplete() to DSRNumericMeasurementValue, which checks
+ whether the mandatory components are present (and complete). This is a much
+ more basic check than isValid() provides. However, it is not the counterpart
+ of isEmpty().
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/tests/tsrnumvl.cc
+
+- Checked standard for defined Waveform objects:
+ Checked current edition of the DICOM standard (2015c) for the list of
+ defined Waveform objects and updated the documentation accordingly.
+ Since the last check (DICOM 2014a), no new SOP Classes were added.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
+ dcmsr/libsrc/dsrwavvl.cc
+
+- Minor fixes to API documentation.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+
+- Harmonized log output of DICOM attribute names:
+ Don't mix keywords (CamelCase) with attribute names anymore. Always use the
+ official attribute names in log messages, i.e. with space characters. Of
+ course, this only applies to manually written messages. In case the name
+ is derived automatically from the attribute tag, the official keyword from
+ the DICOM data dictionary (PS 3.6) is used.
+ Affects: dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrcsidl.cc
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrsc3vl.cc
+ dcmsr/libsrc/dsrscovl.cc
+ dcmsr/libsrc/dsrtcovl.cc
+
+- Added initial version of NCIt code definitions:
+ Added initial version of the NCI Thesaurus (Coding Scheme "NCIt") code
+ definitions as used/defined by the DICOM standard.
+ The code definitions are generated semi-automatically from the machine-readable
+ DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That
+ means that the definitions will be updated from time to time as the standard
+ evolves. However, please be warned that the names of the constants/defines
+ might change in the future (hopefully, there will be official keywords in the
+ standard like they are for the DICOM attribute tags in PS 3.6).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/codes/ncit.h
+
+**** Changes from 2016.01.12 (riesmeier)
+
+- Allowed public access to referenced template:
+ Allowed public access (get and set method) to the referenced template that
+ is managed by the class DSRIncludedTemplateTreeNode. That way, there is no
+ need any more for the inelegant "friend" declaration. Also the API is now
+ more consistent with other "node" classes, even though this class is used
+ only for internal purposes.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtpltn.cc
+
+- Fixed minor issues when using C++11 STL:
+ Fixed minor issues when compiling with gcc 4.8.4 and C++11 STL enabled.
+ In C++11 mode, some implicit type conversions do not seem to work, so
+ make them more explicit.
+ Affects: dcmsr/libsrc/dsrtpltn.cc
+ dcmsr/tests/tsrtpl.cc
+
+**** Changes from 2016.01.11 (onken)
+
+- Fixed DCMTK C++11 STL-enabled build:
+ Missing include led to failures since std::cout could not be found any more.
+ Affects: ofstd/libsrc/ofmath.cc
+
+**** Changes from 2016.01.11 (riesmeier)
+
+- Fixed another issue with createExpandedSubTree():
+ When an empty "included template" content item was processed, i.e. removed
+ from the resulting document tree, the next content item was skipped by
+ mistake. This was detected when enhancing a test case for the upcoming
+ support of TID 1411 (which is included in TID 1500 - Row 8).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libsrc/dsrdocst.cc
+
+- Avoid checking the pointer returned by getNode():
+ Avoid checking the pointer returned by getNode() method if it is clear that
+ it cannot be NULL, e.g. because the internal cursor has already been checked
+ for validity or a previous call of an iteration method returned a non-zero
+ value.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/tests/tsrtree.cc
+
+- Enhanced derived implementation of countNodes():
+ Enhanced implementation of countNodes() in derived document tree classes by
+ providing two optional flags that allow for specifying how to count
+ and process "included templates", e.g. whether the content of included (but
+ not expanded) sub-templates is counted like a normal subtree with all of its
+ nodes.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+
+- Added new method isCursorValid():
+ Added method that checks whether the internal cursor of a document tree,
+ which points to the current content item, is valid. This new method is also
+ available to the derived SR template classes.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/libsrc/dsrdocst.cc
+
+**** Changes from 2016.01.10 (onken)
+
+- Fixed typo in error message.
+ Affects: dcmfg/libsrc/fginterface.cc
+
+- Fixed bug when packaging binary segmentations:
+ Segmentations bits are filled into the byte from right to left, i.e. starting
+ from the least significant bit of the first byte to the most significant bit
+ of the last byte in the Pixel Data element. The old implementation filled the
+ bytes in the correct order, however, the bits have been filled in from the
+ wrong order. This was discovered since another implementation was available for
+ interoperability testing.
+ Acknowledgement: This work has been supported by the "QIICR" project.
+ Affects: dcmseg/libsrc/segutils.cc
+
+- Fixed comment.
+ Affects: dcmseg/libsrc/segdoc.cc
+
+**** Changes from 2016.01.08 (riesmeier)
+
+- Updated Makefile dependencies.
+ Affects: dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+
+- Fixed issue expanding empty included template:
+ Fixed an issue that occurred when trying to expand a document tree that
+ contains an empty included template. This resulted in an error status
+ returned by DSRDocumentSubTree::createExpandedSubTree().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/libsrc/dsrdocst.cc
+
+- Added support for CID 6147, 7181, 7464 and 7469:
+ Added support for Context Group CID 6147 (Response Criteria), CID 7181
+ (Abstract Multi-dimensional Image Model Component Units), CID 7464 (General
+ Region of Interest Measurement Modifiers) and 7469 (Generic Intensity and
+ Size Measurements), which will be needed for using the upcoming template
+ class of TID 1411 (Volumetric ROI Measurements) within TID 1500 (Measurement
+ Report). As always, all these new files were generated automatically.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
+ dcmsr/libcmr/cid6147.cc
+ dcmsr/libcmr/cid7181.cc
+ dcmsr/libcmr/cid7464.cc
+ dcmsr/libcmr/cid7469.cc
+ Affects: dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.in
+
+- Regenerated context groups with new script version:
+ Regenerated all context group header and source files with a new version
+ of the XSLT script. There was only a single change in the name of an enum.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/libcmr/cid100.cc
+ dcmsr/libcmr/cid10013.cc
+ dcmsr/libcmr/cid10033.cc
+ dcmsr/libcmr/cid11.cc
+ dcmsr/libcmr/cid244.cc
+ dcmsr/libcmr/cid29.cc
+ dcmsr/libcmr/cid4020.cc
+ dcmsr/libcmr/cid4021.cc
+ dcmsr/libcmr/cid4031.cc
+ dcmsr/libcmr/cid42.cc
+ dcmsr/libcmr/cid7021.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+
+- Fixed imprecise documentation of parameter:
+ Distinguish more clearly between "numeric value" and "measurements".
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libsrc/dsrnumvl.cc
+
+**** Changes from 2016.01.07 (riesmeier)
+
+- Fixed minor Doxygen-related issues:
+ Also updated the copyright date (where appropriate).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdoctn.cc
+
+- Added new method hasExtendedCodedEntries():
+ Added new method hasExtendedCodedEntries() to the context group base
+ class, which allows for checking whether the group has any extended,
+ i.e. non-standard coded entries. Also changed two virtual functions
+ to "inline" (as it was intended).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
+ dcmsr/libsrc/dsrctxgr.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Introduced new printExtended() method:
+ Extracted output of extended information on a content item from the general
+ print() method of the DSRDocumentSubTree class and moved this code to the
+ new printExtended() method of the DSRDocumentTreeNode class. In other words,
+ the resulting output is the same but the internal structure is now clearer.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+
+- Fixed wrong call of gotoLastEntryFromNodeList():
+ Replaced wrong call of gotoLastEntryFromNodeList() by gotoEntryFromNodeList().
+ In practice, this should make no difference but now the correct function is
+ called.
+ Affects: dcmsr/libcmr/tid1500.cc
+
+**** Changes from 2016.01.06 (riesmeier)
+
+- Added full support for qualitative evaluations:
+ Added full support for qualitative evaluations (TID 1500 - Row 13 and 14),
+ e.g. for categorial observations that are related to the entire subject of
+ the report rather than specific measurement groups (DICOM PS 3.16).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added new method isComplete() to coded entry class:
+ Added new method isComplete() to DSRCodedEntryValue, which checks whether
+ the three mandatory components of a code are non-empty. This is a much more
+ basic check than isValid() provides.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcodvl.cc
+
+- Added new condition constant and fixed memory leak:
+ Introduced new condition constant that is used when no image library entry
+ descriptors have been added (i.e. copied from a given dataset). Also fixed
+ a possible memory leak that could occur in such a case.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/libcmr/tid1600.cc
+
+- Added new parameter to gotoLastEntryFromNodeList():
+ Added optional parameter "firstPos" to gotoLastEntryFromNodeList(), which
+ allows for stopping the search process at a particular node list entry.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/libsrc/dsrctpl.cc
+
+- Added optional "check" parameter to addContentItem:
+ Added optional "check" parameter to convenience methods addContentItem()
+ and addChildContentItem().
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+
+- Enhanced hasXXX() by adding an optional parameter:
+ Enhanced hasImagingMeasurements() and hasQualitativeEvaluations() by adding
+ an optional parameter that allows for checking whether the respective content
+ item has any children (i.e. real content). Since the child nodes are optional
+ the default is not to check for children.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/libsrc/dsrctpl.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Slightly reworked use of xxx_RESULT helper macros:
+ Introduced new helper macros GOOD_RESULT and BAD_RESULT. Replaced helper
+ macro DELETE_ERROR by an appropriate use of the new macro BAD_RESULT.
+ In general, used the helper macros more often in order to increase the
+ readability of the source code.
+ Affects: dcmsr/libcmr/tid1001.cc
+ dcmsr/libcmr/tid1204.cc
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/libcmr/tid1600.cc
+
+- Changed variable name for reasons of consistency.
+ Affects: dcmsr/libcmr/srnumvl.cc
+
+- Added preliminary support for TID 1500 - Row 12:
+ Added preliminary support for the conditional CONTAINER content item
+ "Qualitative Evaluations" (TID 1500 - Row 12), which seems to be required
+ according to the condition given in the template definition table. Support
+ for the child content items (CODE and TEXT) will follow in a separate commit.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tsrcmr.cc
+
+- Added initial version of UMLS code definitions:
+ Added initial version of Unified Medical Language System (Coding Scheme
+ "UMLS") code definitions as used/defined by the DICOM standard.
+ The code definitions are generated automatically from the machine-readable
+ DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That
+ means that the definitions will be updated from time to time as the standard
+ evolves. However, please be warned that the names of the constants/defines
+ might change in the future (hopefully, there will be official keywords in the
+ standard like they are for the DICOM attribute tags in PS 3.6).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/codes/umls.h
+
+**** Changes from 2016.01.05 (riesmeier)
+
+- Added links to implemented SR templates:
+ Added links to the currently implemented SR templates to the Doxygen
+ documentation of the "dcmsr" module.
+ Affects: dcmsr/docs/dcmsr.dox
+
+- Added 1st version of TID 1500 (Measurement Report):
+ Added first version of TID 1500 (Measurement Report) and included templates.
+ The focus of this initial commit was on the general structure of this SR
+ template and the mandatory content items and included templates (TID 1204,
+ 1001, 1600). There is also a new test case that demonstrates how to use the
+ new TID1500_MeasurementReport class. Further enhancements will follow.
+ Acknowledgement: This work and also the previous commits on the "dcmsr"
+ module have been supported in part by the "QIICR" project. See CREDITS file
+ for details.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/libcmr/tid1500.cc
+ Affects: dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Used another document type for a test case:
+ Used another document type for the test case "dcmsr_changeDocumentType_2" in
+ order to avoid a warning message that the template identification is not set.
+ Affects: dcmsr/tests/tsrdoc.cc
+
+- Added further output methods to template classes:
+ Added write(), writeXML() and renderHTML() method to template-related classes.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrtpltn.cc
+
+- Moved further output methods to subtree class:
+ Moved write(), writeXML() and renderHTML() method from document tree to
+ subtree class. This is a preparatory step that will be completed with the
+ next commit.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+
+- Print the annotation text for included templates:
+ As for all other types of content items, the optional annotation text is now
+ also printed for the internal "included template" type.
+ Affects: dcmsr/libsrc/dsrtpltn.cc
+
+- Call clear() method of both base classes:
+ Made sure that the clear() method of both base classes is called, i.e. also
+ DSRTemplateCommon::clear() which clears the internally managed node list.
+ Affects: dcmsr/libsrc/dsrrtpl.cc
+
+- Avoid calling getSelectedValue() explicitly.
+ Affects: dcmsr/libcmr/tid1001.cc
+ dcmsr/libcmr/tid1204.cc
+
+- Enhanced reserveEntriesInNodeList():
+ Added optional parameter to reserveEntriesInNodeList() that allows for
+ initializing the entries of the node list with a value of 0.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/libsrc/dsrctpl.cc
+
+- Fixed minor inconsistencies in comments.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+
+- Updated copyright dates.
+ Affects: COPYRIGHT
+
+**** Changes from 2015.12.30 (riesmeier)
+
+- Added support for expanding a document tree:
+ Added support for expanding a document tree, i.e. to replace all included
+ templates by their content (i.e. the subtree that is managed by the class).
+ Also added a new test case that uses (and checks) this new feature.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtpl.cc
+
+- Added support for including templates into a tree:
+ Added support for including - not inserting - templates into a document tree
+ or subtree. That means, the template-specific API is still available to the
+ user even though the tree structure that is managed by the template class
+ has been "inserted" into a (sub)tree. In order to achieve this, a new value
+ type (internal) has been added: VT_includedTemplate. Further related changes
+ will follow.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrtpltn.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/Makefile.dep
+
+- Included standard header "assert":
+ Added missing standard header "assert.h" or "cassert" in order to compile
+ when HAVE_STL and HAVE_STD_STRING are defined. This header file is needed
+ for Linux systems with gcc (and probably others).
+ Also fixed some typos and Doxygen related issues.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+
+**** Changes from 2015.12.28 (riesmeier)
+
+- Added support for replacing a node in a tree:
+ Added support for replacing the current node (and all of its child nodes)
+ of a tree by a given node (which might be the root of a subtree). This new
+ feature is needed for the upcoming enhanced SR template support.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtree.cc
+
+- Added mapping resource to IOD constraint checker:
+ Replaced getRootTemplateIdentifier() by getRootTemplateIdentification()
+ which returns the mapping resource in addition to the identifier of the
+ root template (if any). Before, the DICOM Content Mapping Resource (DCMR)
+ was implicitly assumed when calling the getRootTemplateIdentifier() method.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsracqcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrbascc.h
+ dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrchecc.h
+ dcmsr/include/dcmtk/dcmsr/dsrcolcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrenhcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrimpcc.h
+ dcmsr/include/dcmtk/dcmsr/dsriodcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrkeycc.h
+ dcmsr/include/dcmtk/dcmsr/dsrmaccc.h
+ dcmsr/include/dcmtk/dcmsr/dsrmamcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrprocc.h
+ dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrspecc.h
+ dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h
+ dcmsr/libsrc/dsracqcc.cc
+ dcmsr/libsrc/dsrbascc.cc
+ dcmsr/libsrc/dsrc3dcc.cc
+ dcmsr/libsrc/dsrchecc.cc
+ dcmsr/libsrc/dsrcolcc.cc
+ dcmsr/libsrc/dsrcomcc.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrenhcc.cc
+ dcmsr/libsrc/dsrimpcc.cc
+ dcmsr/libsrc/dsrkeycc.cc
+ dcmsr/libsrc/dsrmaccc.cc
+ dcmsr/libsrc/dsrmamcc.cc
+ dcmsr/libsrc/dsrprocc.cc
+ dcmsr/libsrc/dsrrrdcc.cc
+ dcmsr/libsrc/dsrspecc.cc
+ dcmsr/libsrc/dsrxrdcc.cc
+
+**** Changes from 2015.12.21 (riesmeier)
+
+- Added "inline" specifier to isRootTemplate().
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+
+- Use "const" specifier for pointer parameters:
+ Use "const" specifier for pointer parameters (where appropriate).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+
+- Fixed wrong use of gotoXXX() function call:
+ Replaced call of gotoLastEntryFromNodeList() by gotoEntryFromNodeList().
+ This change should make no difference since the method where this function
+ is called always checks whether the requested entry exists in the list of
+ node IDs.
+ Affects: dcmsr/libcmr/tid1600.cc
+
+- Added explicit type cast to avoid warnings:
+ Added explicit type cast in order to avoid compiler warnings reported by
+ gcc 4.8.4 with additional flags.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dibaslut.h
+ dcmimgle/include/dcmtk/dcmimgle/diovpln.h
+ dcmrt/libsrc/drmdose.cc
+
+**** Changes from 2015.12.18 (onken)
+
+- Disable Visual Studios min()/max() macros:
+ The DCMTK version of min() and max() defined in oflimits.h n conflicts with the
+ Visual Studio versions that are pre-defined in Windows. Thus, they are now
+ disabled in a Visual Studio build.
+ Affects: CMake/osconfig.h.in
+
+- Added missing DLL export macro to OFMath class.
+ Affects: ofstd/include/dcmtk/ofstd/ofmath.h
+
+**** Changes from 2015.12.17 (onken)
+
+- Always use isnan() and isinf() from OFMath.
+ Affects: ofstd/libsrc/ofstd.cc
+
+- Removed superfluous DLL export macro:
+ Renoved DLL export macro from static inline functions causing compiler errors
+ in shared builds.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+
+**** Changes from 2015.12.16 (onken)
+
+- Regenerated dependencies for autoconf.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/libi2d/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmfg/libsrc/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimage/libsrc/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmiod/libsrc/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpeg/libsrc/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmjpls/libcharls/Makefile.dep
+ dcmjpls/libsrc/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/tests/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmqrdb/libsrc/Makefile.dep
+ dcmrt/apps/Makefile.dep
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/tests/Makefile.dep
+ dcmseg/libsrc/Makefile.dep
+ dcmseg/tests/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsign/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ dcmwlm/tests/Makefile.dep
+ oflog/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+ ofstd/tests/Makefile.dep
+ ofstd/tests/taddsub.cc
+
+- Moved math functions from OFStandard to OFMath:
+ Commit 1b6bb7 added oflimit.h dependency to ofstd.h in order to implement some
+ new methods in OFStandard. However, oflimits.h relies on arith.h which is
+ created very early by arith.cc in a special build step. However, arith.cc
+ already relies on ofstd.h so a circular dependency was created. This has been
+ fixed by moving those functions (isnan and isinf) into an new class "OFMath"
+ which is declared in a separate header file ofmath.h. Before, ofstd.h defined
+ the functions and ofmath.cc already implemented them as part of OFStandard.
+ Thus the methods also moved from class OFStandard to OFMath.
+ Added: ofstd/include/dcmtk/ofstd/ofmath.h
+ Affects: config/arith.cc
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofmath.cc
+ ofstd/libsrc/ofstd.cc
+ ofstd/tests/tlimits.cc
+
+**** Changes from 2015.12.15 (riesmeier)
+
+- Further enhanced implementation of TID 1600:
+ Further enhanced implementation of TID 1600 (Image Library), e.g. since this
+ template is extensible, the structure of content items might deviate from
+ the definition in DICOM PS 3.16 (Content Mapping Resource). Also there is
+ now a way of recreating the root content item of this template after the
+ clear() method has been called.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libcmr/tid1600.cc
+ dcmsr/libsrc/dsrctpl.cc
+ dcmsr/libsrc/dsrstpl.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/tsrcmr.cc
+
+**** Changes from 2015.12.14 (onken)
+
+- Fixed possible underflows and overflows:
+ At several places in the code a wrong length of ACSE data structures received
+ over the network can cause overflows or underflows when processing those
+ data structures. Related checks have been added at various places in order
+ to prevent such (possible) attacks.
+ Thanks to Kevin Basista for the report.
+ Added: ofstd/tests/taddsub.cc
+ Affects: dcmnet/libsrc/dulparse.cc
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/tests/tests.cc
+ ofstd/tests/tofstd.cc
+
+- Fixed issues with binary segmentations:
+ Fixed memory leak when creating binary segmentations as well as possible write
+ to non-initialized memory. Also fixed extraction of binary segmentation frames
+ for some objects. Fixed typo.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmseg/libsrc/segdoc.cc
+
+- Simpler API to extract binary segmentation frame:
+ Acknowledgement: This work has been supported by the "QIICR" project.
+ Affects: dcmseg/include/dcmtk/dcmseg/segutils.h
+ dcmseg/libsrc/segutils.cc
+
+**** Changes from 2015.12.11 (riesmeier)
+
+- Added set() methods for various template rows:
+ Added new methods that allow for setting various modality-specific content
+ items manually. At the moment, only some content items for TID 1607 (Image
+ Library Entry Descriptors for PET) are supported. Further items will follow.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/tid1600.cc
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tsrcmr.cc
+
+- Added new condition constant for template errors:
+ Added new condition constant that can be used if the "Value Set Constraint"
+ of a particular SR template row is violated.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added new function gotoNamedChildNode():
+ Added new helper function gotoNamedChildNode() which sets the internal cursor
+ of the document (sub)tree to a named node starting from the first children of
+ the current node. This avoid calling multiple other functions and checking of
+ return values.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+
+- Added output stream operators:
+ Added output stream operator<<() to class DSRCodedEntryValue and
+ DSRNumericMeasurementValue. Internally, the print() method is used.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrnumvl.cc
+
+- Added comparison operator "not equal":
+ Added implementation of comparison operator!=() to class DSRCodedEntryValue.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/tests/tsrcodvl.cc
+
+- Added new functions getCursor() and setCursor():
+ Added new protected helper functions getCursor() and setCursor(), which can
+ be used to store and reset a particular cursor position within a derived
+ class (e.g. one of the SR template classes). This is much more efficient
+ than iterating over the tree and searching for a particular node ID.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+
+- Added new functions gotoParent() and gotoChild():
+ Added new helper functions gotoParent() and gotoChild() to the basic tree
+ node cursor class. The functionality is identical to goUp() and goDown().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+
+**** Changes from 2015.12.08 (onken)
+
+- Fixed typo in configure step also in configure.in.
+ Affects: config/configure
+ config/configure.in
+
+- Fixed decsription of configure option and typo:
+ Fixed escription of internal dictionary option and removed a superfluous line
+ leading to a (non-critical) error when executing config/configure.
+ Affects: config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+
+- Fixed issue with some binary segmentations:
+ Some binary segmentation objects, whose number of pixels are not dividable by
+ 8, could not be correctly read or written since the standard requires to not
+ have any unused bits between the frames when encoding them in the Pixel Data
+ element. The corresponding routines have been re-written to reflect this
+ requirement. Thanks to Andrey Fedorov <andrey.fedorov@gmail.com> and David
+ Flade <fladedavid@gmail.com> for the report.
+ Acknowledgement: This work has been supported by the "QIICR" project.
+ Added: dcmseg/tests/CMakeLists.txt
+ dcmseg/tests/Makefile.dep
+ dcmseg/tests/tests.cc
+ dcmseg/tests/tutils.cc
+ Affects: dcmseg/CMakeLists.txt
+ dcmseg/Makefile.in
+ dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/include/dcmtk/dcmseg/segtypes.h
+ dcmseg/include/dcmtk/dcmseg/segutils.h
+ dcmseg/libsrc/segdoc.cc
+ dcmseg/libsrc/segtypes.cc
+ dcmseg/libsrc/segutils.cc
+ dcmseg/tests/Makefile.in
+
+**** Changes from 2015.12.07 (riesmeier)
+
+- Updated "dcmrt" classes based on DICOM 2015c:
+ Updated automatically generated IOD and sequence C++ classes for the various
+ RT objects based on the current edition of the DICOM standard (2015c).
+ Added: dcmrt/include/dcmtk/dcmrt/seq/drtbss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdias.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtqds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h
+ dcmrt/libsrc/drtbss.cc
+ dcmrt/libsrc/drtcpis.cc
+ dcmrt/libsrc/drtdias.cc
+ dcmrt/libsrc/drtecs.cc
+ dcmrt/libsrc/drtpdecs.cc
+ dcmrt/libsrc/drtqds.cc
+ dcmrt/libsrc/drtwrsrs.cc
+ Affects: COPYRIGHT
+ dcmrt/apps/Makefile.dep
+ dcmrt/include/dcmtk/dcmrt/drtdose.h
+ dcmrt/include/dcmtk/dcmrt/drtimage.h
+ dcmrt/include/dcmtk/dcmrt/drtionpl.h
+ dcmrt/include/dcmtk/dcmrt/drtiontr.h
+ dcmrt/include/dcmtk/dcmrt/drtplan.h
+ dcmrt/include/dcmtk/dcmrt/drtstrct.h
+ dcmrt/include/dcmtk/dcmrt/drttreat.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtags.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtarics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtass.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtces.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtchs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drteas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtians.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticpds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtircs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtitts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtoas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtois.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtopis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtras.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrses.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtshds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms0.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttscds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtvls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
+ dcmrt/libsrc/CMakeLists.txt
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/libsrc/Makefile.in
+ dcmrt/libsrc/drtaadcs.cc
+ dcmrt/libsrc/drtadcs.cc
+ dcmrt/libsrc/drtads.cc
+ dcmrt/libsrc/drtafs.cc
+ dcmrt/libsrc/drtags.cc
+ dcmrt/libsrc/drtajcs.cc
+ dcmrt/libsrc/drtarics.cc
+ dcmrt/libsrc/drtas1.cc
+ dcmrt/libsrc/drtas5.cc
+ dcmrt/libsrc/drtas6.cc
+ dcmrt/libsrc/drtas7.cc
+ dcmrt/libsrc/drtass.cc
+ dcmrt/libsrc/drtbads.cc
+ dcmrt/libsrc/drtbas.cc
+ dcmrt/libsrc/drtbcps.cc
+ dcmrt/libsrc/drtbl2.cc
+ dcmrt/libsrc/drtbl5.cc
+ dcmrt/libsrc/drtbldls.cc
+ dcmrt/libsrc/drtbldps.cc
+ dcmrt/libsrc/drtblds1.cc
+ dcmrt/libsrc/drtblds5.cc
+ dcmrt/libsrc/drtblds6.cc
+ dcmrt/libsrc/drtbldts.cc
+ dcmrt/libsrc/drtbrcss.cc
+ dcmrt/libsrc/drtbrdrs.cc
+ dcmrt/libsrc/drtbrs.cc
+ dcmrt/libsrc/drtbs.cc
+ dcmrt/libsrc/drtbvcps.cc
+ dcmrt/libsrc/drtcbars.cc
+ dcmrt/libsrc/drtccs.cc
+ dcmrt/libsrc/drtcctus.cc
+ dcmrt/libsrc/drtcdrs.cc
+ dcmrt/libsrc/drtces.cc
+ dcmrt/libsrc/drtchs.cc
+ dcmrt/libsrc/drtcims.cc
+ dcmrt/libsrc/drtcis.cc
+ dcmrt/libsrc/drtcncs.cc
+ dcmrt/libsrc/drtcos.cc
+ dcmrt/libsrc/drtcpas.cc
+ dcmrt/libsrc/drtcps.cc
+ dcmrt/libsrc/drtcs.cc
+ dcmrt/libsrc/drtcsas.cc
+ dcmrt/libsrc/drtcshs.cc
+ dcmrt/libsrc/drtcsis.cc
+ dcmrt/libsrc/drtcss.cc
+ dcmrt/libsrc/drtdcs.cc
+ dcmrt/libsrc/drtdimcs.cc
+ dcmrt/libsrc/drtdimrs.cc
+ dcmrt/libsrc/drtdirs.cc
+ dcmrt/libsrc/drtdose.cc
+ dcmrt/libsrc/drtdrs.cc
+ dcmrt/libsrc/drtds.cc
+ dcmrt/libsrc/drtdspcs.cc
+ dcmrt/libsrc/drtdss.cc
+ dcmrt/libsrc/drtdvhs.cc
+ dcmrt/libsrc/drtdvrrs.cc
+ dcmrt/libsrc/drteas.cc
+ dcmrt/libsrc/drtes.cc
+ dcmrt/libsrc/drtfds.cc
+ dcmrt/libsrc/drtfes.cc
+ dcmrt/libsrc/drtfgs.cc
+ dcmrt/libsrc/drtfgss.cc
+ dcmrt/libsrc/drtfms.cc
+ dcmrt/libsrc/drtfsss.cc
+ dcmrt/libsrc/drtgas.cc
+ dcmrt/libsrc/drthsdrs.cc
+ dcmrt/libsrc/drtiais.cc
+ dcmrt/libsrc/drtians.cc
+ dcmrt/libsrc/drtiblds.cc
+ dcmrt/libsrc/drtibls.cc
+ dcmrt/libsrc/drtibs.cc
+ dcmrt/libsrc/drticpds.cc
+ dcmrt/libsrc/drticps.cc
+ dcmrt/libsrc/drtics.cc
+ dcmrt/libsrc/drtiis.cc
+ dcmrt/libsrc/drtimage.cc
+ dcmrt/libsrc/drtionpl.cc
+ dcmrt/libsrc/drtiontr.cc
+ dcmrt/libsrc/drtipiqs.cc
+ dcmrt/libsrc/drtircs.cc
+ dcmrt/libsrc/drtiseis.cc
+ dcmrt/libsrc/drtitts.cc
+ dcmrt/libsrc/drtiwps.cc
+ dcmrt/libsrc/drtiws.cc
+ dcmrt/libsrc/drtlsds.cc
+ dcmrt/libsrc/drtlsds6.cc
+ dcmrt/libsrc/drtlsds7.cc
+ dcmrt/libsrc/drtmacds.cc
+ dcmrt/libsrc/drtmas.cc
+ dcmrt/libsrc/drtmdrs.cc
+ dcmrt/libsrc/drtmls.cc
+ dcmrt/libsrc/drtmps.cc
+ dcmrt/libsrc/drtmss.cc
+ dcmrt/libsrc/drtmucs.cc
+ dcmrt/libsrc/drtoas.cc
+ dcmrt/libsrc/drtois.cc
+ dcmrt/libsrc/drtopis.cc
+ dcmrt/libsrc/drtos.cc
+ dcmrt/libsrc/drtpbcs.cc
+ dcmrt/libsrc/drtpcs.cc
+ dcmrt/libsrc/drtpcxs.cc
+ dcmrt/libsrc/drtpfms.cc
+ dcmrt/libsrc/drtpics.cc
+ dcmrt/libsrc/drtplan.cc
+ dcmrt/libsrc/drtporcs.cc
+ dcmrt/libsrc/drtporis.cc
+ dcmrt/libsrc/drtppcs.cc
+ dcmrt/libsrc/drtprsis.cc
+ dcmrt/libsrc/drtpscs.cc
+ dcmrt/libsrc/drtpsics.cc
+ dcmrt/libsrc/drtpss.cc
+ dcmrt/libsrc/drtpsss.cc
+ dcmrt/libsrc/drtpvis.cc
+ dcmrt/libsrc/drtras.cc
+ dcmrt/libsrc/drtrbas2.cc
+ dcmrt/libsrc/drtrbas8.cc
+ dcmrt/libsrc/drtrbls.cc
+ dcmrt/libsrc/drtrbos1.cc
+ dcmrt/libsrc/drtrbos6.cc
+ dcmrt/libsrc/drtrbos7.cc
+ dcmrt/libsrc/drtrbs2.cc
+ dcmrt/libsrc/drtrbs4.cc
+ dcmrt/libsrc/drtrbs8.cc
+ dcmrt/libsrc/drtrcdrs.cc
+ dcmrt/libsrc/drtrcos.cc
+ dcmrt/libsrc/drtrcps.cc
+ dcmrt/libsrc/drtrcs.cc
+ dcmrt/libsrc/drtrdros.cc
+ dcmrt/libsrc/drtrdrs1.cc
+ dcmrt/libsrc/drtrdrs6.cc
+ dcmrt/libsrc/drtrdrs8.cc
+ dcmrt/libsrc/drtrds.cc
+ dcmrt/libsrc/drtrecs.cc
+ dcmrt/libsrc/drtrfgs.cc
+ dcmrt/libsrc/drtrfors.cc
+ dcmrt/libsrc/drtrics.cc
+ dcmrt/libsrc/drtrims.cc
+ dcmrt/libsrc/drtris.cc
+ dcmrt/libsrc/drtrlsds.cc
+ dcmrt/libsrc/drtrmdrs.cc
+ dcmrt/libsrc/drtrms.cc
+ dcmrt/libsrc/drtrmss6.cc
+ dcmrt/libsrc/drtrmss7.cc
+ dcmrt/libsrc/drtrpcs.cc
+ dcmrt/libsrc/drtrpis.cc
+ dcmrt/libsrc/drtrppcs.cc
+ dcmrt/libsrc/drtrpphs.cc
+ dcmrt/libsrc/drtrpps.cc
+ dcmrt/libsrc/drtrppss.cc
+ dcmrt/libsrc/drtrps.cc
+ dcmrt/libsrc/drtrris1.cc
+ dcmrt/libsrc/drtrris6.cc
+ dcmrt/libsrc/drtrris9.cc
+ dcmrt/libsrc/drtrrms.cc
+ dcmrt/libsrc/drtrros.cc
+ dcmrt/libsrc/drtrrpcs.cc
+ dcmrt/libsrc/drtrrros.cc
+ dcmrt/libsrc/drtrrs.cc
+ dcmrt/libsrc/drtrrshs.cc
+ dcmrt/libsrc/drtrrtps.cc
+ dcmrt/libsrc/drtrrtps3.cc
+ dcmrt/libsrc/drtrrtps4.cc
+ dcmrt/libsrc/drtrrtps5.cc
+ dcmrt/libsrc/drtrscs.cc
+ dcmrt/libsrc/drtrsers.cc
+ dcmrt/libsrc/drtrses.cc
+ dcmrt/libsrc/drtrshs.cc
+ dcmrt/libsrc/drtrshs6.cc
+ dcmrt/libsrc/drtrshs7.cc
+ dcmrt/libsrc/drtrsis.cc
+ dcmrt/libsrc/drtrsns.cc
+ dcmrt/libsrc/drtrsos.cc
+ dcmrt/libsrc/drtrsrs.cc
+ dcmrt/libsrc/drtrss.cc
+ dcmrt/libsrc/drtrsss.cc
+ dcmrt/libsrc/drtrsts.cc
+ dcmrt/libsrc/drtrtrs2.cc
+ dcmrt/libsrc/drtrtrs4.cc
+ dcmrt/libsrc/drtrvis.cc
+ dcmrt/libsrc/drtrws.cc
+ dcmrt/libsrc/drtrwvms.cc
+ dcmrt/libsrc/drtscris.cc
+ dcmrt/libsrc/drtsdcs.cc
+ dcmrt/libsrc/drtsds.cc
+ dcmrt/libsrc/drtshds.cc
+ dcmrt/libsrc/drtsis.cc
+ dcmrt/libsrc/drtsns.cc
+ dcmrt/libsrc/drtspccs.cc
+ dcmrt/libsrc/drtspcs.cc
+ dcmrt/libsrc/drtss.cc
+ dcmrt/libsrc/drtssrs.cc
+ dcmrt/libsrc/drtstrct.cc
+ dcmrt/libsrc/drttms0.cc
+ dcmrt/libsrc/drttms9.cc
+ dcmrt/libsrc/drttreat.cc
+ dcmrt/libsrc/drttscds.cc
+ dcmrt/libsrc/drttsibs.cc
+ dcmrt/libsrc/drttsmds.cc
+ dcmrt/libsrc/drttts.cc
+ dcmrt/libsrc/drtvls.cc
+ dcmrt/libsrc/drtwps.cc
+ dcmrt/libsrc/drtwrs.cc
+ dcmrt/libsrc/drtws.cc
+ dcmrt/libsrc/drtxrs.cc
+ dcmrt/tests/Makefile.dep
+
+- Handle EINTR raised by connect() or select():
+ The EINTR error (system call was interrupted by a signal that was caught)
+ might also be raised by a call of connect() or select(), which was not yet
+ handled appropriately.
+ Thanks to Thomas Sondergaard <thomas.sondergaard@karoshealth.com> and
+ Alexander Karaivanov <alexander.karaivanov@karoshealth.com> for the report
+ and suggested fix.
+ Affects: dcmnet/libsrc/dulfsm.cc
+
+- Check return value of listen() for errors:
+ Introduced check of return value of listen() call in order to detect e.g.
+ when listening on a certain port that is already in use (EADDRINUSE).
+ This kind of error has been reported for various Linux distributions,
+ e.g. RHEL5.3 and CentOS 7.
+ Thanks to Thomas Sondergaard <thomas.sondergaard@karoshealth.com> and
+ Alexander Karaivanov <alexander.karaivanov@karoshealth.com> for the report
+ and suggested fix.
+ Affects: dcmnet/libsrc/dul.cc
+
+- Fixed numerous typos.
+ Affects: dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulfsm.cc
+
+**** Changes from 2015.12.04 (riesmeier)
+
+- Added comment on optional elements to be supported:
+ Added comment on optional data elements to be supported in the future.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+
+- Fixed wrong cardinality check on type 2 sequence:
+ Fixed wrong cardinality check on type 2 element Performed Procedure Code
+ Sequence (0040,A372). The DICOM standard says: "Zero or more Items shall
+ be included in this Sequence."
+ Affects: dcmsr/libsrc/dsrdoc.cc
+
+**** Changes from 2015.12.01 (riesmeier)
+
+- Updated documentation on recently added VR "UC":
+ Updated documentation regarding the value representation (VR) "Unlimited
+ Characters" (UC), which was missing at various places, especially when
+ listing the VRs that are affected by Specific Character Set (0008,0005).
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/docs/dcm2xml.man
+ dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+
+**** Changes from 2015.11.25 (onken)
+
+- Replaced type "bool" through "OFBool":
+ Some occurrences of bool have been checked in by one of the last commits
+ (72538a3). Since bool is not used in DCMTK so far (except for code integrated
+ from external sources), it was replaced by the DCMTK-specific OFBool type.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+
+**** Changes from 2015.11.18 (onken)
+
+- Add operators "<", "<=", ">" and ">=" for dcmdata:
+ Added operators "<", "<=", ">" and ">=" for DcmElement and DcmItem classes in
+ dcmdata in order to allow comparison of elements or items (i.e. lists of
+ elements). The operators use the compare() functions introduced several weeks
+ ago. Also fixed doxygen documentation issue.
+ Acknowledgement: This work has been supported by the "QIICR" project.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/tests/tvrcomp.cc
+
+**** Changes from 2015.11.17 (riesmeier)
+
+- Added text on IOD-specific template constraints:
+ Added text from DICOM PS 3.3 on template constraints to SR IOD checker
+ classes. This might be helpful when certain templates are referenced.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrchecc.h
+ dcmsr/include/dcmtk/dcmsr/dsrcolcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrimpcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrkeycc.h
+ dcmsr/include/dcmtk/dcmsr/dsrmaccc.h
+ dcmsr/include/dcmtk/dcmsr/dsrmamcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrprocc.h
+ dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrspecc.h
+ dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h
+
+- Fixed incorrect constraint for root template:
+ According to DICOM PS 3.3, the root template TID 3001 "may be" used for the
+ Procedure Log IOD but it is not required (i.e. no constraint).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrprocc.h
+ dcmsr/libsrc/dsrprocc.cc
+
+- Fixed typos and updated references in comments.
+ Affects: dcmsr/libsrc/dsrc3dcc.cc
+ dcmsr/libsrc/dsrcomcc.cc
+ dcmsr/libsrc/dsrimpcc.cc
+
+- Check Acquisition Context SR contstraints:
+ Added support for checking the relationship content constraints of the
+ recently added Acquisition Context SR IOD (Supplement 187).
+ Added: dcmsr/include/dcmtk/dcmsr/dsracqcc.h
+ dcmsr/libsrc/dsracqcc.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added minimal support for Supplement 187:
+ Added minimal support for the recently approved Supplement 187 (Preclinical
+ Small Animal Imaging Acquisition Context), i.e. added new Storage SOP Class
+ to "dcmdata", "dcmnet" and "dcmqrdb". Also added new SR document type to
+ "dcmsr". Full support for this new Structured Rreporting IOD will follow in
+ a future commit.
+ The official status of this Supplement is "Draft Final Text - Waiting for
+ Codes" (WC), i.e. the document is final but some machine-readable codes are
+ still missing.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/libsrc/dcmqrdbi.cc
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added DICOMDIR support for Supplement 184:
+ Added support for new Storage SOP Class from Supplement 184 (Brachytherapy
+ Delivery Instruction) to DICOMDIR generation code.
+ Also fixed a minor issue with the "RT Beams Delivery Instruction Storage"
+ SOP Class in this context.
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+**** Changes from 2015.11.16 (riesmeier)
+
+- Added support for new UID from Supplement 184:
+ Added support for new Storage SOP Class UID from Supplement 184
+ (Brachytherapy Delivery Instruction).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added support for recently approved CPs:
+ Added support for CP-1364, CP-1431, CP-1432, CP-1457, CP-1478 (WC) and
+ CP-1487 to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Added support for Supplement 184 to dictionary:
+ Added support for the final text version of Supplement 184 (Brachytherapy
+ Delivery Instruction) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+**** Changes from 2015.11.16 (onken)
+
+- Use tag constants for better readability.
+ Affects: dcmdata/tests/tvrcomp.cc
+
+- Print warning when overwriting an existing file:
+ Make sure that movescu and getscu print out a warning when storing a received
+ file using a filename that is already taken by an existing file. This resulting
+ behaviour (warning and overwriting the old file) is now consistent with
+ storescp.
+ Affects: dcmnet/apps/movescu.cc
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2015.11.13 (riesmeier)
+
+- Added support for further Asian character sets:
+ Added support for further Asian character sets, e.g. Thai, Japanese, Korean
+ and Chinese (including ISO 2022 code extensions). The character set mapping
+ that is used for HTML/XHTML and XML format is based on Table D-1 in DICOM PS
+ 3.18 Annex D (current version from Supplement 174 - RESTful Rendering).
+ Affects: dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+ dcmsr/docs/xml2dsr.man
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Changed checking of unsupported character sets:
+ Changed the way unsupported character sets, which are specified by option
+ --charset-assume, are checked. This will facilitate the addition of new
+ character sets (in the future).
+ Affects: dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+
+- Support multiple values for SpecificCharacterSet:
+ Added support for multiple values being used for Specific Character Set
+ (0008,0005). This will allow for specifying ISO 2022 based character sets
+ as needed for Japanese, Korean and Chinese (i.e. code extensions).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/dsrdoc.cc
+
+- Fixed "Type of modification" field:
+ Fixed value of "Type of modification" field for recently added macro
+ ENABLE_BUILTIN_DICTIONARY. Now it is consistent with other similar macros.
+ Affects: config/docs/macros.txt
+
+**** Changes from 2015.11.13 (onken)
+
+- Renamed some handle...() methods for consisteny:
+ The handle...() methods for FIND, MOVE and ACTION only receive the
+ corresponding message but do not handle them further (e.g. they do not send
+ a response). Thus the methods have been renamed to "receive...()" following
+ the scheme already used for the STORE message before.
+ Thanks to Ing-Long Eric Kuo <draconpern@hotmail.com> for the report.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+**** Changes from 2015.11.12 (riesmeier)
+
+- Report an error on missing "Rows" or "Columns":
+ Output a more specific error message to the logger if the mandatory attribute
+ Rows (0028,0010) and/or Columns (0028,0011) is missing.
+ Affects: dcmimgle/libsrc/diimage.cc
+
+**** Changes from 2015.11.09 (riesmeier)
+
+- Enhanced documentation on option --charset-assume:
+ Made it more explicit that the old terms (latin-1, greek, etc.) are still
+ supported for option --charset-assume (for reasons of backward compatibility).
+ Affects: dcmdata/docs/dcm2xml.man
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+
+**** Changes from 2015.11.03 (onken)
+
+- Fixed further possible issues with Segment Number.
+ Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/include/dcmtk/dcmseg/segment.h
+ dcmseg/libsrc/segdoc.cc
+ dcmseg/libsrc/segment.cc
+
+**** Changes from 2015.11.03 (eichelberg)
+
+- Fixed dcmdata_VRCompare test:
+ Fixed dcmdata_VRCompare unit test to catch a regression of the bug
+ in DcmItem::compare() fixed earlier today.
+ Affects: dcmdata/tests/tvrcomp.cc
+
+- Fixed bug in DcmItem::compare():
+ Fixed bug in DcmItem::compare() leading to incorrect comparison results.
+ Thanks to Robert Habrich <habrich@image-systems.biz> for the bug report and patch.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2015.11.03 (onken)
+
+- Fixed segment access via Segment Number:
+ Fixed segment access via Segment Number which now assumes that the first
+ Segment Number is not 0 as in the underlying vector, but starts with 1.
+ Thanks to Andrey Fedorov <andrey.fedorov@gmail.com> for the report.
+ Affects: dcmseg/libsrc/segdoc.cc
+
+**** Changes from 2015.10.09 (riesmeier)
+
+- Check further dependence of command line options:
+ Made sure that option --attr-template-id is only used together with option
+ --write-template-id, i.e. check the same dependence as for option
+ --template-envelope. This is because --attr-template-id would have no effect
+ otherwise, which might be unexpected to the user.
+ Affects: dcmsr/apps/dsr2xml.cc
+
+**** Changes from 2015.10.08 (riesmeier)
+
+- Added guard to fix issue with llvm-gcc-4.2:
+ Added guard to fix linker error with llvm-gcc-4.2 on Mac OS X. This guard
+ checks for the use of a Clang compiler, which requires explicit template
+ instantiation (see commit a3dc5b5) while other compilers do not.
+ Thanks to Bill Lorensen <bill.lorensen@gmail.com> for the report and
+ Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> for the patch.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+
+**** Changes from 2015.10.08 (onken)
+
+- Fixed error message.
+ Affects: dcmiod/libsrc/iodutil.cc
+
+**** Changes from 2015.10.01 (riesmeier)
+
+- Fixed issue with Clang 3.0/3.1 on Mac OS X:
+ Fixed linker error with Clang 3.0/3.1 on Mac OS X with support for "shared
+ libs" enabled. These older versions seem to require explicit instantiation
+ of the template class DSRTree<DSRDocumentTreeNode>, which serves as the
+ base class of DSRDocumentSubTree.
+ Thanks to Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> for
+ the patch.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+
+**** Changes from 2015.09.25 (riesmeier)
+
+- Updated comments for TID 1607:
+ Updated comments for TID 1607 (Image Library Entry Descriptors for PET)
+ based on feedback and a proposed CP from David Clunie.
+ Affects: dcmsr/libcmr/tid1600.cc
+
+- Fixed code meaning for UCUM code "deg":
+ Fixed code meaning for UCUM code "deg" (based on a proposed CP from David
+ Clunie, editor of the DICOM standard).
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/ucum.h
+
+- Made static method checkSOPInstance() virtual:
+ Made static method checkSOPInstance() virtual so derived classes can
+ overwrite (specialize) it. Also added a comment explaining this.
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+
+- Fixed possible memory leak:
+ Made sure that all locally allocated memory is freed before returning from
+ a method with an error status. This possible memory leak was found in
+ DcmSCU::sendSTORERequest().
+ Affects: dcmnet/libsrc/scu.cc
+
+- Report an error if DICOM file cannot be loaded:
+ Report an error to the log output if a SOP instance to be sent (i.e. which
+ is part of the transfer list) cannot be loaded from the referenced DICOM file.
+ Affects: dcmnet/libsrc/dstorscu.cc
+
+- Changed API to use OFFilename instead of OFString:
+ Changed type of parameter of some methods that take a filename to use an
+ instance of OFFilename instead of OFString. This allows for passing also
+ a wide character string (on Windows) as well as a C string.
+ This is an onging process, so further API changes may follow.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdatutl.h
+ dcmdata/libsrc/dcdatutl.cc
+ dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/dstorscu.cc
+ dcmnet/libsrc/scu.cc
+
+- Fixed incorrect header and comments:
+ The helper functions were extracted from the DcmStoragesSCU class, so the
+ copyright header and comments were not correct. Also the name of the DCMTK
+ module was incorrect (it is "dcmdata" and not "dcmiod").
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdatutl.h
+ dcmdata/libsrc/dcdatutl.cc
+
+- Fixed automatically generated CHANGES entry.
+ Affects: docs/CHANGES.361
+
+- Removed suffix "String" from "Other..." VRs:
+ Supplement 181 (Tractography Results Storage SOP Class) introduces a new
+ value representation (VR) "Other Long" (OL) and, thereby, removes the suffix
+ "String" from all "Other..." (Ox) VRs.
+ See DCMTK's issue tracker: Conformance #664
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/include/dcmtk/dcmdata/dcvrobow.h
+ dcmdata/include/dcmtk/dcmdata/dcvrod.h
+ dcmdata/include/dcmtk/dcmdata/dcvrof.h
+
+- Updated latest tested CMake version:
+ Updated information on latest CMake version that has been tested to "3.3.2".
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2015.09.24 (schlamelcher)
+
+- Updated CHANGES.361 for new development snapshot.
+ Affects: docs/CHANGES.361
+
+- Updated DCMTK_ABI_VERSION for new development snapshot.
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/dcm2pdf.1
+ doxygen/manpages/man1/dcm2pnm.1
+ doxygen/manpages/man1/dcm2xml.1
+ doxygen/manpages/man1/dcmcjpeg.1
+ doxygen/manpages/man1/dcmcjpls.1
+ doxygen/manpages/man1/dcmconv.1
+ doxygen/manpages/man1/dcmcrle.1
+ doxygen/manpages/man1/dcmdjpeg.1
+ doxygen/manpages/man1/dcmdjpls.1
+ doxygen/manpages/man1/dcmdrle.1
+ doxygen/manpages/man1/dcmdspfn.1
+ doxygen/manpages/man1/dcmdump.1
+ doxygen/manpages/man1/dcmftest.1
+ doxygen/manpages/man1/dcmgpdir.1
+ doxygen/manpages/man1/dcmj2pnm.1
+ doxygen/manpages/man1/dcml2pnm.1
+ doxygen/manpages/man1/dcmmkcrv.1
+ doxygen/manpages/man1/dcmmkdir.1
+ doxygen/manpages/man1/dcmmklut.1
+ doxygen/manpages/man1/dcmodify.1
+ doxygen/manpages/man1/dcmp2pgm.1
+ doxygen/manpages/man1/dcmprscp.1
+ doxygen/manpages/man1/dcmprscu.1
+ doxygen/manpages/man1/dcmpschk.1
+ doxygen/manpages/man1/dcmpsmk.1
+ doxygen/manpages/man1/dcmpsprt.1
+ doxygen/manpages/man1/dcmpsrcv.1
+ doxygen/manpages/man1/dcmpssnd.1
+ doxygen/manpages/man1/dcmqridx.1
+ doxygen/manpages/man1/dcmqrscp.1
+ doxygen/manpages/man1/dcmqrti.1
+ doxygen/manpages/man1/dcmquant.1
+ doxygen/manpages/man1/dcmrecv.1
+ doxygen/manpages/man1/dcmscale.1
+ doxygen/manpages/man1/dcmsend.1
+ doxygen/manpages/man1/dcmsign.1
+ doxygen/manpages/man1/dcod2lum.1
+ doxygen/manpages/man1/dconvlum.1
+ doxygen/manpages/man1/drtdump.1
+ doxygen/manpages/man1/dsr2html.1
+ doxygen/manpages/man1/dsr2xml.1
+ doxygen/manpages/man1/dsrdump.1
+ doxygen/manpages/man1/dump2dcm.1
+ doxygen/manpages/man1/echoscu.1
+ doxygen/manpages/man1/findscu.1
+ doxygen/manpages/man1/getscu.1
+ doxygen/manpages/man1/img2dcm.1
+ doxygen/manpages/man1/movescu.1
+ doxygen/manpages/man1/pdf2dcm.1
+ doxygen/manpages/man1/storescp.1
+ doxygen/manpages/man1/storescu.1
+ doxygen/manpages/man1/termscu.1
+ doxygen/manpages/man1/wlmscpfs.1
+ doxygen/manpages/man1/xml2dcm.1
+ doxygen/manpages/man1/xml2dsr.1
+
+**** Changes from 2015.09.23 (riesmeier)
+
+- Added three new DCMTK modules to README:
+ Added the new DCMTK modules dcmfg, dcmiod and dcmseg to the README file.
+ Affects: README
+
+**** Changes from 2015.09.18 (riesmeier)
+
+- Fixed order of modules in main HTML file:
+ The order of DCMTK modules in the main HTML documentation file was almost
+ alphabetical. Now, the order should be as it always was intended.
+ Affects: doxygen/htmldocs.dox
+
+- Fixed various minor issues in module descriptions.
+ Affects: dcmfg/docs/dcmfg.dox
+ dcmiod/docs/dcmiod.dox
+ dcmseg/docs/dcmseg.dox
+
+- Updated currently supported compiler versions:
+ Updated compiler versions for Linux and Windows operating system usually
+ supported by the current development version (aka "snapshot").
+ Affects: INSTALL
+
+- Check for recently approved multi-frame images:
+ Updated check for multi-frame images regarding some recently approved
+ multi-frame image IODs (i.e. their associated SOP Class UIDs), which were
+ missing. Also added a comment explaining that it is not always clear what
+ DICOM PS 3.11 (Media Storage Application Profiles) means with "multi-frame
+ Media Image Storage SOP Classes" and similar descriptions.
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+- Added support for new UIDs from Supplement 156:
+ Added support for new Storage SOP Class UIDs from Supplement 156 (Planar
+ MPR Volumetric Presentation State).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added support for Supplement 156 to dictionary:
+ Added support for the final text version of Supplement 156 (Planar MPR
+ Volumetric Presentation State) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Added support for recently approved CPs:
+ Added support for CP-1441, CP-1454, CP-1458 and CP-1461 to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+**** Changes from 2015.09.17 (onken)
+
+- Enable private tags in builtin dictionary on CMake:
+ CMake did not allow the use of the private tag option together with the builtin
+ dictionary. Since that combination works fine, this restriction was removed.
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Fixed another typo.
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Fixed typo and made documentation more consistent.
+ Affects: config/configure.in
+ config/docs/macros.txt
+
+- Fixed typo in CMake script that can cause warnings.
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2015.09.16 (onken)
+
+- Simplified builtin dictionary infrastructure:
+ DCMTK has three mechanisms to populate its global data dictionary, one of them
+ being the builtin dictionary that is compiled into the object code. Now, always
+ dcdictbi.cc is used as source for the builtin dictionary. dcdictzz.cc as well
+ as various make targets are not required any more.
+ mkdictbi.cc and mkdeftag.cc can still be used to re-create dcdictbi.cc and
+ dcdeftag.h respectively (the latter containing tag constants). New make targets
+ updatebuiltindict and updatedeftag compile those tools and create the new
+ source code based on dicom.dic and private.dic.
+ Further details can be found in dcmdata/docs/datadict.txt
+ Removed: dcmdata/libsrc/dcdictbi.nul
+ dcmdata/libsrc/dcdictzz.cc
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/configure.in
+ config/docs/macros.txt
+ config/include/dcmtk/config/osconfig.h.in
+ dcmdata/docs/datadict.txt
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/Makefile.in
+ dcmdata/libsrc/dcdictbi.cc
+ dcmdata/libsrc/mkdeftag.cc
+ dcmdata/libsrc/mkdictbi.cc
+ dcmpstat/libsrc/Makefile.dep
+
+**** Changes from 2015.09.15 (onken)
+
+- Renamed dictionary configuration build options:
+ Renamed the configuration option used for enabling or disabling builtin
+ dictionary, external dictionary and automated loading of the external private
+ dictionary private tag. The build configuration options are now called
+ enable/disable instead of with/without since the later is only to be used for
+ configuring support for external packages like ZLIB or OpenSSL. Also fixed
+ some typos.
+ Affects: CMake/DCMTKConfig.cmake.in
+ CMake/DCMTKConfig.cmake26.in
+ CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkPrepare.cmake
+ CMake/osconfig.h.in
+ config/Makefile.def.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ dcmdata/docs/datadict.txt
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.in
+ dcmdata/libsrc/mkdictbi.cc
+
+**** Changes from 2015.09.12 (riesmeier)
+
+- Added "YXLON" to the new CREDITS file.
+ Affects: CREDITS
+
+**** Changes from 2015.09.11 (riesmeier)
+
+- Added CREDITS file:
+ Added CREDITS file that contains a list of individuals, companies and
+ organizations we would like to thank for supporting the development and
+ maintenance of the DCMTK. Of course, this list is not (yet) complete but
+ will be extended over time.
+ Added: CREDITS
+ Affects: CMakeLists.txt
+ Makefile
+ config/rootconf
+
+**** Changes from 2015.09.03 (onken)
+
+- Use static_cast instead of dynamic_cast:
+ In DCMTK there is a rule not to use dynamic_cast at all even if it is
+ already available in the toolkit via OFdynamic_cast. Thus all calls have
+ been replaced with OFstatic_cast calls instead.
+ Affects: dcmiod/libsrc/iodutil.cc
+ dcmiod/libsrc/modimagepixel.cc
+ dcmiod/libsrc/modmultiframedimension.cc
+
+**** Changes from 2015.09.02 (onken)
+
+- Replaced tab characters with spaces.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h
+ dcmiod/libsrc/modbase.cc
+
+**** Changes from 2015.09.02 (riesmeier)
+
+- Introduced global definitions for certain tags:
+ Introduced global definitions for Item and Sequence Delimitation Item tags
+ where the (internal) VR is already passed to the DcmTag constructor.
+ Using these definitions avoids the time-consuming VR lookup. This improves
+ the performance when parsing DICOM objects with very large SQ elements (i.e.
+ sequences with thousands of items like in many Enhanced Multi-frame IODs).
+ Also renamed the global definitions of "ItemTag" and "InternalUseTag", which
+ now also have the common "DCM_" prefix, and passed (internal) VR to them.
+ Furthermore, introduced definitions for Pixel Item and Pixel Sequence, which
+ makes the source code more readable.
+ Affects: dcmdata/apps/dump2dcm.cc
+ dcmdata/apps/xml2dcm.cc
+ dcmdata/include/dcmtk/dcmdata/dcpixseq.h
+ dcmdata/include/dcmtk/dcmdata/dcpxitem.h
+ dcmdata/include/dcmtk/dcmdata/dctag.h
+ dcmdata/libi2d/i2d.cc
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcmetinf.cc
+ dcmdata/libsrc/dcpixseq.cc
+ dcmdata/libsrc/dcrlecce.cc
+ dcmdata/libsrc/dcsequen.cc
+ dcmjpeg/libsrc/djcodece.cc
+ dcmjpls/libsrc/djcodece.cc
+
+**** Changes from 2015.09.01 (riesmeier)
+
+- Check logger for debug output of template tree:
+ Check whether the debug logger is enabled (instead of the define "DEBUG") when
+ printing the contents of the template tree to the console.
+ Added: dcmsr/tests/gmon.out
+ Affects: dcmsr/tests/Makefile.dep
+ dcmsr/tests/tsrcmr.cc
+
+- Removed version suffix "3" from dictionary entries.
+ Affects: dcmdata/libsrc/dcdict.cc
+
+- Added comment that "Big Endian" is retired:
+ Added comment that the "Explicit VR Big Endian" transfer syntax has been
+ retired. This is mainly for reasons of consistency with the other retired
+ transfer syntaxes that are defined in this header file.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+
+**** Changes from 2015.08.28 (riesmeier)
+
+- Fixed "cardinality" for SQ elements in comments:
+ Fixed value of "cardinality" for SQ elements in comments ("1-n" for "one or
+ more items" instead of "1" as it was before).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+
+- Fixed various issues in test case:
+ Fixed various issues in test case "dcmnet_dimseDump_nullByte", e.g. use the
+ attribute Affected SOP Instance UID instead of Patient's Name for the UI
+ element in the C-ECHO Request message. Also changed order of parameters in
+ OFCHECK_EQUAL() call.
+ Affects: dcmnet/tests/tdump.cc
+
+- Made sure that "dicom.dic" is loaded for tests:
+ Made sure that the data dictionary that is shippped with the DCMTK is loaded
+ before the test cases in the "dcmnet" module are started. This prevents that
+ some tests fail if the VR (and/or the attribute name) of particular tags are
+ unknown.
+ Affects: dcmnet/tests/Makefile.in
+
+**** Changes from 2015.08.28 (onken)
+
+- Added mising "check-exhaustive" targets:
+ Added missing "check-exhaustive" targets to new modules dcmiod, dcmfg and
+ dcmseg.
+ Affects: dcmfg/Makefile.in
+ dcmiod/Makefile.in
+ dcmiod/tests/Makefile.in
+ dcmseg/Makefile.in
+
+- Added more files to be ignored by git:
+ Added "*.*~" since it is used by some editors for temporary files.
+ Affects: .gitignore
+
+**** Changes from 2015.08.27 (onken)
+
+- Added shared library export maro to IODModule:
+ The shared library export macro was missing for the IODModule class which
+ triggered (at least) warnings in Visual Studo 2010.
+ Affects: dcmiod/include/dcmtk/dcmiod/modbase.h
+
+- Updated dictionary build and code documentation.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkPrepare.cmake
+ config/configure
+ config/configure.in
+ dcmdata/docs/datadict.txt
+ dcmdata/include/dcmtk/dcmdata/dcdict.h
+
+**** Changes from 2015.08.27 (riesmeier)
+
+- Made sure that tree node annotations are copied:
+ Made sure that tree node annotations are copied/cloned when a copy or clone
+ of a tree node or a (sub)tree is created. This makes sure that the additional
+ textual information (e.g. a user-defined label or the template ID/row number)
+ is also available in the copy/clone. As always: enhanced existing test cases.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added support for clearing tree node annotations:
+ Added support for clearing tree node annotations, either individually or
+ for all nodes in a tree. Also enhanced existing test cases in this regard.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtnant.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/tests/tsrtree.cc
+
+- Added support for Context Group CID 100 and 7021:
+ Added support for Context Group CID 100 (Quantitative Diagnostic Imaging
+ Procedures) and CID 7021 (Measurement Report Document Titles), which will
+ be needed for the upcoming template class of TID 1500 (Measurement Report).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
+ dcmsr/libcmr/cid100.cc
+ dcmsr/libcmr/cid7021.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
+ dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/libcmr/init.cc
+
+**** Changes from 2015.08.26 (riesmeier)
+
+- Added support for annotating content items:
+ Added support for textual annotations, which can be used to label content
+ items with user-defined information. This might facilitate the navigation
+ within the document tree and is especially useful for document structures
+ based on templates. Therefore, the template classes in the "cmr" (Content
+ Mapping Resource) submodule annotate all content items with a predefined
+ text of the format "TID xxxx - Row nn".
+ Added: dcmsr/include/dcmtk/dcmsr/dsrtnant.h
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/tid1001.cc
+ dcmsr/libcmr/tid1204.cc
+ dcmsr/libcmr/tid1600.cc
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/dsrcitem.cc
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcmr.cc
+ dcmsr/tests/tsrdoctr.cc
+ dcmsr/tests/tsrtree.cc
+
+- Avoid seperator if time component is empty:
+ Avoid separator between date and time component of a "DateTime" value if the
+ latter is empty. Before, there was a trailing space in the resulting string.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrdt.h
+ dcmdata/libsrc/dcvrdt.cc
+
+- Extracted general information from template:
+ Extracted general information on template into local macros (#defines).
+ The same approach is already used for the context group classes. Also
+ made sure that the "type" of the template (extensible or non-extensible)
+ is set.
+ Affects: dcmsr/libcmr/tid1001.cc
+ dcmsr/libcmr/tid1204.cc
+ dcmsr/libcmr/tid1600.cc
+
+- Slightly changed conversion operator:
+ Slightly changed conversion operator of context group class that returns
+ the currently selected coded entry value. The new version of this operator
+ avoids the creation of an unwanted copy.
+ Also added new tests to check whether the conversion operator actually works.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
+ dcmsr/tests/tsrcmr.cc
+
+**** Changes from 2015.08.26 (onken)
+
+- Build flags for internal and external dictionary:
+ Introduced build flags for controlling whether DCMTK will use an internal,
+ compiled-in and/or an external dictionary. On Windows systems, a
+ built-in dictionary (only) is the default, while on Unix only the external one
+ is enabled per default. This behaviour is identical to the old one. It is
+ possible to enable both options simultanously; then the built-in is loaded
+ first, and the external one is loaded afterwards. More details can be found
+ in dcmdata/docs/datadict.txt
+ Acknowledgement: This work has been supported by the "QIICR" project.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkPrepare.cmake
+ config/Makefile.def.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ dcmdata/docs/datadict.txt
+ dcmdata/include/dcmtk/dcmdata/dcdict.h
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.in
+
+**** Changes from 2015.08.25 (riesmeier)
+
+- Added initial version of TID 1600 (Image Library):
+ Added initial version of TID 1600 (Image Library) and included templates
+ TID 1601 to 1607. Also added a quite comprehensive test for this new template.
+ Please note that there are still a few details in the source code that are
+ marked with "tbc" (to be checked) or "tbd" (to be done). Also the class
+ documentation contains corresponding notes and warns about this fact.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/libcmr/tid1600.cc
+ Affects: dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcmr.cc
+ dcmsr/tests/tsrcodvl.cc
+
+- Updated Makefile dependencies.
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+
+- Introduced type for list of CID 7445 values:
+ Introduced type for list of device participating roles (CID 7445).
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
+ dcmsr/libcmr/tid1001.cc
+
+- Added initial version of SRT and UCUM codes:
+ Added initial version of SNOMED-RT (Coding Scheme "SRT") and Unified Code for
+ Units of Measure ("UCUM") code definitions. In contrast to the "DCM" codes,
+ which were added only recently to the DCMTK, these two new coding schemes only
+ consist of those codes that are needed for TID 1600 to 1607 (Image Library).
+ Further codes will be added when needed.
+ The code definitions are generated semi-automatically from the machine-readable
+ DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That
+ means that the definitions will be updated from time to time as the standard
+ evolves. However, please be warned that the names of the constants/defines
+ might change in the future (hopefully, there will be official keywords in the
+ standard like they are for the DICOM attribute tags in PS 3.6).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/codes/srt.h
+ dcmsr/include/dcmtk/dcmsr/codes/ucum.h
+
+**** Changes from 2015.08.24 (riesmeier)
+
+- Added enhanced versions of CID 10013 and 10033:
+ Added derived classes for CID10013_CTAcquisitionType and
+ CID10033_CTReconstructionAlgorithm, which provide enhanced functionality,
+ e.g. a mapping of Defined Terms to coded entries (from the respective
+ context group). These new classes will be needed for TID 1605 (Image
+ Library Entry Descriptors for CT).
+ Also added new test cases in order to make sure that these classes
+ work correctly (i.e. as expected).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/cid10013e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033e.h
+ dcmsr/libcmr/cid10013e.cc
+ dcmsr/libcmr/cid10033e.cc
+ Affects: dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Updated Makefile dependencies.
+ Affects: dcmiod/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+
+- Fixed inconsistencies regarding the use of OFMap:
+ Fixed various inconsistenties regarding the use of OFMap and OFMake_pair().
+ Affects: dcmsr/libcmr/cid10013.cc
+ dcmsr/libcmr/cid10033.cc
+ dcmsr/libcmr/cid11.cc
+ dcmsr/libcmr/cid244.cc
+ dcmsr/libcmr/cid29.cc
+ dcmsr/libcmr/cid4020.cc
+ dcmsr/libcmr/cid4021.cc
+ dcmsr/libcmr/cid4031.cc
+ dcmsr/libcmr/cid42.cc
+ dcmsr/libcmr/cid5000.cc
+ dcmsr/libcmr/cid5001.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+
+- Added methods to read/write to/from sequence items:
+ Added public methods that allow for reading from and writing to a given
+ sequence item. These methods are needed to support code modifiers.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+
+- Added new optional parameter "vm" to readSequence:
+ Added new optional parameter "vm" to the readSequence() method, which allows
+ for specifying the expected value multiplicity (i.e. cardinality) of the
+ sequence to be read. The default behavior remains the same (i.e. "vm = 1").
+ This change will allow for reading code sequences with multiple items, e.g.
+ containing modifiers of a higher level coded entry.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+
+- Fixed copyright header in module "dcmsr":
+ Fixed copyright header in module "dcmsr": All files that were added after
+ 1 December 2012 and authored by J. Riesmeier now have a different copyright
+ holder. Of course, the license terms are the same (New BSD License), and
+ OFFIS is still the maintainer of the source code.
+ With other words, nothing changes for the user.
+ Affects: COPYRIGHT
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/include/dcmtk/dcmsr/cmr/define.h
+ dcmsr/include/dcmtk/dcmsr/cmr/init.h
+ dcmsr/include/dcmtk/dcmsr/cmr/logger.h
+ dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h
+ dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+ dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgse.h
+ dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/libcmr/cid10013.cc
+ dcmsr/libcmr/cid10033.cc
+ dcmsr/libcmr/cid11.cc
+ dcmsr/libcmr/cid244.cc
+ dcmsr/libcmr/cid244e.cc
+ dcmsr/libcmr/cid29.cc
+ dcmsr/libcmr/cid29e.cc
+ dcmsr/libcmr/cid4020.cc
+ dcmsr/libcmr/cid4021.cc
+ dcmsr/libcmr/cid4031.cc
+ dcmsr/libcmr/cid4031e.cc
+ dcmsr/libcmr/cid42.cc
+ dcmsr/libcmr/cid5000.cc
+ dcmsr/libcmr/cid5001.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+ dcmsr/libcmr/init.cc
+ dcmsr/libcmr/logger.cc
+ dcmsr/libcmr/srnumvl.cc
+ dcmsr/libcmr/tid1001.cc
+ dcmsr/libcmr/tid1204.cc
+ dcmsr/libsrc/dsrc3dcc.cc
+ dcmsr/libsrc/dsrctpl.cc
+ dcmsr/libsrc/dsrctxgr.cc
+ dcmsr/libsrc/dsrimgse.cc
+ dcmsr/libsrc/dsrrrdcc.cc
+ dcmsr/libsrc/dsrrtpl.cc
+ dcmsr/libsrc/dsrstpl.cc
+ dcmsr/tests/tsrcmr.cc
+ dcmsr/tests/tsrcodvl.cc
+ dcmsr/tests/tsrdoc.cc
+ dcmsr/tests/tsrdoctr.cc
+ dcmsr/tests/tsrnumvl.cc
+ dcmsr/tests/tsrtpl.cc
+
+- Added name prefix to class ContentMappingResource:
+ Added name prefix "CMR_" to class ContentMappingResource in order to be
+ consistent with other classes in this module.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
+ dcmsr/libcmr/init.cc
+ dcmsr/tests/tsrcmr.cc
+
+**** Changes from 2015.08.23 (onken)
+
+- Made copyright header consistent in new modules.
+ Affects: dcmfg/include/dcmtk/dcmfg/fg.h
+ dcmfg/include/dcmtk/dcmfg/fgbase.h
+ dcmfg/include/dcmtk/dcmfg/fgdefine.h
+ dcmfg/include/dcmtk/dcmfg/fgderimg.h
+ dcmfg/include/dcmtk/dcmfg/fgfact.h
+ dcmfg/include/dcmtk/dcmfg/fgfracon.h
+ dcmfg/include/dcmtk/dcmfg/fgframevoilut.h
+ dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h
+ dcmfg/include/dcmtk/dcmfg/fginterface.h
+ dcmfg/include/dcmtk/dcmfg/fgpixmsr.h
+ dcmfg/include/dcmtk/dcmfg/fgplanor.h
+ dcmfg/include/dcmtk/dcmfg/fgplanorvol.h
+ dcmfg/include/dcmtk/dcmfg/fgplanpo.h
+ dcmfg/include/dcmtk/dcmfg/fgplanposvol.h
+ dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
+ dcmfg/include/dcmtk/dcmfg/fgseg.h
+ dcmfg/include/dcmtk/dcmfg/fgtypes.h
+ dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h
+ dcmfg/include/dcmtk/dcmfg/stack.h
+ dcmfg/include/dcmtk/dcmfg/stackinterface.h
+ dcmfg/libsrc/fg.cc
+ dcmfg/libsrc/fgbase.cc
+ dcmfg/libsrc/fgderimg.cc
+ dcmfg/libsrc/fgfact.cc
+ dcmfg/libsrc/fgfracon.cc
+ dcmfg/libsrc/fgframevoilut.cc
+ dcmfg/libsrc/fgimagedatatype.cc
+ dcmfg/libsrc/fginterface.cc
+ dcmfg/libsrc/fgpixmsr.cc
+ dcmfg/libsrc/fgplanor.cc
+ dcmfg/libsrc/fgplanorvol.cc
+ dcmfg/libsrc/fgplanpo.cc
+ dcmfg/libsrc/fgplanposvol.cc
+ dcmfg/libsrc/fgrealworldvaluemapping.cc
+ dcmfg/libsrc/fgseg.cc
+ dcmfg/libsrc/fgtypes.cc
+ dcmfg/libsrc/fgusimagedescription.cc
+ dcmfg/libsrc/stack.cc
+ dcmfg/libsrc/stackinterface.cc
+ dcmseg/include/dcmtk/dcmseg/segdef.h
+ dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/include/dcmtk/dcmseg/segment.h
+ dcmseg/include/dcmtk/dcmseg/segtypes.h
+ dcmseg/include/dcmtk/dcmseg/segutils.h
+ dcmseg/libsrc/segdoc.cc
+ dcmseg/libsrc/segment.cc
+ dcmseg/libsrc/segtypes.cc
+ dcmseg/libsrc/segutils.cc
+
+- Removed unused link libraries.
+ Affects: dcmseg/libsrc/CMakeLists.txt
+
+- Fixed compilers errors (mostly STL-specific).
+ Affects: dcmfg/libsrc/fg.cc
+ dcmfg/libsrc/fginterface.cc
+ dcmfg/libsrc/stack.cc
+ dcmfg/libsrc/stackinterface.cc
+ dcmiod/include/dcmtk/dcmiod/iodutil.h
+ dcmiod/libsrc/iodrules.cc
+ dcmiod/libsrc/modbase.cc
+ ofstd/include/dcmtk/ofstd/oftraits.h
+
+**** Changes from 2015.08.23 (riesmeier)
+
+- Fixed typo and other minor issues in comments.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h
+
+**** Changes from 2015.08.22 (onken)
+
+- Fixed various doxygen formatting issues.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmfg/include/dcmtk/dcmfg/fgbase.h
+ dcmfg/include/dcmtk/dcmfg/fgderimg.h
+ dcmfg/include/dcmtk/dcmfg/fgfact.h
+ dcmfg/include/dcmtk/dcmfg/fgfracon.h
+ dcmfg/include/dcmtk/dcmfg/fgframevoilut.h
+ dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h
+ dcmfg/include/dcmtk/dcmfg/fginterface.h
+ dcmfg/include/dcmtk/dcmfg/fgpixmsr.h
+ dcmfg/include/dcmtk/dcmfg/fgplanor.h
+ dcmfg/include/dcmtk/dcmfg/fgplanorvol.h
+ dcmfg/include/dcmtk/dcmfg/fgplanpo.h
+ dcmfg/include/dcmtk/dcmfg/fgplanposvol.h
+ dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
+ dcmfg/include/dcmtk/dcmfg/fgseg.h
+ dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h
+ dcmiod/include/dcmtk/dcmiod/iodcommn.h
+ dcmiod/include/dcmtk/dcmiod/iodmacro.h
+ dcmiod/include/dcmtk/dcmiod/iodrules.h
+ dcmiod/include/dcmtk/dcmiod/iodtypes.h
+ dcmiod/include/dcmtk/dcmiod/iodutil.h
+ dcmiod/include/dcmtk/dcmiod/modbase.h
+ dcmiod/include/dcmtk/dcmiod/modenhusseries.h
+ dcmiod/include/dcmtk/dcmiod/modgeneralseries.h
+ dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h
+ dcmiod/include/dcmtk/dcmiod/modhelp.h
+ dcmiod/include/dcmtk/dcmiod/modimagepixel.h
+ dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h
+ dcmiod/include/dcmtk/dcmiod/modsopcommon.h
+ dcmiod/libsrc/iodmacro.cc
+ dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/include/dcmtk/dcmseg/segtypes.h
+ dcmseg/libsrc/segdoc.cc
+
+- Fixed mostly constness for some compilers:
+ Fixed constness of iterators and parameter in derived method.
+ Affects: dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
+ dcmfg/libsrc/fgrealworldvaluemapping.cc
+ dcmfg/libsrc/stack.cc
+ dcmfg/libsrc/stackinterface.cc
+ dcmiod/include/dcmtk/dcmiod/iodmacro.h
+ dcmiod/include/dcmtk/dcmiod/modbase.h
+ dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
+ dcmiod/include/dcmtk/dcmiod/modenhusimage.h
+ dcmiod/libsrc/iodmacro.cc
+ dcmiod/libsrc/modcommoninstanceref.cc
+ dcmiod/libsrc/modenhusimage.cc
+ dcmseg/libsrc/segdoc.cc
+
+- Removed unused method.
+ Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/libsrc/segdoc.cc
+
+- Fixed possible DICOM VR problems.
+ Affects: dcmiod/include/dcmtk/dcmiod/modimagepixel.h
+ dcmiod/libsrc/modimagepixel.cc
+ dcmiod/libsrc/modmultiframefg.cc
+
+- Fixed iterator constness.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodrules.h
+ dcmiod/libsrc/iodrules.cc
+
+**** Changes from 2015.08.21 (onken)
+
+- Fixed iterator dereference.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h
+
+- Removed more accidentially checked in test files:
+ Removed more dcmseg module test files that have been checked in
+ accidentially.
+ Removed: dcmseg/tests/CMakeLists.txt
+ dcmseg/tests/tests.cc
+ dcmseg/tests/tpack.cc
+
+- Removed accidentially checked in test files:
+ Removed dcmseg module test files that have been checked in accidentially.
+ Removed: dcmseg/apps.tar.gz
+ dcmseg/apps/CMakeLists.txt
+ dcmseg/apps/makeseg.cc
+ dcmseg/apps/rwseg.cc
+
+- Introduced new modules dcmiod, dcmfg and dcmseg:
+ dcmiod is a module that makes it easy to work with common DICOM IOD modules
+ and IODs being composed of them. When writing modules it is ensured that
+ basic checks are performed regarding the presence of required attributes and
+ their values as well as the validity of values. Classes like DcmIODCommon and
+ DcmIODImage can be used to derive user-defined classes that implement specific
+ DICOM IODs, making it easier to concentrate on the specifics of a particular
+ IOD.
+ The dcmfg module facilitates working with functional group that have been
+ introduced to DICOM in the context of the "Enhanced" family of IOD objects
+ that contain multiple frames that are described via shared and per-frame
+ functional groups. This class offers a generic interface to create, modify,
+ load and store such functional groups. Also, it supports a dozen of
+ functional groups directly by offering classes with related getter and setter
+ methods.
+ Finally, the dcmseg module makes use of dcmiod and dcmfg in order to
+ implement an Enhanced DICOM object, the Segmenation IOD. Since most of the
+ underlying data elements are already provided by dcmiod and dcmfg, dcmseg
+ only consists of a single class and some helpers.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ QIICR is supported by NIH National Cancer Institute, award U24 CA180918.
+ Added: dcmdata/include/dcmtk/dcmdata/dcdatutl.h
+ dcmdata/libsrc/dcdatutl.cc
+ dcmfg/CMakeLists.txt
+ dcmfg/Makefile.in
+ dcmfg/configure
+ dcmfg/data/Makefile.in
+ dcmfg/docs/Makefile.in
+ dcmfg/docs/dcmfg.dox
+ dcmfg/etc/Makefile.in
+ dcmfg/include/CMakeLists.txt
+ dcmfg/include/Makefile.in
+ dcmfg/include/dcmtk/dcmfg/fg.h
+ dcmfg/include/dcmtk/dcmfg/fgbase.h
+ dcmfg/include/dcmtk/dcmfg/fgdefine.h
+ dcmfg/include/dcmtk/dcmfg/fgderimg.h
+ dcmfg/include/dcmtk/dcmfg/fgfact.h
+ dcmfg/include/dcmtk/dcmfg/fgfracon.h
+ dcmfg/include/dcmtk/dcmfg/fgframevoilut.h
+ dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h
+ dcmfg/include/dcmtk/dcmfg/fginterface.h
+ dcmfg/include/dcmtk/dcmfg/fgpixmsr.h
+ dcmfg/include/dcmtk/dcmfg/fgplanor.h
+ dcmfg/include/dcmtk/dcmfg/fgplanorvol.h
+ dcmfg/include/dcmtk/dcmfg/fgplanpo.h
+ dcmfg/include/dcmtk/dcmfg/fgplanposvol.h
+ dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
+ dcmfg/include/dcmtk/dcmfg/fgseg.h
+ dcmfg/include/dcmtk/dcmfg/fgtypes.h
+ dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h
+ dcmfg/include/dcmtk/dcmfg/stack.h
+ dcmfg/include/dcmtk/dcmfg/stackinterface.h
+ dcmfg/libsrc/CMakeLists.txt
+ dcmfg/libsrc/Makefile.dep
+ dcmfg/libsrc/Makefile.in
+ dcmfg/libsrc/fg.cc
+ dcmfg/libsrc/fgbase.cc
+ dcmfg/libsrc/fgderimg.cc
+ dcmfg/libsrc/fgfact.cc
+ dcmfg/libsrc/fgfracon.cc
+ dcmfg/libsrc/fgframevoilut.cc
+ dcmfg/libsrc/fgimagedatatype.cc
+ dcmfg/libsrc/fginterface.cc
+ dcmfg/libsrc/fgpixmsr.cc
+ dcmfg/libsrc/fgplanor.cc
+ dcmfg/libsrc/fgplanorvol.cc
+ dcmfg/libsrc/fgplanpo.cc
+ dcmfg/libsrc/fgplanposvol.cc
+ dcmfg/libsrc/fgrealworldvaluemapping.cc
+ dcmfg/libsrc/fgseg.cc
+ dcmfg/libsrc/fgtypes.cc
+ dcmfg/libsrc/fgusimagedescription.cc
+ dcmfg/libsrc/stack.cc
+ dcmfg/libsrc/stackinterface.cc
+ dcmfg/tests/Makefile.in
+ dcmiod/CMakeLists.txt
+ dcmiod/Makefile.in
+ dcmiod/configure
+ dcmiod/data/Makefile.in
+ dcmiod/docs/Makefile.in
+ dcmiod/docs/dcmiod.dox
+ dcmiod/etc/Makefile.in
+ dcmiod/include/CMakeLists.txt
+ dcmiod/include/Makefile.in
+ dcmiod/include/dcmtk/dcmiod/iodcommn.h
+ dcmiod/include/dcmtk/dcmiod/ioddef.h
+ dcmiod/include/dcmtk/dcmiod/iodimage.h
+ dcmiod/include/dcmtk/dcmiod/iodmacro.h
+ dcmiod/include/dcmtk/dcmiod/iodrules.h
+ dcmiod/include/dcmtk/dcmiod/iodtypes.h
+ dcmiod/include/dcmtk/dcmiod/iodutil.h
+ dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h
+ dcmiod/include/dcmtk/dcmiod/modbase.h
+ dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h
+ dcmiod/include/dcmtk/dcmiod/modenhequipment.h
+ dcmiod/include/dcmtk/dcmiod/modenhusimage.h
+ dcmiod/include/dcmtk/dcmiod/modenhusseries.h
+ dcmiod/include/dcmtk/dcmiod/modequipment.h
+ dcmiod/include/dcmtk/dcmiod/modfor.h
+ dcmiod/include/dcmtk/dcmiod/modgeneralimage.h
+ dcmiod/include/dcmtk/dcmiod/modgeneralseries.h
+ dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h
+ dcmiod/include/dcmtk/dcmiod/modhelp.h
+ dcmiod/include/dcmtk/dcmiod/modimagepixel.h
+ dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h
+ dcmiod/include/dcmtk/dcmiod/modmultiframefg.h
+ dcmiod/include/dcmtk/dcmiod/modpatient.h
+ dcmiod/include/dcmtk/dcmiod/modpatientstudy.h
+ dcmiod/include/dcmtk/dcmiod/modsegmentationseries.h
+ dcmiod/include/dcmtk/dcmiod/modsopcommon.h
+ dcmiod/include/dcmtk/dcmiod/modsynchronisation.h
+ dcmiod/include/dcmtk/dcmiod/modusfor.h
+ dcmiod/libsrc/CMakeLists.txt
+ dcmiod/libsrc/Makefile.dep
+ dcmiod/libsrc/Makefile.in
+ dcmiod/libsrc/iodcommn.cc
+ dcmiod/libsrc/iodimage.cc
+ dcmiod/libsrc/iodmacro.cc
+ dcmiod/libsrc/iodrules.cc
+ dcmiod/libsrc/iodtypes.cc
+ dcmiod/libsrc/iodutil.cc
+ dcmiod/libsrc/modacquisitioncontext.cc
+ dcmiod/libsrc/modbase.cc
+ dcmiod/libsrc/modcommoninstanceref.cc
+ dcmiod/libsrc/modenhequipment.cc
+ dcmiod/libsrc/modenhusimage.cc
+ dcmiod/libsrc/modenhusseries.cc
+ dcmiod/libsrc/modequipment.cc
+ dcmiod/libsrc/modfor.cc
+ dcmiod/libsrc/modgeneralimage.cc
+ dcmiod/libsrc/modgeneralseries.cc
+ dcmiod/libsrc/modgeneralstudy.cc
+ dcmiod/libsrc/modhelp.cc
+ dcmiod/libsrc/modimagepixel.cc
+ dcmiod/libsrc/modmultiframedimension.cc
+ dcmiod/libsrc/modmultiframefg.cc
+ dcmiod/libsrc/modpatient.cc
+ dcmiod/libsrc/modpatientstudy.cc
+ dcmiod/libsrc/modsegmentationseries.cc
+ dcmiod/libsrc/modsopcommon.cc
+ dcmiod/libsrc/modsynchronization.cc
+ dcmiod/libsrc/modusfor.cc
+ dcmiod/tests/Makefile.in
+ dcmseg/CMakeLists.txt
+ dcmseg/Makefile.in
+ dcmseg/apps.tar.gz
+ dcmseg/apps/CMakeLists.txt
+ dcmseg/apps/makeseg.cc
+ dcmseg/apps/rwseg.cc
+ dcmseg/configure
+ dcmseg/data/Makefile.in
+ dcmseg/docs/Makefile.in
+ dcmseg/docs/dcmseg.dox
+ dcmseg/etc/Makefile.in
+ dcmseg/include/CMakeLists.txt
+ dcmseg/include/Makefile.in
+ dcmseg/include/dcmtk/dcmseg/segdef.h
+ dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/include/dcmtk/dcmseg/segment.h
+ dcmseg/include/dcmtk/dcmseg/segtypes.h
+ dcmseg/include/dcmtk/dcmseg/segutils.h
+ dcmseg/libsrc/CMakeLists.txt
+ dcmseg/libsrc/Makefile.dep
+ dcmseg/libsrc/Makefile.in
+ dcmseg/libsrc/segdoc.cc
+ dcmseg/libsrc/segment.cc
+ dcmseg/libsrc/segtypes.cc
+ dcmseg/libsrc/segutils.cc
+ dcmseg/tests/CMakeLists.txt
+ dcmseg/tests/Makefile.in
+ dcmseg/tests/tests.cc
+ dcmseg/tests/tpack.cc
+ oflog/tests/Makefile.dep
+ Removed: dcmdata/include/dcmtk/dcmdata/modhelp.h
+ dcmdata/libsrc/modhelp.cc
+ Affects: CMakeLists.txt
+ Makefile
+ config/modules
+ dcmdata/apps/Makefile.dep
+ dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/include/dcmtk/dcmdata/dcpath.h
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/Makefile.in
+ dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcerror.cc
+ dcmdata/libsrc/dcpath.cc
+ dcmdata/tests/Makefile.in
+ dcmimage/apps/Makefile.dep
+ dcmimage/libsrc/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/libsrc/dstorscu.cc
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsign/libsrc/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ doxygen/htmldocs.dox
+ ofstd/include/dcmtk/ofstd/oftraits.h
+ ofstd/libsrc/Makefile.dep
+
+**** Changes from 2015.08.20 (riesmeier)
+
+- Added cleanup() function to context group classes:
+ Added static cleanup() function to all context group classes. There is also
+ a global cleanupAllContextGroups() function that allows for a "clean" program
+ exit, e.g. when using a tool such as "valgrind" to check for memory leaks.
+ Also added a new "test case" that cleans up all context groups at the end.
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/include/dcmtk/dcmsr/cmr/init.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/cid10013.cc
+ dcmsr/libcmr/cid10033.cc
+ dcmsr/libcmr/cid11.cc
+ dcmsr/libcmr/cid244.cc
+ dcmsr/libcmr/cid29.cc
+ dcmsr/libcmr/cid4020.cc
+ dcmsr/libcmr/cid4021.cc
+ dcmsr/libcmr/cid4031.cc
+ dcmsr/libcmr/cid42.cc
+ dcmsr/libcmr/cid5000.cc
+ dcmsr/libcmr/cid5001.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+ dcmsr/libcmr/init.cc
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added enhanced versions of CID 29, 244 and 4031:
+ Added derived classes for CID29_AcquisitionModality, CID244_Laterality and
+ CID4031_CommonAnatomicRegions, which provide enhanced functionality, e.g. a
+ mapping of Defined Terms or Enumerated Values to coded entries (from the
+ respective context group). In contrast to the base classes, these new
+ classes are written manually.
+ As always: also added new test cases in order to make sure that these classes
+ work correctly (i.e. as expected).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h
+ dcmsr/libcmr/cid244e.cc
+ dcmsr/libcmr/cid29e.cc
+ dcmsr/libcmr/cid4031e.cc
+ Affects: dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added "Extensible SR" to known document types:
+ Added the Extensible SR IOD / SOP Class, which was introduced only recently
+ with Supplement 186, to the list of known (but not yet supported) document
+ types. Full support for this IOD / SOP Class will follow in a future commit.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtypes.cc
+
+- Made sure that IOD constraint checker is used:
+ Made sure that constraint checker for the Radiopharmaceutical Radiation
+ Dose SR IOD, which was introduced with commit 365951ec, is actually used.
+ In order to make sure that a constraint checker will never be forgotten
+ again for a newly supported SR document type, the "default" case has been
+ replaced in the corresponding switch() statement.
+ Affects: dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added support for Context Group CID 244:
+ Added support for Context Group CID 244 (Laterality) that will be needed for
+ the upcoming template class of TID 1602 (Image Library Entry Descriptor).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
+ dcmsr/libcmr/cid244.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
+ dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/libcmr/init.cc
+
+**** Changes from 2015.08.19 (riesmeier)
+
+- Clarified use of invalid coded entries:
+ Added comment on addCodedEntry() of context group base class regarding invalid
+ coded entries. Also added new test cases that demonstrate the behavior of the
+ comparison operator of the coded entry class.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcmr.cc
+ dcmsr/tests/tsrcodvl.cc
+
+- Added static method setEnhancedEncodingMode():
+ Added static method that allows for setting the "enhanced encoding mode".
+ This method is protected and can, therefore, only be used by derived classes.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/libcmr/cid10013.cc
+ dcmsr/libcmr/cid10033.cc
+ dcmsr/libcmr/cid11.cc
+ dcmsr/libcmr/cid29.cc
+ dcmsr/libcmr/cid4020.cc
+ dcmsr/libcmr/cid4021.cc
+ dcmsr/libcmr/cid4031.cc
+ dcmsr/libcmr/cid42.cc
+ dcmsr/libcmr/cid5000.cc
+ dcmsr/libcmr/cid5001.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+
+- Added parameter "pos" to getStringValueFromDataset:
+ Added optional parameter "pos" to getStringValueFromDataset(). This allows
+ for using this method (instead of the underlying "dcmdata" method) throughout
+ the "dcmsr" module.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrsoprf.cc
+ dcmsr/libsrc/dsrstrvl.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added specific logger for submodule "dcmsr/cmr".
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/logger.h
+ dcmsr/libcmr/logger.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+
+- Added new command line options to dsrdump:
+ Added new command line options --indicate-enhanced and --no-enhanced-mode to
+ the tool "dsrdump" in order to allow for using the new print flag introduced
+ with the previous commit (i.e. PF_indicateEnhancedEncodingMode).
+ Affects: dcmsr/apps/dsrdump.cc
+ dcmsr/docs/dsrdump.man
+
+- Introduced new flag to customize the print output:
+ Introduced new flag PF_indicateEnhancedEncodingMode that can be used to
+ customize the print() output. This new flag allows for indicating with a
+ "*" that the enhanced encoding mode is used for a code. In doing so, the
+ "printInvalid" parameter has been replaced by a more general numeric
+ "flags" parameter.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrcodtn.cc
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Fixed wrong comment.
+ Affects: dcmrt/libsrc/drttypes.cc
+
+**** Changes from 2015.08.18 (riesmeier)
+
+- Added comment on reserved error codes (for "cmr").
+ Affects: dcmsr/libsrc/dsrtypes.cc
+
+- Fixed typos in comment.
+ Affects: ofstd/libsrc/ofcond.cc
+
+- Added new mode for adding nodes to the tree:
+ Added new mode that allows for adding a node (and its subtree) below the
+ current node before its first child node (if any). This new mode might be
+ useful when inserting nodes (or subtrees) into an existing tree structure.
+ For example, this new mode will be used for the upcoming template TID 1600.
+ Also added new test cases and enhanced existing ones to check whether the new
+ "add mode" works as expected.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtree.cc
+
+- Added method to look up a context group entry:
+ Added method that can be used to look up a coded entry from a context group.
+ This method, therefore, allows for retrieving the "official" code meaning or
+ for automatically setting the "enhanced encoding mode".
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
+ dcmsr/libcmr/cid10013.cc
+ dcmsr/libcmr/cid10033.cc
+ dcmsr/libcmr/cid11.cc
+ dcmsr/libcmr/cid29.cc
+ dcmsr/libcmr/cid4020.cc
+ dcmsr/libcmr/cid4021.cc
+ dcmsr/libcmr/cid4031.cc
+ dcmsr/libcmr/cid42.cc
+ dcmsr/libcmr/cid5000.cc
+ dcmsr/libcmr/cid5001.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+ dcmsr/libsrc/dsrctxgr.cc
+
+- Added new helper method gotoEntryFromNodeList().
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/libsrc/dsrctpl.cc
+
+- Added missing DCMTK_DCMDATA_EXPORT macro:
+ Added missing DCMTK_DCMDATA_EXPORT macro to EC_CODE_CannotConvertToXML.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+
+- Do not set empty concept name codes:
+ Do not set empty concept names in addContentItem() and addChildContentItem().
+ Affects: dcmsr/libsrc/dsrdocst.cc
+
+- Introduced condition constant EC_NotYetImplemented.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
+ dcmsr/libcmr/tid1001.cc
+ ofstd/include/dcmtk/ofstd/ofcond.h
+ ofstd/libsrc/ofcond.cc
+
+- Fixed issue reported by Clang 3.5 on OpenBSD:
+ Fixed compiler warning on wrong comparison reported by Clang 3.5 on
+ OpenBSD 5.7: "comparison of array ... not equal to a null pointer is
+ always true [-Wtautological-pointer-compare]". This warning pointed
+ to a real issue.
+ Affects: dcmpstat/libsrc/dviface.cc
+
+**** Changes from 2015.08.17 (riesmeier)
+
+- Added easier method to set a composite reference:
+ Added method that allows for setting a composite reference from a given DICOM
+ dataset (i.e. using the data element value for SOP Class UID and SOP Instance
+ UID). Before, there was a need to call two separate methods for this purpose.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/libsrc/dsrcomvl.cc
+
+- Added general information on coding scheme "DCM":
+ Added general information on coding scheme "DCM", i.e. additional defines for
+ the name, description and UID that can be used throughout the toolkit. These
+ details are extracted automatically from a machine-readable version of the
+ DICOM standard (PS 3.16-2015c).
+ This is also another step towards supporting further coding schemes.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+
+- Added support for Context Group CID 29:
+ Added support for Context Group CID 29 (Acquisition Modality) that will be
+ needed for the upcoming template class of TID 1602 (Image Library Entry
+ Descriptors) according to CP-1468 (Add defined CID for modality in image
+ library), which is part of the next voting package (VP)
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/libcmr/cid29.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
+ dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/libcmr/init.cc
+
+**** Changes from 2015.08.12 (riesmeier)
+
+- Added check for CID 42 to NUM values:
+ Added check for CID 42 (Numeric Value Qualifier) to Numeric Measurement Values,
+ i.e. whether the coded entry used for the optional Numeric Value Qualifier Code
+ Sequence is contained in the corresponding Context Group. Since support for the
+ DICOM Content Mapping Resource has been implemented in an optional extension to
+ the DICOM Structured Reporting module "dcmsr" (namely "libcmr"), a new class
+ has been derived from DSRNumericMeasurementValue for this purpose. This initial
+ implementation can be used as a "template" for similar use cases.
+ Also added new test that makes sure that the internal processing is correct.
+ This test case also shows how to use the new class.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
+ dcmsr/libcmr/srnumvl.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Enhanced handling of empty Measured Value Sequence:
+ Enhanced handling of Numeric Measurement Values being absent (i.e. both
+ Numeric Value and Measurement Unit have an empty value). This is valid
+ according to the DICOM standard and should, therefore, also be supported
+ when calling the isValid() or setValue() methods of the class managing
+ Numeric Measurement Values in an SR document. It is recommend but not
+ required to specifiy the reason for the absence of the Measured Value
+ Sequence (where these values are stored in a DICOM dataset) in the optional
+ Numeric Value Qualifier Code Sequence (which is also supported, of course).
+ Also added new test that makes sure that the internal processing is correct.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/tests/tsrnumvl.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/tests/CMakeLists.txt
+ dcmsr/tests/Makefile.in
+ dcmsr/tests/tests.cc
+
+**** Changes from 2015.08.11 (riesmeier)
+
+- Fixed various typos in comments.
+ Affects: dcmdata/libsrc/dcfilefo.cc
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrctxgr.cc
+
+**** Changes from 2015.08.10 (riesmeier)
+
+- Added support for further Context Groups:
+ Added support for further Context Groups that are needed for the upcoming
+ template class of TID 1600 (Image Library), i.e. CID 11, 4020, 4021, 4031,
+ 10013 and 10033.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/libcmr/cid10013.cc
+ dcmsr/libcmr/cid10033.cc
+ dcmsr/libcmr/cid11.cc
+ dcmsr/libcmr/cid4020.cc
+ dcmsr/libcmr/cid4021.cc
+ dcmsr/libcmr/cid4031.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
+ dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/libcmr/init.cc
+
+**** Changes from 2015.08.01 (riesmeier)
+
+- Fixed wrong exit code on invalid input file:
+ Fixed wrong exit code (0) in case the input file cannot be read.
+ Thanks to forum user "nikkoara" for the report.
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmsr/apps/dsr2xml.cc
+
+**** Changes from 2015.07.30 (riesmeier)
+
+- Removed superfluous OFStringStream_ends statement:
+ Removed superfluous OFStringStream_ends statement in order to avoid a compiler
+ warning of type "expression result unused" reported by Clang 3.0.
+ Affects: dcmnet/libsrc/scpcfg.cc
+
+**** Changes from 2015.07.28 (riesmeier)
+
+- Fixed wrong documentation of return value:
+ Fixed wrong (or at least imprecise) comment on the return value of one of the
+ setObservationDateTime() methods in DSRByReferenceTreeNode.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+
+**** Changes from 2015.07.27 (riesmeier)
+
+- Updated copyright date.
+ Affects: COPYRIGHT
+
+**** Changes from 2015.07.27 (onken)
+
+- Fixed iterator type.
+ Affects: dcmnet/libsrc/dcasccfg.cc
+
+**** Changes from 2015.07.24 (schlamelcher)
+
+- Fixed building via GCC 4.2 on OpenBSD:
+ Added some configure tests to detect missing functionality on GCC 4.2 resp.
+ OpenBSD (e.g. differences between OpenSSL and LibreSSL).
+ Modified OFoptional to disable default constructor detection if the compiler
+ does not support it and adjusted the unit test accordingly.
+ Modified OFrvalue's unit test to workaround a problem with GCC 4.2's obsolete
+ rvalue to lvalue reference conversion semantics and added a warning to the
+ documentation.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/aclocal.m4
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ dcmtls/libsrc/tlslayer.cc
+ ofstd/include/dcmtk/ofstd/ofoption.h
+ ofstd/include/dcmtk/ofstd/ofutil.h
+ ofstd/tests/tmem.cc
+ ofstd/tests/toption.cc
+
+- Fixed a problem in DcmAttributeFilter's unit test:
+ Most of DcmAttributeFilter's unit test was disabled by an ifdef guard on all
+ compilers except for Visual Studio, which was meant to only disable these
+ checks on Visual Studio 6.
+ Affects: dcmdata/tests/tfilter.cc
+
+- Fixed inconsistent defines in CMake's osconfig.h.
+ Affects: CMake/osconfig.h.in
+
+**** Changes from 2015.07.24 (onken)
+
+- Make sure presentation contexts do not interfer:
+ A bug i fixed where adding a presentation context using transfer syntaxes
+ influenced the transfer syntaxes of other, already existing presentation
+ contexts.
+ Affects: dcmnet/include/dcmtk/dcmnet/assoc.h
+ dcmnet/include/dcmtk/dcmnet/dcasccfg.h
+ dcmnet/include/dcmtk/dcmnet/dccfpcmp.h
+ dcmnet/include/dcmtk/dcmnet/dccfprmp.h
+ dcmnet/include/dcmtk/dcmnet/dccftsmp.h
+ dcmnet/include/dcmtk/dcmnet/scpcfg.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/dcasccff.cc
+ dcmnet/libsrc/dcasccfg.cc
+ dcmnet/libsrc/dccfpcmp.cc
+ dcmnet/libsrc/dccfprmp.cc
+ dcmnet/libsrc/dccftsmp.cc
+ dcmnet/libsrc/scpcfg.cc
+
+**** Changes from 2015.07.20 (riesmeier)
+
+- Added function that initializes all context groups:
+ Added global function that initializes all supported context groups with a
+ single call. This might be useful when most of the context groups are used
+ within a multi-threaded application. See API documentation for details.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/init.h
+ dcmsr/libcmr/init.cc
+ Affects: dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+
+- Added support for CID 42 (Numeric Value Qualifier):
+ Added support for Context Group CID 42 (Numeric Value Qualifier), which is the
+ Defined Context Group (DCID) to be used for the Numeric Value Qualifier Code
+ Sequence, an optional extension of the NUM (numeric measurement) content item.
+ Also fixed minor deviations in the comment text of all other Context Groups.
+ A new test case for CID 42 shows how the conversion operator, which has been
+ introduced with the previous commit, can be used.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/libcmr/cid42.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/libcmr/cid5000.cc
+ dcmsr/libcmr/cid5001.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added conversion operator to context group class:
+ Added conversion operator that returns the currently selected coded entry
+ value to the context group base class DSRContextGroup. This avoids calling
+ the getSelectedValue() method manually in certain cases.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
+
+**** Changes from 2015.07.17 (schlamelcher)
+
+- Fixed building on FreeBSD with C++11 enabled:
+ Modified DCMTK_TRY_COMPILE to respect C++11 compiler flags if C++11 was
+ enabled.
+ Introduced additional configure tests to check for FreeBSD (and OpenBSD)
+ specific behavior regarding alignment specifiers.
+ Fixed a problem in ofxml.cc where the wrong kind of zero value was used (NULL
+ instead of 0).
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkPrepare.cmake
+ CMake/osconfig.h.in
+ config/aclocal.m4
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ ofstd/include/dcmtk/ofstd/ofalign.h
+ ofstd/libsrc/ofxml.cc
+
+- Fixed building on FreeBSD:
+ Added a configure test to accomodate for some FreeBSD specific behavior.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/arith.cc
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+
+**** Changes from 2015.07.17 (riesmeier)
+
+- Enhanced documentation of createNewSOPInstance().
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+
+**** Changes from 2015.07.16 (schlamelcher)
+
+- Fixed cross compiling via MinGW and Wine.
+ Affects: CMake/dcmtkUseWine.cmake
+
+- Fixed problems with previous commit:
+ Fixed compiling with Visual Studio and MinGW, which was broken by the previous
+ commit.
+ Affects: config/arith.cc
+ ofstd/libsrc/ofmath.cc
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2015.07.15 (schlamelcher)
+
+- Refactored handling of some <cmath> functions:
+ Added configure tests to detect wether isinf(), isnan() and finite() are
+ declared inside the std namespace or in the global scope. Updated the
+ implementation of OFStandard::isinf() and OFStandard::isnan() respectively.
+ Moved implementation to new file ofmath.cc and shared this implementation
+ for generating arith.h.
+ This fixes problems on OpenBSD and FreeBSD.
+ Added: ofstd/libsrc/ofmath.cc
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/Makefile.in
+ config/arith.cc
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ ofstd/include/dcmtk/ofstd/ofstdinc.h
+ ofstd/libsrc/CMakeLists.txt
+ ofstd/libsrc/Makefile.in
+ ofstd/libsrc/ofstd.cc
+
+- Updated default compiler flags:
+ Updated compiler flags to fit the requirements of recent versions of OpenBSD.
+ Also took care of some deprecation warnings emitted by newer versions of GCC.
+ Affects: CMake/dcmtkPrepare.cmake
+ config/configure
+ config/configure.in
+
+**** Changes from 2015.07.13 (riesmeier)
+
+- Renamed ANNOUNCE file (removed version suffix):
+ Removed version suffix (".361") from ANNOUNCE file for reasons of consistency
+ with the CHANGES file in the main directory. Only the files in the "docs"
+ subfolder will keep their version suffix.
+ Added: ANNOUNCE
+ Removed: ANNOUNCE.361
+ Affects: CMakeLists.txt
+ Makefile
+ config/rootconf
+
+**** Changes from 2015.07.09 (onken)
+
+- Disable built-in dictionary for CMake Unix builds:
+ On Unix, DCMTK is traditionally built without a built-in dictionary that is
+ compiled into the binaries, using automake. Instead, the dictionary is read
+ during runtime from a well-known file under the installation directory.
+ However, this behaviour was not correctly adapted when porting the existing
+ CMake build toolchain from Windows to Unix so that using CMake under Unix also
+ resulted in a built-in dictionary. This commit makes sure CMake under Unix now
+ shows the same behaviour as the existing automake build. In the near future we
+ will also add a CMake option to toggle between built-in and file-based
+ dictionary.
+ Affects: dcmdata/libsrc/CMakeLists.txt
+
+- Fixed installation and added CHANGES file.
+ Added: CHANGES
+ Affects: CMakeLists.txt
+ Makefile
+ config/rootconf
+
+**** Changes from 2015.07.08 (riesmeier)
+
+- Allow for disabling check on "DICOM file format":
+ Added new mode that allows for disabling the check on the "DICOM file
+ format", i.e. whether the input file contains file meta information
+ (as it is required by part 10 of the standard for all DICOM files).
+ As it is true for all disableXXXCheck() methods, please use this new mode
+ with care. It has been introduced to allow for registering files without
+ meta-header to a DICOMDIR, not to be used on a DICOM storage medium but
+ for local storage (e.g. as an index for all "DICOM files" that reside in
+ a certain directory of the filesystem).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/libsrc/dcddirif.cc
+
+- Consistently use "file-set" and "file format":
+ Consistently use spelling "file-set" and "file format" in comments.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/libsrc/dcddirif.cc
+
+- Improved documentation of disableXXXCheck():
+ Improved documentation of the various disableXXXCheck() methods by using
+ the Doxygen command "@warning" to emphasize that the resulting DICOMDIR file
+ will probably violate the rules for the selected application profile.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+
+- Enhanced check on empty dataset:
+ Enhanced check on empty dataset by also calling DcmDataset::card(). This is
+ required since the previous check "dataset == NULL" was never true (even for
+ DICOM files with an empty dataset).
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+- Fixed issue in OFStandard::combineDirAndFilename():
+ Fixed issue with "hidden files" in OFStandard::combineDirAndFilename(). On
+ Unix systems, hidden files/directories start with a "." in the file/directory
+ name. These names were treated incorrectly by the abovementioned function,
+ which caused unexpected behavior when calling searchDirectoryRecursively() on
+ a directory that contains hidden files or directories. Also added a new test
+ case for this misbehavior.
+ Thanks to DCMTK forum user "Paul Groot" for the original report.
+ Affects: ofstd/libsrc/ofstd.cc
+ ofstd/tests/tofstd.cc
+
+- Added static initialization function (MT-safe):
+ Added static initialization function to context group classes in order to
+ make sure that the internally managed list of standard coded entries is
+ created before it is actually used. This function should be called in case
+ of multi-threaded applications (e.g. before any threads are started).
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/libcmr/cid5000.cc
+ dcmsr/libcmr/cid5001.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+
+**** Changes from 2015.07.07 (riesmeier)
+
+- Fixed issue with wrong quotation marks:
+ Regenerated source files of automatically created Context Group classes in
+ order to fix an issue with wrong quotation marks. Strangely enough, the
+ compiler(s) accepted a constant character string as a OFBool parameter.
+ Affects: dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+
+**** Changes from 2015.07.06 (eichelberg)
+
+- Removed unsupported wwwapps and perl scripts from module dcmwlm:
+ Removed the wwwapps tools and accompanying perl scripts that were
+ developed for the CAR 1996 modality worklist showcase, and largely
+ unused and unsupported.
+ Removed: dcmwlm/docs/CMakeLists.txt
+ dcmwlm/docs/wwwapp.txt
+ dcmwlm/images/offis.gif
+ dcmwlm/perl/changepw.pl
+ dcmwlm/perl/checkvr.ph
+ dcmwlm/perl/isocode.ph
+ dcmwlm/perl/layout.ph
+ dcmwlm/perl/lock.ph
+ dcmwlm/perl/log.ph
+ dcmwlm/perl/main.pl
+ dcmwlm/perl/password.ph
+ dcmwlm/perl/patidel.pl
+ dcmwlm/perl/patiedit.pl
+ dcmwlm/perl/patient.pl
+ dcmwlm/perl/prefs.ph
+ dcmwlm/perl/procdel.pl
+ dcmwlm/perl/procedit.pl
+ dcmwlm/perl/procedur.pl
+ dcmwlm/perl/procstep.pl
+ dcmwlm/perl/prstdel.pl
+ dcmwlm/perl/prstedit.pl
+ dcmwlm/perl/statdel.pl
+ dcmwlm/perl/statedit.pl
+ dcmwlm/perl/station.pl
+ dcmwlm/perl/urldecod.ph
+ dcmwlm/perl/workdel.pl
+ dcmwlm/perl/workedit.pl
+ dcmwlm/perl/worklist.pl
+ dcmwlm/perl/write.ph
+ dcmwlm/wwwapps/CMakeLists.txt
+ dcmwlm/wwwapps/Makefile.dep
+ dcmwlm/wwwapps/Makefile.in
+ dcmwlm/wwwapps/preplock.cc
+ dcmwlm/wwwapps/readoviw.cc
+ dcmwlm/wwwapps/readwlst.cc
+ dcmwlm/wwwapps/writwlst.cc
+ Affects: dcmwlm/CMakeLists.txt
+ dcmwlm/Makefile.in
+ dcmwlm/docs/Makefile.in
+ dcmwlm/docs/dcmwlm.dox
+
+**** Changes from 2015.07.05 (riesmeier)
+
+- Updated data dictionary for DICOM 2015c edition:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released on 2015-07-04. This includes the new tags from Supplement
+ 180 as well as those from CP 1321, 1322, 1402, 1411 and 1438.
+ The total number of entries in the DICOM data dictionary is now 3900.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Updated "DCM" codes for DICOM 2015c edition:
+ Updated DICOM Controlled Terminology Definitions (Coding Scheme "DCM") for
+ the official 2015c edition of the DICOM standard. Please note that a few
+ names (IEC codes) changed.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+
+**** Changes from 2015.07.03 (riesmeier)
+
+- Added first specific Templates and Context Groups:
+ Added first specific Template and Context Group classes, namely CID 5000,
+ 5001, 7445, 7452 and 7453 as well as TID 1001 and 1204. Please note that
+ apart from some special cases (like CID 5000 - Languages and CID 5001 -
+ Countries) most Context Group classes can be generated automatically from
+ a machine-readable DocBook/XML version of DICOM PS 3.16 (DICOM Content
+ Mapping Resource) - and this is how it was actually done :-) The above
+ mentioned Context Groups are the first examples only.
+ The new classes are not part of the "dcmsr" library but contained in a new
+ one ("cmr" - Content Mapping resource). This allows one to continue using
+ the underlying "dcmsr" classes without linking the overhead of the growing
+ "cmr" library to an application (if there is no need to do so).
+ The new test cases for some of the Template and Context Group classes show
+ how they can be used. Further sophisticated examples will follow.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/include/dcmtk/dcmsr/cmr/define.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h
+ dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/libcmr/cid5000.cc
+ dcmsr/libcmr/cid5001.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+ dcmsr/libcmr/tid1001.cc
+ dcmsr/libcmr/tid1204.cc
+ dcmsr/tests/tsrcmr.cc
+ Affects: dcmsr/CMakeLists.txt
+ dcmsr/Makefile.in
+ dcmsr/apps/Makefile.dep
+ dcmsr/include/Makefile.in
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/CMakeLists.txt
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/Makefile.in
+ dcmsr/tests/tests.cc
+
+- Added initial version of DCM code definitions:
+ Added initial version of DICOM Controlled Terminology Definitions (Coding
+ Scheme "DCM", Version "01"). These code definitions use the simple and
+ lightweight DSRBasicCodedEntry class. Also the definitions are no global
+ constants but specified with the compiler directive #define. So, there
+ should no performance overhead (with initialization at programn start).
+ The code definitions are generated automatically from the machine-readable
+ DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That
+ means that the definitions will be updated from time to time as the standard
+ evolves. However, please be warned that the names of the constants/defines
+ might change in the future (hopefully, there will be official keywords in the
+ standard like they are for the DICOM attribute tags in PS 3.6).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+ Affects: dcmsr/include/Makefile.in
+
+- Added base class for context groups:
+ Added base class for context groups. This is for the initial support only.
+ Specific context groups from the DCMR (DICOM Content Mapping Resource) will
+ follow. The class supports an arbitrary list of coded entries (if the group
+ is extensible); it also supports the selection of a particular entry.
+ Acknowledgement: This work and also the previous commits that are related
+ to the "dcmsr" module have been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
+ dcmsr/libsrc/dsrctxgr.cc
+ Affects: dcmsr/docs/dcmsr.dox
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added mechanism for remembering node positions:
+ Added mechanism that can be used to remember certain positions in a template.
+ This is especially useful when the order of content items is significant.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/libsrc/dsrctpl.cc
+
+- Removed explicit name of base class from call:
+ Removed explicit name of base class when calling a method (since it is not
+ needed).
+ Affects: dcmsr/libsrc/dsrrtpl.cc
+ dcmsr/libsrc/dsrstpl.cc
+
+- Made constructor and destructor "protected":
+ Moved constructor and destructor to "protected" section. Also removed
+ derivation from base class DSRTypes (since this is not needed).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+
+**** Changes from 2015.07.02 (riesmeier)
+
+- Added initial support for Supplement 180:
+ Added initial support for Supplement 180 (MPEG-4 AVC/H.264 Transfer Syntax),
+ i.e. added definition of three new transfer syntaxes. Support for the new
+ Media Storage Application Profiles that are introduced with this Supplement
+ will follow. Also some of the networking tools still need to be adapted.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/include/dcmtk/dcmdata/dcxfer.h
+ dcmdata/libsrc/dcuid.cc
+ dcmdata/libsrc/dcxfer.cc
+ dcmnet/apps/echoscu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmnet/libsrc/dimse.cc
+
+- Added initial support for Supplement 186:
+ Added initial support for Supplement 186 (Extensible SR Storage SOP Class),
+ i.e. added definition of new Storage SOP Class UID. Full support for this
+ new Structured Reporting SOP Class will follow.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2015.07.02 (schlamelcher)
+
+- Updated man pages:
+ The man pages were not updated for the recent snapshot due to a problem with
+ Doxygen version 1.8.8 (that has been fixed in previous commit 3f27b).
+ This commit incorporates the changes since DCMTK-3.6.1_20150217 into the
+ current development version "better late than never".
+ Affects: doxygen/manpages/man1/dcm2pdf.1
+ doxygen/manpages/man1/dcm2pnm.1
+ doxygen/manpages/man1/dcm2xml.1
+ doxygen/manpages/man1/dcmcjpeg.1
+ doxygen/manpages/man1/dcmcjpls.1
+ doxygen/manpages/man1/dcmconv.1
+ doxygen/manpages/man1/dcmcrle.1
+ doxygen/manpages/man1/dcmdjpeg.1
+ doxygen/manpages/man1/dcmdjpls.1
+ doxygen/manpages/man1/dcmdrle.1
+ doxygen/manpages/man1/dcmdspfn.1
+ doxygen/manpages/man1/dcmdump.1
+ doxygen/manpages/man1/dcmftest.1
+ doxygen/manpages/man1/dcmgpdir.1
+ doxygen/manpages/man1/dcmj2pnm.1
+ doxygen/manpages/man1/dcml2pnm.1
+ doxygen/manpages/man1/dcmmkcrv.1
+ doxygen/manpages/man1/dcmmkdir.1
+ doxygen/manpages/man1/dcmmklut.1
+ doxygen/manpages/man1/dcmodify.1
+ doxygen/manpages/man1/dcmp2pgm.1
+ doxygen/manpages/man1/dcmprscp.1
+ doxygen/manpages/man1/dcmprscu.1
+ doxygen/manpages/man1/dcmpschk.1
+ doxygen/manpages/man1/dcmpsmk.1
+ doxygen/manpages/man1/dcmpsprt.1
+ doxygen/manpages/man1/dcmpsrcv.1
+ doxygen/manpages/man1/dcmpssnd.1
+ doxygen/manpages/man1/dcmqridx.1
+ doxygen/manpages/man1/dcmqrscp.1
+ doxygen/manpages/man1/dcmqrti.1
+ doxygen/manpages/man1/dcmquant.1
+ doxygen/manpages/man1/dcmrecv.1
+ doxygen/manpages/man1/dcmscale.1
+ doxygen/manpages/man1/dcmsend.1
+ doxygen/manpages/man1/dcmsign.1
+ doxygen/manpages/man1/dcod2lum.1
+ doxygen/manpages/man1/dconvlum.1
+ doxygen/manpages/man1/drtdump.1
+ doxygen/manpages/man1/dsr2html.1
+ doxygen/manpages/man1/dsr2xml.1
+ doxygen/manpages/man1/dsrdump.1
+ doxygen/manpages/man1/dump2dcm.1
+ doxygen/manpages/man1/echoscu.1
+ doxygen/manpages/man1/findscu.1
+ doxygen/manpages/man1/getscu.1
+ doxygen/manpages/man1/img2dcm.1
+ doxygen/manpages/man1/movescu.1
+ doxygen/manpages/man1/pdf2dcm.1
+ doxygen/manpages/man1/storescp.1
+ doxygen/manpages/man1/storescu.1
+ doxygen/manpages/man1/termscu.1
+ doxygen/manpages/man1/wlmscpfs.1
+ doxygen/manpages/man1/xml2dcm.1
+ doxygen/manpages/man1/xml2dsr.1
+
+- Updated Doxygen configuration files:
+ The Doxygen configuration files were updated to support Doxygen version 1.8.8.
+ Especially adjustments in regard to the changed file extension handling
+ semantics were made. This fixes an error where the documentation for the
+ application binaries was not generated when using Doxygen version 1.8.8.
+ Affects: doxygen/htmldocs.cfg
+ doxygen/manpages.cfg
+
+**** Changes from 2015.06.30 (riesmeier)
+
+- Check whether a template is extensible:
+ Check more thoroughly whether a template is actually extensible before
+ inserting a subtemplate into it. Return with an error when appropriate.
+ Acknowledgement: This work and also the previous commits that are related
+ to the "dcmsr" module have been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrctpl.cc
+ dcmsr/libsrc/dsrrtpl.cc
+ dcmsr/libsrc/dsrstpl.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/tsrtpl.cc
+
+- Added new and enhanced existing swap() function:
+ Added new and enhanced existing fast, non-throwing swap() function in various
+ classes. Also used OFswap (a wrapper around std::swap) where appropriate.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrcitem.cc
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+
+- Fixed issue with addNode() in basic tree class:
+ Fixed issue with addNode() method in basic tree class: When adding a new node
+ before or after the current node, and this new node has siblings (i.e. it is
+ actually a subtree without a dedicated root node), the connection to the
+ existing tree was not always correct. Also added test cases for this purpose.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtree.cc
+
+- Made getAndRemoveRootNode() public:
+ Made method getAndRemoveRootNode() public in tree classes.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrdocst.cc
+
+- Added new comparison method to DSRCodedEntryValue:
+ Added new comparison method to class DSRCodedEntryValue, which allows for
+ comparing directly with an instance of the DSRBasicCodedEntry class, i.e.
+ without converting it implicitly into an instance of DSRCodedEntryValue.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+
+- Added new option for print() method:
+ Added new option for print() method that allows for printing the node ID at
+ the beginning of each line. This might be useful for debugging purposes.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrreftn.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added missing empty() method to OFMap.
+ Affects: ofstd/include/dcmtk/ofstd/ofmap.h
+
+**** Changes from 2015.06.30 (schlamelcher)
+
+- Moved CHANGES.361 to /docs:
+ Starting after the latest snapshot (DCMTK-3.6.1_20150629) the CHANGES.361
+ file is no longer maintained manually. From now on it will resided inside
+ /docs and will only be updated for each snapshot (based on the Git commit
+ messages).
+ Added: docs/CHANGES.361
+ Removed: CHANGES.361
+
+**** Changes from 2015.06.29 (schlamelcher)
+
+- Updated DCMTK_ABI_VERSION for new development snapshot.
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Updated Makefile dependencies.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimage/libsrc/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsign/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+
+**** Changes from 2015.06.23 (schlamelcher)
+
+- Added additional configuration methods for DCMTLS:
+ Introduced the methods addVerificationFlags() and getNativeHandle() to
+ DCMTLS for fine-tuning the OpenSSL settings and/or implementing missing
+ functionality by directly accessing the underlying OpenSSL context handle.
+ Thanks to Dr. Martin Korp <Martin.Korp@ith-icoserve.com> and
+ Peter Klotz <Peter.Klotz@ith-icoserve.com> for the suggestions and their
+ assistance during implementation.
+ Affects: CMake/CheckFunctionWithHeaderExists.cmake
+ CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/aclocal.m4
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ dcmtls/include/dcmtk/dcmtls/tlslayer.h
+ dcmtls/libsrc/tlslayer.cc
+
+**** Changes from 2015.06.14 (riesmeier)
+
+- Fixed bug in time normalization code:
+ Fixed bug in methods setTimeInSeconds() and setTimeInHours() that showed up
+ when the parameter "normalize" is true (which is the default) and the given
+ time value is not within the valid range.
+ Thanks to forum user "sfzhang" for the bug report and suggested fix.
+ Affects: ofstd/libsrc/oftime.cc
+ ofstd/tests/tofdatim.cc
+
+**** Changes from 2015.06.10 (riesmeier)
+
+- New class for "Basic Coded Entry Attributes":
+ Introduced new class for the "Basic Coded Entry Attributes" (according to the
+ DICOM standard). This class should be used to define code constants since it
+ is a lightweight structure that does not carry any overhead and also does not
+ perform any unnecessary checks. Enhanced documentation of existing code class.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcodvl.cc
+
+**** Changes from 2015.06.09 (riesmeier)
+
+- Added support for long code values (CP-1031):
+ Added initial support for long code values according to CP-1031. By default,
+ the type of a code value (short, long or URN) is determined automatically,
+ e.g. when setting the value of a DSRCodedEntryValue instance. However, the
+ type can also be specified manually. Please note that for some methods, the
+ position of the optional "check" parameter moved after the new "codeValueType"
+ parameter. Support for the optional Equivalent Code Sequence (0008,0121) is
+ still missing.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/tests/tsrcodvl.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/tests/CMakeLists.txt
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/Makefile.in
+ dcmsr/tests/tests.cc
+
+- Do not check invalid UID values for IMAGE node:
+ Disable check of invalid UID values ("0") for IMAGE node in key image note
+ (ki) and simple image report (si) DICOM SR sample document.
+ Affects: dcmsr/tests/mkreport.cc
+
+- Fixed source code and/or comment formatting.
+ Affects: dcmdata/libsrc/dcvrda.cc
+ dcmsr/tests/tsrtpl.cc
+
+- Introduced new error code "Unknow VR":
+ Introduced new error code for "Unknow VR: Tag not found in data dictionary"
+ in order to avoid getting a generic "Illegal Call" when an old version of the
+ data dictionary is used that does not yet contain the requested attribute tag
+ passed to one of DcmItem's putAndInsertXXX() methods or insertEmptyElement().
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/libsrc/dcerror.cc
+ dcmdata/libsrc/dcitem.cc
+
+- Avoid using "check" parameter of SR code class:
+ Do not use the "check" parameter from the constructor of DSRCodedEntryValue
+ (explicitly) but rely on the default value.
+ This is because the order of parameters will change in a subsequent commit.
+ Affects: dcmpstat/libsrc/dviface.cc
+
+**** Changes from 2015.05.22 (riesmeier)
+
+- Set observation date/time from element:
+ Added helper method thats allows for setting the observation date/time of an
+ SR content item from a given data element.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrreftn.cc
+
+- Added helpers for setting a value from element:
+ Added helper methods that allow for setting a string value of an SR content
+ item from a given data element. This works for the following value types:
+ COMPOSITE, DATE, DATETIME, IMAGE, NUM, PNAME, TEXT, TIME, UIDREF, WAVEFORM.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrstrvl.cc
+
+- Moved various methods to protected section:
+ Moved inherited methods that cannot be used for by-reference relationships
+ and that always return EC_IllegalCall to the protected section of the class.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/libsrc/dsrreftn.cc
+
+- Set observation date/time from dataset:
+ Added helper method thats allows for setting the observation date/time of an
+ SR content item from a dataset (by specifying the tag of the data element).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/libsrc/dsrdoctn.cc
+
+**** Changes from 2015.05.21 (riesmeier)
+
+- Added helpers for setting a value from dataset:
+ Added helper methods that allow for setting a string value of an SR content
+ item from a dataset, i.e. by specifying the attribute tag of a data element.
+ This works for the following value types (at least for certain aspects):
+ COMPOSITE, DATE, DATETIME, IMAGE, NUM, PNAME, TEXT, TIME, UIDREF, WAVEFORM.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrstrvl.cc
+
+- Added initial support for SR templates:
+ Added initial support for SR templates by introducing two general classes for
+ root and non-root templates. These general classes can e.g. be used to derive
+ specific classes for particular templates from DICOM Part 16 (DCMR).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/libsrc/dsrctpl.cc
+ dcmsr/libsrc/dsrrtpl.cc
+ dcmsr/libsrc/dsrstpl.cc
+ dcmsr/tests/tsrtpl.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/docs/dcmsr.dox
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/CMakeLists.txt
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/Makefile.in
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+**** Changes from 2015.05.18 (riesmeier)
+
+- Replace the document tree of an SR document:
+ Added method that allows one to replace the document tree of an SR document.
+ Therefore, introduced an assignment operator to the various tree classes.
+ This is another step towards the enhanced support for DICOM SR templates.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoc.cc
+ dcmsr/tests/tsrtree.cc
+
+**** Changes from 2015.05.14 (riesmeier)
+
+- Added hasTemplateIdentification() method:
+ Added hasTemplateIdentification() helper method to document tree node class.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+
+- Fixed issue with interpolation algorithm:
+ Fixed integer overflow issue with bilinear interpolation algorithm (image
+ magnification), i.e. if "interpolate" parameter of createScaledImage() is 3.
+ Thanks to Ing-Long Eric Kuo <draconpern@hotmail.com> for the report.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/discalet.h
+
+**** Changes from 2015.04.30 (riesmeier)
+
+- Pass OFList parameter by-reference not by-value.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/include/dcmtk/dcmnet/scpcfg.h
+ dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scpcfg.cc
+
+**** Changes from 2015.04.24 (riesmeier)
+
+- Added support for optional Mapping Resource UID:
+ Added support for the optional Mapping Resource UID (0008,0118) to DICOM SR
+ implementation. This attribute has been introduced only recently with CP-1417
+ (Clarify use and declaration of private mapping resource).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/libsrc/dsrcitem.cc
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrreftn.cc
+
+- Ignore empty value for XML element 'charset':
+ Ignore empty value for element 'charset' when reading an SR document from XML
+ file. Report a more appropriate warning than "Character Set '' not supported".
+ Affects: dcmsr/libsrc/dsrdoc.cc
+
+**** Changes from 2015.04.23 (eichelberg)
+
+- Updated makefile to always use the dicom.dic provided in dcmdata/docs
+ for the dcmdata unit tests, even if an installed dictionary exists elsewhere.
+ Avoids a failure of two tests due to an old dictionary file being used.
+ Affects: dcmdata/tests/Makefile.in
+
+**** Changes from 2015.04.22 (eichelberg)
+
+- Fixed minor bug in DICOM upper layer FSM that affected the situation where
+ over a just opened TCP connection both sides would send an A-ASSOCIATE-RQ
+ PDU simultaneously (which should never happen anyway).
+ Thanks to Mathieu Malaterre for the report.
+ Affects: dcmnet/libsrc/dulfsm.cc
+
+**** Changes from 2015.04.20 (riesmeier)
+
+- Updated data dictionary for DICOM 2015b edition:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released on 2015-04-16. Since the data dictionary was already
+ up-to-date regarding the recently approved Supplements and CPs, there are no
+ changes apart from the "Version" column.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2015.04.17 (riesmeier)
+
+- Fixed warning C4800 reported by Visual Studio:
+ Fixed warning message "C4800: 'int': forcing value to bool 'true' or 'false'
+ (performance warning)" reported by Microsoft Visual Studio.
+ Affects: dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrsc3vl.cc
+ dcmsr/libsrc/dsrstrvl.cc
+ ofstd/libsrc/ofstd.cc
+
+- Fixed issue with VR checker for PN values:
+ Fixed issue with VR checker reporting empty Person Name (PN) values or values
+ like "Unspecified^^^^=^^^^=^^^^" as an error. Also added further test cases.
+ Affects: dcmdata/libsrc/vrscanl.c
+ dcmdata/libsrc/vrscanl.h
+ dcmdata/libsrc/vrscanl.l
+ dcmdata/tests/tchval.cc
+
+**** Changes from 2015.04.08 (riesmeier)
+
+- Added method for counting number of child nodes:
+ Added method that counts the number of children of a particular tree node.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtree.cc
+
+- Added regression test for DSRTree::getPosition():
+ Added regression test for checking that DSRTree::getPosition() still works
+ correctly after adding a new tree node below the current one.
+ Affects: dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtree.cc
+
+- Fixed wrong position counter in tree node:
+ Fixed issue with position counter not being incremented correctly when adding
+ a new tree node below the current one. This mainly showed up when checking
+ the position string directly after adding the new node to the tree.
+ Thanks to Timothy Pitt <tim@vaquita.co.uk> for the report and suggested fix.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
+
+**** Changes from 2015.04.02 (riesmeier)
+
+- Enhanced output to debug logger:
+ Output invalid template and context identifier to debug logger (if enabled).
+ Affects: dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrdoctn.cc
+
+- Distinguish b/w invalid content items and values:
+ Distinguish more clearly between invalid content items and invalid values of
+ content items, which is of some interest when dealing with incorrectly encoded
+ SR documents. Introduced new hasValidValue() method to the tree node classes.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcontn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdattn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdtitn.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h
+ dcmsr/include/dcmtk/dcmsr/dsrscotn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcotn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtextn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtimtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/include/dcmtk/dcmsr/dsruidtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavtn.h
+ dcmsr/libsrc/dsrcodtn.cc
+ dcmsr/libsrc/dsrcomtn.cc
+ dcmsr/libsrc/dsrcontn.cc
+ dcmsr/libsrc/dsrdattn.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdtitn.cc
+ dcmsr/libsrc/dsrimgtn.cc
+ dcmsr/libsrc/dsrnumtn.cc
+ dcmsr/libsrc/dsrpnmtn.cc
+ dcmsr/libsrc/dsrreftn.cc
+ dcmsr/libsrc/dsrsc3tn.cc
+ dcmsr/libsrc/dsrscotn.cc
+ dcmsr/libsrc/dsrtcotn.cc
+ dcmsr/libsrc/dsrtextn.cc
+ dcmsr/libsrc/dsrtimtn.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/libsrc/dsruidtn.cc
+ dcmsr/libsrc/dsrwavtn.cc
+
+**** Changes from 2015.04.01 (riesmeier)
+
+- Optionally accept invalid content item values:
+ If a certain read flag is set, further violations of the DICOM standard are
+ accepted when reading an invalid SR document. For example, when the numeric
+ value of a NUM content item violates the maximum length. This might be useful
+ in order to make sure that the other information of the content item is read
+ (like the measurement unit).
+ Thanks to forum user "ichimura.t" for the original report.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrsc3vl.cc
+ dcmsr/libsrc/dsrstrvl.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added read flag to all readXXX() methods:
+ Added "flag" parameter used to customize the reading process of all read() and
+ readXML() methods. This will facilitate the handling of incorrectly encoded SR
+ documents in the future (by providing corresponding workarounds). Also fixed
+ optionality of existing "flag" parameters throughout the SR library.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrcontn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
+ dcmsr/include/dcmtk/dcmsr/dsrdattn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrdtitn.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgfr.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgse.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrrefin.h
+ dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/include/dcmtk/dcmsr/dsrsc3gr.h
+ dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h
+ dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h
+ dcmsr/include/dcmtk/dcmsr/dsrscogr.h
+ dcmsr/include/dcmtk/dcmsr/dsrscotn.h
+ dcmsr/include/dcmtk/dcmsr/dsrscovl.h
+ dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
+ dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcodt.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcosp.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcotn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcoto.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtextn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtimtn.h
+ dcmsr/include/dcmtk/dcmsr/dsruidtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavch.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
+ dcmsr/libsrc/dsrcodtn.cc
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrcomtn.cc
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrcontn.cc
+ dcmsr/libsrc/dsrcsidl.cc
+ dcmsr/libsrc/dsrdattn.cc
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdtitn.cc
+ dcmsr/libsrc/dsrimgfr.cc
+ dcmsr/libsrc/dsrimgse.cc
+ dcmsr/libsrc/dsrimgtn.cc
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrnumtn.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrpnmtn.cc
+ dcmsr/libsrc/dsrrefin.cc
+ dcmsr/libsrc/dsrreftn.cc
+ dcmsr/libsrc/dsrsc3gr.cc
+ dcmsr/libsrc/dsrsc3tn.cc
+ dcmsr/libsrc/dsrsc3vl.cc
+ dcmsr/libsrc/dsrscogr.cc
+ dcmsr/libsrc/dsrscotn.cc
+ dcmsr/libsrc/dsrscovl.cc
+ dcmsr/libsrc/dsrsoprf.cc
+ dcmsr/libsrc/dsrstrvl.cc
+ dcmsr/libsrc/dsrtcodt.cc
+ dcmsr/libsrc/dsrtcosp.cc
+ dcmsr/libsrc/dsrtcotn.cc
+ dcmsr/libsrc/dsrtcoto.cc
+ dcmsr/libsrc/dsrtcovl.cc
+ dcmsr/libsrc/dsrtextn.cc
+ dcmsr/libsrc/dsrtimtn.cc
+ dcmsr/libsrc/dsruidtn.cc
+ dcmsr/libsrc/dsrwavch.cc
+ dcmsr/libsrc/dsrwavtn.cc
+ dcmsr/libsrc/dsrwavvl.cc
+
+**** Changes from 2015.03.27 (riesmeier)
+
+- Added further test cases for VR checker.
+ Affects: dcmdata/tests/tchval.cc
+
+- Fixed test after after implementing CP-1425:
+ Since CP-1425 permits the horizontal tab character for DICOM text VRs, the
+ test case "UT-03" needs to be fixed, too. Also added a new test case "UT-04",
+ which checks for the (still invalid) vertical tab character,
+ Affects: dcmdata/tests/tchval.cc
+
+- Added support for recently approved CP-1425:
+ The recently approved CP-1425 permits the horizontal tab character (HT) in
+ DICOM's text VRs (LT, ST, UT). Adapted the VR scanner and the character set
+ conversion code (handling of additional control character) accordingly.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+ dcmdata/libsrc/dcspchrs.cc
+ dcmdata/libsrc/vrscanl.c
+ dcmdata/libsrc/vrscanl.l
+
+- Added support for new UIDs from Supplement 173:
+ Added support for new Storage SOP Class UIDs from Supplement 173 (Wide Field
+ Ophthalmic Photography Image Storage SOP Classes).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added support for Supplement 173 to dictionary:
+ Added support for the final text version of Supplement 173 (Wide Field
+ Ophthalmic Photography Image Storage SOP Classes) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added support for recently approved CPs:
+ Added support for CP-1420, CP-1430 and CP-1434 to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2015.03.26 (riesmeier)
+
+- Enhanced use of DSRCodingSchemeIdentificationList:
+ Added new method that facilitates adding coding schemes with frequently used
+ additional information to the list. This avoids calling the various setXXX()
+ methods directly after addItem().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
+ dcmsr/libsrc/dsrcsidl.cc
+
+**** Changes from 2015.03.18 (schlamelcher)
+
+- Modified fallback implementation of OFtuple:
+ OFtuple's fallback implementation now also works on older versions of GCC.
+ It was necessary to implement a workaround for accessing the type of
+ template base classes in derived classes without explicitly stating their
+ template parameters.
+ Affects: ofstd/include/dcmtk/ofstd/oftuple.h
+ ofstd/include/dcmtk/ofstd/variadic/tuple.h
+ ofstd/include/dcmtk/ofstd/variadic/tuplefrd.h
+ ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+
+- Moved some utility functions inside OFStandard:
+ The functions getUserName() and getHostName() are now implemented inside
+ OFStandard, instead of being reimplemented everywhere they are needed.
+ Affects: dcmdata/libsrc/mkdeftag.cc
+ dcmdata/libsrc/mkdictbi.cc
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2015.03.16 (schlamelcher)
+
+- Fixed a CMake problem with paths containing spaces.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2015.03.03 (riesmeier)
+
+- Output message to logger on wrong pixel data class:
+ Output an error message to the logger in case the internal class used for the
+ Pixel Data element has the wrong type when calling chooseRepresentation().
+ This is usually caused by a wrong VR for the Pixel Data element (not OB/OW).
+ Thanks to forum user "Shaeto" for the original report.
+ Affects: dcmdata/libsrc/dcdatset.cc
+
+**** Changes from 2015.02.27 (riesmeier)
+
+- Updated outdated API documentation:
+ Updated outdated documentation of parameter "overrideKeys" in private method
+ findSCU(). Also fixed some other minor documentation issues (e.g. typos).
+ Affects: dcmnet/include/dcmtk/dcmnet/dfindscu.h
+ dcmnet/libsrc/dfindscu.cc
+
+**** Changes from 2015.02.19 (riesmeier)
+
+- Updated Makefile dependencies again:
+ Rebuilt Makefile dependencies in order to get rid of unwanted libxml headers.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+
+**** Changes from 2015.02.17 (schlamelcher)
+
+- Updated DCMTK_ABI_VERSION for new development snapshot.
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/*
+
+- Updated Autoconf dependencies:
+ Fixed a problem regarding the Autoconf dependency generation and updated
+ the dependencies.
+ Affects: Makefile
+ config/Makefile.in
+ config/rootconf
+ dcmdata/apps/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimage/libsrc/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpeg/libsrc/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmjpls/libcharls/Makefile.dep
+ dcmjpls/libsrc/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/tests/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmqrdb/libsrc/Makefile.dep
+ dcmrt/apps/Makefile.dep
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/tests/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsign/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ dcmwlm/tests/Makefile.dep
+ dcmwlm/wwwapps/Makefile.dep
+ oflog/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+ ofstd/tests/Makefile.dep
+
+- Revised cleanup of temporary unit test files:
+ Regarded the temporary file testfile.$$$, generated by the exhaustive
+ testcase ofstd_OFFile, in the CMake and Autoconf cleanup configuration.
+ Affects: ofstd/tests/CMakeLists.txt
+ ofstd/tests/Makefile.in
+
+**** Changes from 2015.02.16 (schlamelcher)
+
+- Modified CMake minimum version as required:
+ Determined the minimum CMake version supportable with minor workarounds and
+ implemented these required workarounds. Adjusted minimum CMake version
+ appropriately.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkMacros.cmake
+ CMake/dcmtkTryCompile.cmake
+ CMake/dcmtkUseAndroidSDK.cmake
+ CMakeLists.txt
+
+**** Changes from 2015.02.13 (schlamelcher)
+
+- Corrections regarding recent commits:
+ Corrected some typos inside the Android toolchain file and related CMake
+ scripts.
+ Added the Android toolchain file's copyright notice to the COPYRIGHT file.
+ Added workarounds for missing CMake macros and functionality in older CMake
+ versions.
+ Increased minimum required CMake version inside the Android toolchain file,
+ to reflect the actually verified requirements.
+ New CMake minimum version for assisted cross compiling: 2.8.3.
+ Affects: CMake/CTest/CTestCustom.cmake
+ CMake/CTest/dcmtkCTestConfig.cmake.in
+ CMake/GenerateDCMTKConfigure.cmake
+ CMake/android.toolchain.cmake
+ CMake/dcmtkTryRun.cmake
+ CMake/dcmtkUseAndroidSDK.cmake
+ CMake/dcmtkUseWine.cmake
+ COPYRIGHT
+
+**** Changes from 2015.02.12 (schlamelcher)
+
+- Introduced check-exhaustive targets to Autoconf:
+ Added check-exhaustive and <module>-check-exhaustive targets to the
+ Autoconf scripts, which allow running the unit tests flagged as
+ exhaustive in addition to the fast testcases.
+ Affects: Makefile
+ config/Makefile.in
+ config/rootconf
+ dcmdata/Makefile.in
+ dcmdata/tests/Makefile.in
+ dcmimage/Makefile.in
+ dcmimage/tests/Makefile.in
+ dcmimgle/Makefile.in
+ dcmimgle/tests/Makefile.in
+ dcmjpeg/Makefile.in
+ dcmjpeg/tests/Makefile.in
+ dcmjpls/Makefile.in
+ dcmjpls/tests/Makefile.in
+ dcmnet/Makefile.in
+ dcmnet/tests/Makefile.in
+ dcmpstat/Makefile.in
+ dcmpstat/tests/Makefile.in
+ dcmqrdb/Makefile.in
+ dcmqrdb/tests/Makefile.in
+ dcmrt/Makefile.in
+ dcmrt/tests/Makefile.in
+ dcmsign/Makefile.in
+ dcmsign/tests/Makefile.in
+ dcmsr/Makefile.in
+ dcmsr/tests/Makefile.in
+ dcmtls/Makefile.in
+ dcmtls/tests/Makefile.in
+ dcmwlm/Makefile.in
+ dcmwlm/tests/Makefile.in
+ oflog/Makefile.in
+ oflog/tests/Makefile.in
+ ofstd/Makefile.in
+ ofstd/tests/Makefile.in
+
+- Fixed a const correctness problem within DCMTLS:
+ A recent commit regarding trusted client certificates contained a const
+ correctness problem which prevented building under OS X.
+ Affects: dcmtls/libsrc/tlslayer.cc
+
+**** Changes from 2015.02.11 (schlamelcher)
+
+- Introduced cross compiling support for Android:
+ Worked around some limitations when building for Android, for instance by
+ creating some configure tests that detect the absence of some operating
+ system functionality and enable existing or new fallback implementations in
+ their stead.
+ Added assisted cross compiling support to the CMake scripts, using a
+ specially adjusted version of an Android toolchain configuration file
+ borrowed from the OpenCV project. Also adding some code to (remote-)
+ control the Android device emulator (that is part of the official Android
+ SDK) and integrate it into the CMake build system. This allows the
+ configure- and unit tests to run on the emulated target device.
+ Added: CMake/CTest/CTestCustom.cmake
+ CMake/CTest/dcmtkCTestConfig.cmake.in
+ CMake/CTest/dcmtkCTestMacros.cmake
+ CMake/CTest/dcmtkCTestRunAndroid.cmake.in
+ CMake/android.toolchain.cmake
+ CMake/dcmtkUseAndroidSDK.cmake
+ Affects: CMake/CheckFunctionWithHeaderExists.cmake
+ CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkUseWine.cmake
+ CMake/dcmtkMacros.cmake
+ CMake/dcmtkPrepare.cmake
+ CMake/dcmtkTryCompile.cmake
+ CMake/dcmtkTryRun.cmake
+ CMake/osconfig.h.in
+ CMakeLists.txt
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ dcmdata/libsrc/dcuid.cc
+ oflog/include/dcmtk/oflog/config/defines.h
+ oflog/include/dcmtk/oflog/thread/impl/syncimpl.h
+ ofstd/libsrc/ofstd.cc
+ ofstd/libsrc/oftempf.cc
+ ofstd/libsrc/ofthread.cc
+ ofstd/tests/tthread.cc
+
+**** Changes from 2015.02.11 (riesmeier)
+
+- Fixed typos in comments and other minor issues.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvruc.h
+ dcmdata/libi2d/i2d.cc
+
+**** Changes from 2015.02.09 (riesmeier)
+
+- Updated data dictionary for DICOM 2015a edition:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released on 2015-02-05. Since the data dictionary was already
+ up-to-date regarding the recently approved Supplements and CPs, there are no
+ changes apart from the "Version" column.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2015.02.06 (riesmeier)
+
+- Fixed documentation of default TCP buffer length:
+ With the previous commit (2423e3d), the default TCP send and receive buffer
+ length has been increased from 32K to 64K. This commit now updates the
+ documentation of this default value accordingly.
+ Affects: config/docs/envvars.txt
+
+**** Changes from 2015.02.05 (schlamelcher)
+
+- Adjusted DCMNET's default socket buffer length:
+ The previous default value of 32K was inappropriate for modern hardware,
+ the new default will be 64K for now.
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report and
+ suggested patch.
+ Affects: dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulfsm.cc
+
+- Added support for trusted client certificates:
+ It is now possible to configure trusted client certificate authorities
+ within DCMTLS.
+ Thanks to Dr. Martin Korp <Martin.Korp@ith-icoserve.com> for the suggested
+ patch.
+ Affects: dcmtls/include/dcmtk/dcmtls/tlslayer.h
+ dcmtls/libsrc/tlslayer.cc
+
+**** Changes from 2015.02.03 (riesmeier)
+
+- Updated latest tested CMake version:
+ Updated information on latest CMake version that has been tested to "3.1.1".
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Fixed another CMake 3.1.x quotation issue:
+ According to the CMake documentation "CMake 3.1 and above no longer implicitly
+ dereference variables or interpret keywords in an if() command argument when
+ it is a 'Quoted Argument' or a 'Bracket Argument'" (see CMP0054 for details).
+ Commit cbfe0d7 only solved the issues for Unix-style systems. Now, CMake 3.1
+ (and above) should also run without any warnings on Windows systems.
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2015.02.02 (riesmeier)
+
+- Added missing standard include for assert():
+ Added standard include that is missing when compiled with HAVE_STD_STRING and
+ HAVE_STL, i.e. without DCMTK's implementations of some C++ standard classes.
+ Thanks to Markus Mertens <Markus.Mertens@evkb.de> for the original report.
+ Affects: ofstd/libsrc/ofuuid.cc
+
+**** Changes from 2015.01.29 (schlamelcher)
+
+- Fixed some problems regarding DCMTK's C++11 support:
+ The GCC Version is now detected employing the same CMake macro as for
+ Clang, this works around the missing version suffix of some GCC versions
+ when using the previously employed '-dumpversion' argument.
+ Fixed evaluating the wrong macro instead of 'DCMTK_USE_CXX11_STL' within
+ OFtuple's and OFalign's implementation.
+ Fixed problems regarding OFalign's C++11 implementation.
+ Modified OFnumeric_limit's unit test to accommodate for some native
+ implementation's behavior to set 'is_modulo' to false when it can't
+ be guaranteed (e.g. for optimization purposes).
+ Affects: CMake/dcmtkPrepare.cmake
+ ofstd/include/dcmtk/ofstd/ofalign.h
+ ofstd/include/dcmtk/ofstd/oftuple.h
+ ofstd/tests/tlimits.cc
+
+**** Changes from 2015.01.26 (goldhammer)
+
+- Replaced deprecated CMake expressions:
+ The auto-dereference behavior of the if() command was deprecated in CMake
+ 3.1.0. Replaced affected expressions with IF(DEFINED) as appropriate.
+ Thanks to Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
+ for the original report and suggested fix.
+ Affects: CMake/CheckFunctionWithHeaderExists.cmake
+ CMake/dcmtkTryCompile.cmake
+ CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2015.01.22 (riesmeier)
+
+- Removed outdated name suffix from EXS_xxx constant:
+ Removed outdated name suffix "TransferSyntax" from EXS_xxx constant in code
+ example.
+ Affects: dcmjpeg/docs/dcmjpeg.dox
+
+**** Changes from 2015.01.20 (riesmeier)
+
+- Added Mapping Resource UID from CP-1417:
+ Added DICOM Content Mapping Resource UID introduced with CP-1417.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+
+- Added support for recently approved CPs:
+ Added support for CP-1031 and CP-1417 to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added support for new value representation "UC":
+ Added support for new value representation "Unlimited Characters" (UC) that
+ has been introduced only recently with CP-1031 (Support long code values).
+ Added: dcmdata/include/dcmtk/dcmdata/dcvruc.h
+ dcmdata/libsrc/dcvruc.cc
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/include/dcmtk/dcmdata/dcchrstr.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmdata/include/dcmtk/dcmdata/dctk.h
+ dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libi2d/Makefile.dep
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/Makefile.in
+ dcmdata/libsrc/dcchrstr.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcvr.cc
+ dcmdata/libsrc/vrscanl.c
+ dcmdata/libsrc/vrscanl.h
+ dcmdata/libsrc/vrscanl.l
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/tchval.cc
+ dcmdata/tests/telemlen.cc
+ dcmdata/tests/tests.cc
+
+**** Changes from 2015.01.15 (schlamelcher)
+
+- Introduced basic support for assisted cross compiling:
+ Currently, assistance for cross compiling is only available when using
+ CMake and creating Windows targets utilizing the MinGW cross compiler.
+ Configure- and unit tests are executed via Wine, therefore Wine is required
+ for the build process and testing.
+ Added: CMake/dcmtkTryRun.cmake
+ CMake/dcmtkUseWine.cmake
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/dcmtkMacros.cmake
+ CMake/osconfig.h.in
+ config/arith.cc
+
+- Fixed possible arith.h generation problem on MinGW:
+ MinGW's custom SEH handling macros don't seem to work reliably on every
+ MinGW "distribution". Implemented an even dirtier solution not relying
+ on these macros and therefore working.
+ The detection of some floating point functions like 'isinf' gave wrong
+ results for some MinGW "distributions" in the past. This also affected
+ the respective implementation inside OFStandard.
+ Affects: config/arith.cc
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2014.12.11 (riesmeier)
+
+- Changed attribute used for the "FD" test:
+ Changed attribute used for the Floating Point Double (FD) test from Physical
+ Delta X (0018,602C) to Inversion Times (0018,9079) because only the latter
+ allows for storing multiple values (value multiplicity = 1-n).
+ Affects: dcmdata/tests/tvrfd.cc
+
+**** Changes from 2014.12.10 (riesmeier)
+
+- Added new test case for VR=FD:
+ Added new test case for the VR class DcmFloatingPointDouble in order to make
+ sure that the revised version of DcmElement::changeValue(), which is e.g.
+ used by DcmFloatingPointDouble::putFloat64(), still works as expected.
+ Added: dcmdata/tests/tvrfd.cc
+ Affects: dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+- Fixed error handling in changeValue():
+ Fixed error handling in method changeValue(), i.e. return an error code in
+ case the memory could not be allocated by new[] or loadValue() failed.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+- Fixed error handling in detachValueField():
+ Fixed error handling in method detachValueField(), i.e. return an error code
+ in case the memory could not be allocated by new.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+- Use "try and catch" block around new[]:
+ Use "try and catch" blocks in order to catch the "bad allocation" exception
+ thrown by the call of "new" when non-throwing new operator is not available.
+ Affects: dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcelem.cc
+ dcmimage/include/dcmtk/dcmimage/dicopxt.h
+ dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
+ dcmimgle/include/dcmtk/dcmimgle/dimopxt.h
+
+**** Changes from 2014.12.02 (schlamelcher)
+
+- Several fixes regarding OFnumeric_limits:
+ The initialization state of FLT_ROUNDS is now dumped to DCMTK_ROUND_STYLE
+ during configuration, which can then be evaluated in a compile time
+ context. This is necessary to conform closely enough to the C++ standard
+ as required by clang.
+ Mac OS X's special floating point exception control macros are now applied
+ on that platform, instead of the GNU POSIX extensions previously employed
+ there as well.
+ The existence of '_fpclassf' on the Windows platform is now probed
+ regarding the linker as well (previously only the compile time presence was
+ tested).
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ config/arith.cc
+ ofstd/include/dcmtk/ofstd/oflimits.h
+
+**** Changes from 2014.11.28 (riesmeier)
+
+- Fixed typo in comment.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/diovlay.h
+ ofstd/include/dcmtk/ofstd/ofcast.h
+
+**** Changes from 2014.11.27 (onken)
+
+- Documented DCMTK's C++ cast macros.
+ It is noted in particular that OFdynamic_cast should not be used in DCMTK.
+ Affects: ofstd/include/dcmtk/ofstd/ofcast.h
+
+**** Changes from 2014.11.25 (schlamelcher)
+
+- Introduced OFnumeric_limits:
+ The template OFnumeric_limits provides a standardized way to query various
+ properties of fundamental types (e.g. the largest possible value for type
+ int is OFnumeric_limits<int>::max()).
+ OFnumeric_limits is compatible to C++11's std::numeric_limits.
+ Added: config/arith.cc
+ ofstd/include/dcmtk/ofstd/oflimits.h
+ ofstd/tests/tlimits.cc
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ CMakeLists.txt
+ config/Makefile.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/include/dcmtk/ofstd/oftraits.h
+ ofstd/libsrc/ofstd.cc
+ ofstd/tests/CMakeLists.txt
+ ofstd/tests/Makefile.in
+ ofstd/tests/tests.cc
+
+**** Changes from 2014.11.24 (riesmeier)
+
+- Added support for new UIDs from DICOM 2014c:
+ Added support for new SOP Class UIDs from Supplement 171 (Unified Procedure
+ Step by REpresentational State Transfer Services) and Supplement 172
+ (Parametric Map Storage). Also updated name of well-known UPS SOP instance.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Updated data dictionary for DICOM 2014c edition:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released on 2014-11-21.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2014.11.14 (riesmeier)
+
+- Added check for requirements clarified by CP-1401:
+ Added check to read() and write() method and report a warning message if the
+ Completion Flag is not "COMPLETE" for X-Ray Radiation Dose SR objects.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/dsrdoc.cc
+
+**** Changes from 2014.11.13 (riesmeier)
+
+- Fixed wrong validation of PN, LO and SH values:
+ According to DICOM PS 3.5, the control characters LF, FF and CR are not
+ allowed for LO and SH element values. Also ESC is only allowed for ISO 2022
+ encoding (escape sequences), but not for the default character set (ASCII).
+ Affects: dcmwlm/libsrc/wlds.cc
+
+- Fixed typo in comment.
+ Affects: dcmdata/libsrc/dcchrstr.cc
+
+**** Changes from 2014.11.07 (riesmeier)
+
+- Removed unneeded header include:
+ The standard header "cassert" is not needed any longer. So do not include it.
+ Affects: ofstd/include/dcmtk/ofstd/ofcond.h
+
+**** Changes from 2014.11.06 (riesmeier)
+
+- Fixed issue when scaling certain images:
+ The image scaling methods expandPixel() and reducePixel(), which are used for
+ interpolation (c't algorithm), were not working correctly for certain sizes.
+ This commit solves an issue that was originally fixed with commit e9c3550,
+ but now in a more general and probably more robust manner.
+ Thanks to Tilman Vogel <tilman@circlecvi.com> for the original report and
+ suggested fix.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/discalet.h
+
+**** Changes from 2014.11.01 (riesmeier)
+
+- Added "data correction" options to findscu:
+ Added two new options that enable/disable the automatic data correction (e.g.
+ removal of trailing padding) to the findscu command line tool. The default
+ is still to disable the data correction, i.e. the same behavior as before.
+ Thanks to forum user "gerhardh" for the original report.
+ Affects: dcmnet/apps/findscu.cc
+ dcmnet/docs/findscu.man
+
+**** Changes from 2014.10.31 (riesmeier)
+
+- Updated "dcmrt" classes based on DICOM 2014b:
+ Updated automatically generated IOD and sequence c++ classes for the various
+ RT objects based on the current edition of the DICOM standard (2014b). This
+ time, the official DocBook/XML version has been be used (previously, it was
+ an unofficial version of the DICOM 2007 standard edition).
+ Please note the "known issues" that are documented in the module description.
+ Added: dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtags.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtarics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtians.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtois.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
+ dcmrt/libsrc/drtaadcs.cc
+ dcmrt/libsrc/drtafs.cc
+ dcmrt/libsrc/drtags.cc
+ dcmrt/libsrc/drtajcs.cc
+ dcmrt/libsrc/drtarics.cc
+ dcmrt/libsrc/drtbvcps.cc
+ dcmrt/libsrc/drtcctus.cc
+ dcmrt/libsrc/drtcsas.cc
+ dcmrt/libsrc/drtdimrs.cc
+ dcmrt/libsrc/drtdirs.cc
+ dcmrt/libsrc/drtfes.cc
+ dcmrt/libsrc/drtgas.cc
+ dcmrt/libsrc/drtiais.cc
+ dcmrt/libsrc/drtians.cc
+ dcmrt/libsrc/drtipiqs.cc
+ dcmrt/libsrc/drtiseis.cc
+ dcmrt/libsrc/drtois.cc
+ dcmrt/libsrc/drtpfms.cc
+ dcmrt/libsrc/drtpsics.cc
+ dcmrt/libsrc/drtrbs4.cc
+ dcmrt/libsrc/drtrecs.cc
+ dcmrt/libsrc/drtrppcs.cc
+ dcmrt/libsrc/drtrpphs.cc
+ dcmrt/libsrc/drtrscs.cc
+ dcmrt/libsrc/drtrsers.cc
+ dcmrt/libsrc/drtrsrs.cc
+ dcmrt/libsrc/drtrtrs2.cc
+ dcmrt/libsrc/drtrtrs4.cc
+ dcmrt/libsrc/drtrwvms.cc
+ dcmrt/libsrc/drtscris.cc
+ dcmrt/libsrc/drtsdcs.cc
+ dcmrt/libsrc/drtspccs.cc
+ dcmrt/libsrc/drtwrs.cc
+ dcmrt/libsrc/drtxrs.cc
+ Removed: dcmrt/include/dcmtk/dcmrt/seq/drtrtrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbass8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtforrs.h
+ dcmrt/libsrc/drtrtrs.cc
+ dcmrt/libsrc/drtrbass8.cc
+ dcmrt/libsrc/drtforrs.cc
+ Affects: COPYRIGHT
+ dcmrt/apps/Makefile.dep
+ dcmrt/apps/Makefile.in
+ dcmrt/docs/dcmrt.dox
+ dcmrt/include/dcmtk/dcmrt/*.h
+ dcmrt/libsrc/*.cc
+ dcmrt/tests/Makefile.dep
+ dcmrt/tests/Makefile.in
+
+**** Changes from 2014.10.24 (riesmeier)
+
+- Fixed wrong term "Device Driving Level":
+ Replaced wrong term "Device Driving Level" by "Digital Driving Level" (DDL).
+ Affects: dcmimgle/apps/dcmdspfn.cc
+ dcmimgle/docs/dcmdspfn.man
+ dcmimgle/docs/dconvlum.man
+ dcmimgle/include/dcmtk/dcmimgle/diciefn.h
+ dcmimgle/include/dcmtk/dcmimgle/didispfn.h
+ dcmimgle/include/dcmtk/dcmimgle/digsdfn.h
+ dcmimgle/libsrc/diciefn.cc
+ dcmimgle/libsrc/digsdfn.cc
+
+- Attribute (0040,4005) has not been retired:
+ Fixed an issue with Scheduled Procedure Step Start DateTime (0040,4005) being
+ retired accidentally by the 2013 edition of the DICOM standard. The editor
+ of the DICOM standard, David Clunie, confirmed that this was not intended.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2014.10.24 (schlamelcher)
+
+- Fixed autoconf install regarding ofstd variadic:
+ Added the location ofstd/variadic to the autoconf install configuration.
+ Thanks to Hüseyin Kozan <posta@huseyinkozan.com.tr> for the suggestion.
+ Affects: ofstd/include/Makefile.in
+
+**** Changes from 2014.10.17 (riesmeier)
+
+- Added missing documentation for --propose-deflated:
+ Apparently, the command line option --propose-deflated (-xd) was not
+ documented in the man page.
+ Affects: dcmnet/docs/storescu.man
+
+**** Changes from 2014.10.15 (schlamelcher)
+
+- Reintroduced bugfix-comment in dcmjpeg:
+ The comment was previously removed because of the misleading date notice,
+ it has now been reintroduced without that notice.
+ Affects: dcmjpeg/libijg12/jchuff.c
+ dcmjpeg/libijg12/jdhuff.c
+ dcmjpeg/libijg16/jchuff.c
+ dcmjpeg/libijg16/jdhuff.c
+ dcmjpeg/libijg8/jchuff.c
+ dcmjpeg/libijg8/jdhuff.c
+
+**** Changes from 2014.10.14 (riesmeier)
+
+- RLE images should not use multiple fragments:
+ Made it clearer that the DICOM standard does not allow for storing the pixel
+ data with multiple fragments per frame when RLE compression is used. Added
+ comment/note and report a warning during encoding. Closes DCMTK Bug #396.
+ Affects: dcmdata/docs/dcmcrle.man
+ dcmdata/include/dcmtk/dcmdata/dcrlecp.h
+ dcmdata/libsrc/dcrlecce.cc
+
+**** Changes from 2014.10.09 (schlamelcher)
+
+- Several fixes and additions for yesterday's commits:
+ Guarded remaining friend comparison operators of OFoptional via
+ OFenable_if. This should finally fix the faulty overload resolution
+ problem in Visual Studio.
+ Worked around a limitation in MinGW where const objects could not have
+ external linkage.
+ Corrected template-recursion related problem in OFtuple that prevented
+ compiling with Clang.
+ Affects: ofstd/include/dcmtk/ofstd/ofoption.h
+ ofstd/include/dcmtk/ofstd/oftuple.h
+ ofstd/libsrc/ofstd.cc
+ ofstd/tests/toption.cc
+
+**** Changes from 2014.10.08 (schlamelcher)
+
+- Small fixes for a previous commit about OFtuple:
+ Removed unnecessary additions to the Doxygen configuration file for
+ manpages.
+ Added OFtuple's testcase to the autoconf configuration.
+ Added 'Purpose' statement to OFtuple's header file.
+ Affects: doxygen/manpages.cfg
+ ofstd/include/dcmtk/ofstd/oftuple.h
+ ofstd/tests/Makefile.in
+
+- Introduced move emulation for pre C++11 compilers:
+ C++11's move semantics allow more efficient parameter and especially
+ return value passing then before. The implemented emulation allows to use
+ the primary functionality of move semantics in pre C++11 compilers in a way
+ that automatically translates to the appropriate C++11 syntax when C++11
+ support is enabled via 'DCMTK_USE_CXX11_STL'.
+ The only class utilizing move semantics so far is OFunique_ptr, where move
+ semantics are essential to allow using OFunique_ptr objects as parameters
+ or return values.
+ Affects: ofstd/include/dcmtk/ofstd/ofmem.h
+ ofstd/include/dcmtk/ofstd/ofutil.h
+ ofstd/tests/tmem.cc
+
+- Introduced OFtuple implementing generic tuples:
+ OFtuple is a fixed-size collection of heterogeneous values. It can be
+ regarded as a generalization of OFPair.
+ OFtuple is similar to C++11's std::tuple and can be replaced by
+ std::tuple via enabling 'DCMTK_USE_CXX11_STL'.
+ Added: ofstd/include/dcmtk/ofstd/oftuple.h
+ ofstd/include/dcmtk/ofstd/variadic/tuple.h
+ ofstd/include/dcmtk/ofstd/variadic/tuplefrd.h
+ ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h
+ ofstd/tests/ttuple.cc
+ Affects: doxygen/htmldocs.cfg
+ doxygen/manpages.cfg
+ ofstd/include/dcmtk/ofstd/ofmap.h
+ ofstd/include/dcmtk/ofstd/ofutil.h
+ ofstd/libsrc/ofstd.cc
+ ofstd/tests/CMakeLists.txt
+ ofstd/tests/tests.cc
+
+- Modified some of OFoptional's comparison operators:
+ All comparison operators with an OFoptional object as left hand side
+ argument are now implemented as member methods instead of friend functions.
+ This is meant to reduce incorrect overload lookup in some Visual Studio
+ compilers.
+ Affects: ofstd/include/dcmtk/ofstd/ofoption.h
+
+- Fixed a problem in storescp:
+ Storescp aborts if it cannot create files in its working directory.
+ This behavior is intended, but it should be omitted if the "--ignore"
+ flag was set, which is realized by this commit.
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the suggestion.
+ Affects: dcmnet/apps/storescp.cc
+
+- Introduced DcmOutputBufferStream::filled() method:
+ This method allows to query the bytes in buffer without flushing it.
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the suggestion.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcostrmb.h
+ dcmdata/libsrc/dcostrmb.cc
+
+**** Changes from 2014.10.02 (riesmeier)
+
+- Fixed typo in method name:
+ Renamed method getConnnectionTimeout() to getConnectionTimeout().
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/include/dcmtk/dcmnet/scpcfg.h
+ dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scpcfg.cc
+ dcmnet/libsrc/scppool.cc
+
+**** Changes from 2014.09.30 (schlamelcher)
+
+- Fixed a bug in dcmdata:
+ Refactoring dcmdata to use unsigned types where possible caused problems
+ for some index comparisons. Solved by using iterators instead of indexed
+ access.
+ Affects: dcmdata/libsrc/dcdict.cc
+ dcmdata/libsrc/dcuid.cc
+
+**** Changes from 2014.09.26 (riesmeier)
+
+- Use new VR "UR" for Pixel Data Provider URL:
+ Use new VR "UR" (instead of "UT") for the Pixel Data Provider URL (0028,7fe0)
+ element because otherwise two test cases of the dcmdata module fail. This is
+ because the VR of this attribute changed with CP-1324 (see commit 79c499a).
+ Affects: dcmdata/tests/tparser.cc
+
+**** Changes from 2014.09.25 (riesmeier)
+
+- Enhanced rewriting rules in DcmVR::getValidEVR():
+ Enhanced rewriting rules in DcmVR::getValidEVR() by mapping post-1993 VRs like
+ "UT" to "UN" instead of "OB" if possible (i.e. if not disabled as well).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libsrc/dcvr.cc
+
+- Added functions to enable/disable post-1993 VRs:
+ Added global functions that allow for enabling and disabling the value
+ representations (VRs) that have been introduced after the first edition of
+ the DICOM standard (1993) with a single call. These new functions make it
+ easier to maintain the various command line tools that use the corresponding
+ global flags, e.g. dcmEnableUnlimitedTextVRGeneration.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmcrle.cc
+ dcmdata/apps/dcmdrle.cc
+ dcmdata/apps/dcmgpdir.cc
+ dcmdata/apps/dump2dcm.cc
+ dcmdata/apps/mdfconen.cc
+ dcmdata/apps/pdf2dcm.cc
+ dcmdata/apps/xml2dcm.cc
+ dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libsrc/dcvr.cc
+ dcmimage/apps/dcmquant.cc
+ dcmimage/apps/dcmscale.cc
+ dcmjpeg/apps/dcmcjpeg.cc
+ dcmjpeg/apps/dcmdjpeg.cc
+ dcmjpls/apps/dcmcjpls.cc
+ dcmjpls/apps/dcmdjpls.cc
+ dcmnet/apps/findscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmpstat/apps/dcmprscp.cc
+ dcmpstat/apps/dcmprscu.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmpstat/apps/dcmpssnd.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/apps/dcmqrti.cc
+ dcmsr/apps/xml2dsr.cc
+ dcmwlm/apps/wlcefs.cc
+
+**** Changes from 2014.09.24 (riesmeier)
+
+- Updated data dictionary for DICOM 2014b edition:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released on 2014-09-18. Please note that the VR of some existing
+ attributes changed from ST or UT to the new VR "UR", which has been added
+ specifically for Universal Resource Identifiers/Locators (URI/URL).
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added support for new value representation "UR":
+ Added support for new value representation "Universal Resource Identifier or
+ Universal Resource Locator (URI/URL)" (UR) that has been introduced only
+ recently with CP-1324 (Add a new Value Representation for URI/URLs).
+ Added: dcmdata/include/dcmtk/dcmdata/dcvrur.h
+ dcmdata/libsrc/dcvrur.cc
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmcrle.cc
+ dcmdata/apps/dcmdrle.cc
+ dcmdata/apps/dcmgpdir.cc
+ dcmdata/apps/dump2dcm.cc
+ dcmdata/apps/mdfconen.cc
+ dcmdata/apps/pdf2dcm.cc
+ dcmdata/apps/xml2dcm.cc
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dctk.h
+ dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libi2d/Makefile.dep
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/Makefile.in
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcvr.cc
+ dcmdata/libsrc/vrscanl.c
+ dcmdata/libsrc/vrscanl.h
+ dcmdata/libsrc/vrscanl.l
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/tchval.cc
+ dcmdata/tests/telemlen.cc
+ dcmdata/tests/tests.cc
+ dcmimage/apps/dcmquant.cc
+ dcmimage/apps/dcmscale.cc
+ dcmjpeg/apps/dcmcjpeg.cc
+ dcmjpeg/apps/dcmdjpeg.cc
+ dcmjpls/apps/dcmcjpls.cc
+ dcmjpls/apps/dcmdjpls.cc
+ dcmnet/apps/findscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmpstat/apps/dcmprscp.cc
+ dcmpstat/apps/dcmprscu.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmpstat/apps/dcmpssnd.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/apps/dcmqrti.cc
+ dcmsr/apps/xml2dsr.cc
+ dcmwlm/apps/wlcefs.cc
+
+- Fixed typos in comments and other minor issues.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrlt.h
+ dcmdata/include/dcmtk/dcmdata/dcvrst.h
+ dcmdata/include/dcmtk/dcmdata/dcvrut.h
+ dcmdata/libsrc/dcvrut.cc
+
+- Removed misleading comment from checkStringValue():
+ Removed misleading comment on possibly "multiple values" to be checked from
+ checkStringValue() method.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrlt.h
+ dcmdata/include/dcmtk/dcmdata/dcvrst.h
+ dcmdata/include/dcmtk/dcmdata/dcvrut.h
+
+**** Changes from 2014.09.19 (riesmeier)
+
+- Added support for optional JPEG fill byte:
+ Added support for optional fill byte '0xff' to JPEG decoder. Previously,
+ JPEG-compressed DICOM images containing fill bytes could not be decompressed.
+ Also added output to the logger in case an invalid JPEG marker is found.
+ Affects: dcmjpeg/libsrc/djcodecd.cc
+
+**** Changes from 2014.09.18 (onken)
+
+- Fixed conversion of color to palette color mode.
+ Affects: dcmimage/libsrc/diquant.cc
+
+**** Changes from 2014.09.03 (onken)
+
+- Make new compare() method more reliable.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmdata/include/dcmtk/dcmdata/dcvrat.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfd.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrobow.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrss.h
+ dcmdata/include/dcmtk/dcmdata/dcvrul.h
+ dcmdata/include/dcmtk/dcmdata/dcvrus.h
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcsequen.cc
+ dcmdata/libsrc/dcvrat.cc
+ dcmdata/libsrc/dcvrfd.cc
+ dcmdata/libsrc/dcvrfl.cc
+ dcmdata/libsrc/dcvrobow.cc
+ dcmdata/libsrc/dcvrsl.cc
+ dcmdata/libsrc/dcvrss.cc
+ dcmdata/libsrc/dcvrul.cc
+ dcmdata/libsrc/dcvrus.cc
+
+**** Changes from 2014.09.01 (onken)
+
+- Make sure dcmdata tests compile with autoconf.
+ Affects: dcmdata/tests/Makefile.in
+
+**** Changes from 2014.08.29 (onken)
+
+- New compare() function for dcmdata object values:
+ A new compare() function is added to all VR classes under the DcmElement
+ object hierarchy which compares two objects (of the same type) by value.
+ The function takes into account that elements may have different tags,
+ values and VMs.
+ Added: dcmdata/tests/tvrcomp.cc
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmdata/include/dcmtk/dcmdata/dcvrat.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfd.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrobow.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrss.h
+ dcmdata/include/dcmtk/dcmdata/dcvrul.h
+ dcmdata/include/dcmtk/dcmdata/dcvrus.h
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcsequen.cc
+ dcmdata/libsrc/dcvrat.cc
+ dcmdata/libsrc/dcvrfd.cc
+ dcmdata/libsrc/dcvrfl.cc
+ dcmdata/libsrc/dcvrobow.cc
+ dcmdata/libsrc/dcvrsl.cc
+ dcmdata/libsrc/dcvrss.cc
+ dcmdata/libsrc/dcvrul.cc
+ dcmdata/libsrc/dcvrus.cc
+ dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+
+**** Changes from 2014.08.26 (schlamelcher)
+
+- Fixed a problem with Microsoft Safe CRT in oflog:
+ The oflog module now honors the configure test results instead of using
+ its own definitions. Thanks to Matt McCormick <matt.mccormick@kitware.com>
+ for the report and suggested patch.
+ Affects: oflog/include/dcmtk/oflog/config/win32.h
+
+**** Changes from 2014.08.18 (schlamelcher)
+
+- Refined definition of numeric types and traits:
+ Introduced OFlonglong and OFulonglong preprocessor definitions that
+ expand to the platform specific long long type or are undefined if
+ no such type is available.
+ Reimplemented fixed width integer types employing these long long
+ types and refined integer traits to use the primitive types instead
+ of the fixed with types in their specializations.
+ Affects: ofstd/include/dcmtk/ofstd/oftypes.h
+ ofstd/include/dcmtk/ofstd/oftraits.h
+
+**** Changes from 2014.07.31 (riesmeier)
+
+- Added check on valid "IMAGE" SOP Classes:
+ Added check on SOP Classes to be referenced from an IMAGE content item, which
+ includes the Segmentation Storage SOP Class. This kind of check was already
+ performed for Presentation State and Waveform objects. Also compared these
+ lists of supported SOP Classes with the current edition of the DICOM standard.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrwavvl.cc
+
+- Added dcmIsImageStorageSOPClassUID() function:
+ Added a global function that checks whether a given SOP Class UID is one of
+ the known Image Storage SOP Classes (similar to dcmIsaStorageSOPClassUID()).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+
+**** Changes from 2014.07.30 (riesmeier)
+
+- Insert a subtree into an empty document tree:
+ Added missing support for inserting a subtree into an empty document tree (if
+ this subtree is a valid document tree). Also added new tests for this case.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+**** Changes from 2014.07.29 (riesmeier)
+
+- Further enhanced by-reference relationships:
+ Now storing the value type of a referenced node (target content item) in the
+ by-reference tree node class in order to facilitate IOD constraint checking.
+ Added new methods to by-reference tree node class in order to avoid direct
+ access to the member variables (by a friend class), and to allow updating the
+ referenced node. Added missing support for by-reference relationships in
+ DSRDocumentSubTree::checkSubTreeConstraints(). Also added a new test on this.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrreftn.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoc.cc
+
+**** Changes from 2014.07.28 (riesmeier)
+
+- Enhanced support for by-reference relationships:
+ Enhanced support for by-reference relationships in subtrees extracted from a
+ valid document tree. Also added a new test for this particular case.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+- Added extractSubTree() method to tree classes:
+ Added extractSubTree() method to the tree classes. This allows for extracting
+ a particular subtree from an SR document tree or from another subtree. Also
+ added new tests for the new methods on DSRDocumentSubTree and DSRTree level.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+ dcmsr/tests/tsrtree.cc
+
+**** Changes from 2014.07.25 (riesmeier)
+
+- Added removeSubTree() method to subtree class:
+ Added removeSubTree() method to the document subtree class. This allows for
+ removing (and deleting) a particular subtree from an SR document tree/subtree.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+- Added public method to change SR document type:
+ Added public method that allows for changing the type of an SR document (IOD)
+ without deleting the currently stored document tree, if this is possible.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/tests/tsrdoc.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/CMakeLists.txt
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/Makefile.in
+ dcmsr/tests/tests.cc
+
+- Fixed wrong term in Doxygen documentation:
+ Instead of "content relationship constraints" the DICOM standard uses the
+ term "relationship content constraints".
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrbascc.h
+ dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrchecc.h
+ dcmsr/include/dcmtk/dcmsr/dsrcolcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrenhcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrimpcc.h
+ dcmsr/include/dcmtk/dcmsr/dsriodcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrkeycc.h
+ dcmsr/include/dcmtk/dcmsr/dsrmaccc.h
+ dcmsr/include/dcmtk/dcmsr/dsrmamcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrprocc.h
+ dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrspecc.h
+ dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h
+
+- Slightly enhanced layout of Doxygen documentation.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+
+- Removed DLL specifier from template classes:
+ Removed DLL import/export specifier from template classes since this does not
+ seem to work with VisualStudio (when compiling with shared libraries enabled).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+
+**** Changes from 2014.07.24 (onken)
+
+- Fix last commit by including implementation file.
+ Affects: dcmdata/libsrc/dcuid.cc
+
+- Reverted false retirement status of some SOP Classes.
+ Three composite instance retrieve SOP Classes have accidentially
+ been added using the "RETIRED_" prefix in their respective constant
+ names. Thanks to Michael Spacek <tupinek@gmail.com> for the report
+ and suggested patch.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+
+- Specific error if no presentation context proposed.
+ Return specific error if Association requestor does not propose any
+ presentation context (must propose one or more).
+ Affects: dcmnet/include/dcmtk/dcmnet/cond.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/cond.cc
+
+**** Changes from 2014.07.23 (riesmeier)
+
+- Clarified use of template identification:
+ Made it clearer that the template identification using the Content Template
+ Sequence (0040,A504) is only applicable to CONTAINER content items. At the
+ time when the development of the "dcmsr" module started, this restriction was
+ not present in the DICOM standard (see DICOM PS 3.3-2000 for details).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/libsrc/dsrcitem.cc
+ dcmsr/libsrc/dsrdoctn.cc
+
+- Fixed two memory leaks in recently added code:
+ Fixed a memory leak in DSRDocumentSubTree::insertSubTree() and another one in
+ the destructor of class DSRContentItem. These leaks were found with valgrind.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrcitem.cc
+ dcmsr/libsrc/dsrdocst.cc
+
+**** Changes from 2014.07.22 (riesmeier)
+
+- Added checking of IOD-specific constraints:
+ Enhanced new insertSubTree() method by also checking whether the content
+ relationship constraints of the underlying SR IOD are followed, which is
+ needed for the derived class DSRDocumentTree. Also added further tests.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+**** Changes from 2014.07.21 (riesmeier)
+
+- Added insertSubTree() method to subtree class:
+ Added insertSubTree() and canInsertSubTree() method to the document subtree
+ class. This allows for adding a particular subtree to an SR document tree or
+ to another subtree. Also added new tests for these methods (as always).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+- Fixed a bug in convertNewlineCharacters():
+ Fixed an ugly bug in convertNewlineCharacters() that caused dump2dcm to crash.
+ This issue was introduced with commit 093768a, i.e. the previous one.
+ Thanks to Markus Konrad <markus.konrad@et-innovations.org> for the report.
+ Affects: dcmdata/apps/dump2dcm.cc
+
+**** Changes from 2014.07.18 (riesmeier)
+
+- Restructured classes for nodes and trees:
+ Converted basic node and tree classes to C++ templates. This makes the code
+ clearer and avoids many explicit type casts. Also fixed some scope issues.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrtncsr.cc
+ dcmsr/libsrc/dsrtree.cc
+ dcmsr/tests/tsrtree.cc
+
+**** Changes from 2014.07.17 (riesmeier)
+
+- Reimplemented various getXXX() methods:
+ Reimplemented various public getXXX() methods in derived tree class, but in
+ the "protected" section. This also avoids some explicit type casts.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrtncsr.cc
+ dcmsr/libsrc/dsrtree.cc
+
+- Changed return type of addContentItem(node*):
+ Changed return type of addContentItem() method that expects a pointer to a
+ newly created document tree node. It now returns an OFCondition (like other
+ similar methods) instead of the pointer to the tree node that was passed to
+ it. Also fixed possible memory leaks in case adding the new tree node failed.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tsrdoctr.cc
+
+- Cleaned up handling of "unknown" relationships:
+ Made sure that the "unknown" relationship type is only permitted on top-level
+ in a document subtree. This will be used for certain DICOM SR templates.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/tests/tsrdoctr.cc
+
+**** Changes from 2014.07.17 (onken)
+
+- Fixed possible memory leak.
+ Thanks to Peter Hille <peter@das-system-networks.de> for the report and
+ suggested fix.
+ Affects: dcmnet/libsrc/assoc.cc
+
+**** Changes from 2014.07.16 (riesmeier)
+
+- Added cloneSubTree() method to tree classes:
+ Added cloneSubTree() method to the tree classes. This allows for copying a
+ particular subtree from an SR document tree or from another subtree. Also
+ added new tests for these methods.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtree.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+ dcmsr/tests/tsrtree.cc
+
+- Minor fixes on "const" declaration of pointers.
+ Affects: dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+
+**** Changes from 2014.07.15 (riesmeier)
+
+- Added gotoFirst() and gotoLast() methods:
+ Added gotoFirst() and gotoLast() methods, which allow for setting the cursor
+ to the first or last node on the same level (i.e. the first or last sibling).
+ These methods will be useful for the upcoming cloneSubTree() methods.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/libsrc/dsrtncsr.cc
+ dcmsr/tests/tsrtree.cc
+
+- Added further checking methods to cursor class:
+ Added methods that check whether the current node has a parent, at least one
+ child node, preceding or following siblings. Also added new tests for that.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/libsrc/dsrtncsr.cc
+ dcmsr/tests/tsrtree.cc
+
+- Added getPreviousNode() and getChildNode():
+ Added missing getPreviousNode() and getChildNode() methods, which allow for
+ looking up the previous node or first child node without changing the cursor.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/libsrc/dsrtncsr.cc
+
+**** Changes from 2014.07.14 (riesmeier)
+
+- Implemented copy constructors for tree classes:
+ Added missing copy constructors and clone() methods to various tree classes.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrtree.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+ dcmsr/tests/tsrtree.cc
+
+**** Changes from 2014.07.11 (riesmeier)
+
+- Introduced new class DSRDocumentSubTree:
+ Introduced new class DSRDocumentSubTree as the base class for the existing
+ class DSRDocumentTree. A subtree represents an extract of a SR document tree.
+ This new class is another step towards the future support of SR Templates.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/docs/dcmsr.dox
+ dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+- Fixed various Doxygen-related issues:
+ Fixed various Doxygen-related issues, mainly missing class name for some
+ identifiers. Also fixed wrong header include (where appropriate).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/include/dcmtk/dcmsr/dsrcodtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcontn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdattn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdtitn.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h
+ dcmsr/include/dcmtk/dcmsr/dsrscotn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcotn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtextn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtimtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/include/dcmtk/dcmsr/dsruidtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavtn.h
+
+**** Changes from 2014.07.11 (onken)
+
+- Add connection timeout setting to SCU class.
+ Add DCMTK's global connection timeout to SCU API. Though the timeout is still
+ a global settings, this enhances visibility to users. Enhanced documentation
+ comments about other existing timeout settings.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2014.07.09 (riesmeier)
+
+- Fixed issue with tests run in different order:
+ Fixed issue with tests being run in different order when using the CMake
+ build system. Now, the ID of the next node to be created can be determined in
+ advance.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrtree.cc
+ dcmsr/tests/tsrdoctr.cc
+ dcmsr/tests/tsrtree.cc
+
+- Added two new convenience functions:
+ Added new convenience functions that allow for adding a new node (either on
+ the same level or as a child node) and for specifying the concept name with a
+ single call. Also added a test case for these functions and gotoNamedNode().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+- Added method counting the number of nodes:
+ Added method that counts the number of nodes stored in a tree.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrtree.cc
+ dcmsr/tests/tsrtree.cc
+
+- Made sure that all top-level nodes are deleted:
+ Made sure that all nodes in the tree are deleted with clear(), even if there
+ is more than one node on the top-level (i.e. no dedicated root). This feature
+ will be needed for handling the upcoming document subtree class properly.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libsrc/dsrtree.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtree.cc
+
+**** Changes from 2014.07.08 (riesmeier)
+
+- Excluded "*.md5" files from installation:
+ Excluded "*.md5" files generated by Doxygen (when "HAVE_DOT" is set to "YES")
+ from installation. This setting is e.g. used by Debian's DCMTK package.
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report and
+ suggested fix.
+ Affects: doxygen/CMakeLists.txt
+
+- Removed outdated CMake exclude pattern:
+ Removed outdated "CVS" exclude pattern from CMake install command. After the
+ change from CVS to git there is no need to exclude the subdirectory anymore.
+ Affects: dcmdata/include/CMakeLists.txt
+ dcmimage/include/CMakeLists.txt
+ dcmimgle/include/CMakeLists.txt
+ dcmjpeg/include/CMakeLists.txt
+ dcmjpls/include/CMakeLists.txt
+ dcmnet/include/CMakeLists.txt
+ dcmpstat/include/CMakeLists.txt
+ dcmqrdb/include/CMakeLists.txt
+ dcmrt/include/CMakeLists.txt
+ dcmsign/include/CMakeLists.txt
+ dcmsr/include/CMakeLists.txt
+ dcmtls/include/CMakeLists.txt
+ dcmwlm/data/CMakeLists.txt
+ dcmwlm/include/CMakeLists.txt
+ doxygen/CMakeLists.txt
+ oflog/include/CMakeLists.txt
+ ofstd/include/CMakeLists.txt
+
+- Added explaining comment on new copy constructor.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+
+**** Changes from 2014.07.07 (riesmeier)
+
+- Implemented copy constructors and added clone():
+ Implemented missing copy constructors for tree node classes and added clone()
+ methods to the relevant classes. This is the first step towards a better
+ support of SR templates, e.g. by preparing subtrees in advance that can later
+ be inserted into a document tree.
+ Acknowledgements: Development of this feature has been supported in part by
+ the Quantitative Image Informatics in Cancer Research (QIICR) project through
+ the award U24 CA180918 from the NIH National Cancer Institute. For future
+ commits, this reference will be shortened to the project acronym "QIICR".
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/include/dcmtk/dcmsr/dsrcodtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcontn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdattn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrdtitn.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h
+ dcmsr/include/dcmtk/dcmsr/dsrscotn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcotn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtextn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtimtn.h
+ dcmsr/include/dcmtk/dcmsr/dsruidtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavtn.h
+ dcmsr/libsrc/dsrcitem.cc
+ dcmsr/libsrc/dsrcodtn.cc
+ dcmsr/libsrc/dsrcomtn.cc
+ dcmsr/libsrc/dsrcontn.cc
+ dcmsr/libsrc/dsrdattn.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrdtitn.cc
+ dcmsr/libsrc/dsrimgtn.cc
+ dcmsr/libsrc/dsrnumtn.cc
+ dcmsr/libsrc/dsrpnmtn.cc
+ dcmsr/libsrc/dsrrefin.cc
+ dcmsr/libsrc/dsrreftn.cc
+ dcmsr/libsrc/dsrsc3tn.cc
+ dcmsr/libsrc/dsrscotn.cc
+ dcmsr/libsrc/dsrscovl.cc
+ dcmsr/libsrc/dsrtcotn.cc
+ dcmsr/libsrc/dsrtextn.cc
+ dcmsr/libsrc/dsrtimtn.cc
+ dcmsr/libsrc/dsruidtn.cc
+ dcmsr/libsrc/dsrwavtn.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+- Updated copyright date and other minor changes.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrbascc.h
+ dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrchecc.h
+ dcmsr/include/dcmtk/dcmsr/dsrcolcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrenhcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgfr.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgse.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrimpcc.h
+ dcmsr/include/dcmtk/dcmsr/dsriodcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrkeycc.h
+ dcmsr/include/dcmtk/dcmsr/dsrmaccc.h
+ dcmsr/include/dcmtk/dcmsr/dsrmamcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrprocc.h
+ dcmsr/include/dcmtk/dcmsr/dsrrefin.h
+ dcmsr/include/dcmtk/dcmsr/dsrsc3gr.h
+ dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h
+ dcmsr/include/dcmtk/dcmsr/dsrscogr.h
+ dcmsr/include/dcmtk/dcmsr/dsrscovl.h
+ dcmsr/include/dcmtk/dcmsr/dsrspecc.h
+ dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcodt.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcosp.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcoto.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtlist.h
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavch.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrxmlc.h
+ dcmsr/include/dcmtk/dcmsr/dsrxmld.h
+ dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h
+
+- Minor fixes to file's comment header.
+ Affects: dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+ dcmsr/apps/dsrdump.cc
+ dcmsr/apps/xml2dsr.cc
+ dcmsr/include/dcmtk/dcmsr/dsdefine.h
+ dcmsr/libsrc/dsrbascc.cc
+ dcmsr/libsrc/dsrc3dcc.cc
+ dcmsr/libsrc/dsrchecc.cc
+ dcmsr/libsrc/dsrcolcc.cc
+ dcmsr/libsrc/dsrcomcc.cc
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrenhcc.cc
+ dcmsr/libsrc/dsrimgfr.cc
+ dcmsr/libsrc/dsrimgse.cc
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrimpcc.cc
+ dcmsr/libsrc/dsriodcc.cc
+ dcmsr/libsrc/dsrkeycc.cc
+ dcmsr/libsrc/dsrmaccc.cc
+ dcmsr/libsrc/dsrmamcc.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrprocc.cc
+ dcmsr/libsrc/dsrsc3gr.cc
+ dcmsr/libsrc/dsrsc3vl.cc
+ dcmsr/libsrc/dsrscogr.cc
+ dcmsr/libsrc/dsrsoprf.cc
+ dcmsr/libsrc/dsrspecc.cc
+ dcmsr/libsrc/dsrstrvl.cc
+ dcmsr/libsrc/dsrtcodt.cc
+ dcmsr/libsrc/dsrtcosp.cc
+ dcmsr/libsrc/dsrtcoto.cc
+ dcmsr/libsrc/dsrtcovl.cc
+ dcmsr/libsrc/dsrtncsr.cc
+ dcmsr/libsrc/dsrtree.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/libsrc/dsrwavch.cc
+ dcmsr/libsrc/dsrwavvl.cc
+ dcmsr/libsrc/dsrxmlc.cc
+ dcmsr/libsrc/dsrxmld.cc
+ dcmsr/libsrc/dsrxrdcc.cc
+ dcmsr/tests/tsrtree.cc
+
+**** Changes from 2014.07.07 (schlamelcher)
+
+- Fixed a wrong type-alias for OFintegral_constant:
+ The type-alias defined when C++11 support was enabled did not honor the
+ special nature of std::integral_constant which takes a non-type argument
+ as its second template parameter.
+ Affects: ofstd/include/dcmtk/ofstd/oftraits.h
+
+- Introduced C++11-like alignment support:
+ Created configure tests that detect the availability of various native
+ alignment specifiers on different platform / compiler combinations.
+ Implemented fallback definitions for OFalignas and OFalignof based on these
+ specifiers and the non-standard macros "OFalign" and "OFalign_typename"
+ which compensate for the reduced functionality available on Microsoft
+ compilers by employing C++ templates.
+ OFalign and OFalign_typename are also available on compilers supplying true
+ alignment support, making them the most platform-independent
+ implementations.
+ Added: ofstd/include/dcmtk/ofstd/ofalign.h
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/aclocal.m4
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+
+- Fixed an alignment problem in OFoptional:
+ OFoptional now uses a policy based approach to manage its storage,
+ implemented as OFoptional_traits. This allows to customize memory
+ allocation and state management, as well as the default construction
+ policy.
+ The default implementation now uses OFalign when available, to align the
+ storage appropriately for its content type. If OFalign is not supported,
+ OFoptional falls back to an implementation employing pointers and
+ allocating the memory on the heap.
+ Affects: ofstd/include/dcmtk/ofstd/ofoption.h
+ ofstd/tests/toption.cc
+
+- Fixed building 32 bit targets with mingw-w64:
+ Added configure-time tests for some file access functions that aren't
+ available on every MinGW distribution.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ ofstd/include/dcmtk/ofstd/offile.h
+
+**** Changes from 2014.07.02 (riesmeier)
+
+- Removed year component from version field:
+ Removed the name of the edition of the DICOM standard, i.e. "2014a" for the
+ current edition, from the version field of each DICOM attribute. Since the
+ DICOM standard will now be published/updated more often, the complete data
+ dictionary will be generated automatically several times a year. Having the
+ year component in the version field would change each entry every time and
+ would make it hard (if not impossible) to see what has actually changed.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2014.07.01 (riesmeier)
+
+- Updated data dictionary for DICOM 2014a edition:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released on 2014-06-30. Since the data dictionary was already
+ up-to-date regarding the recently approved Supplements and CPs, there should
+ be no changes apart from the name of the underlying DICOM standard edition.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2014.06.30 (riesmeier)
+
+- Added support for new Colon CAD SR constraints:
+ Added new "TCOORD selected from" line to the Colon CAD SR constraint checker
+ from Table A.35.10-2 (Relationship Content Constraints for Colon CAD SR IOD)
+ introduced with the recently approved CP-1335.
+ Affects: dcmsr/libsrc/dsrcolcc.cc
+
+- Updated comment based on CP-1335:
+ Updated comment on not yet supported Frame of Reference IE / Synchronization
+ Module that is conditional/optional for some SR IODs (based on CP-1335).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+
+- Added support for recently approved CPs:
+ Added support for CP-1203, CP-1331, CP-1343 and CP-1347 to the data
+ dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Fixed various typos and minor Doxygen issues.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/include/dcmtk/dcmnet/scpcfg.h
+
+**** Changes from 2014.06.23 (riesmeier)
+
+- Fixed incomplete #include comment.
+ Affects: dcmnet/libsrc/dimse.cc
+
+**** Changes from 2014.06.19 (riesmeier)
+
+- Added support for CP-1125 to SR implementation:
+ Added support for CP-1125, which adds the attribute Protocol Name (0018,1030)
+ to both SR Document Series Module and Key Object Document Series Module.
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/dsrdoc.cc
+
+- Updated DCMTK's copyright date.
+ Affects: COPYRIGHT
+
+**** Changes from 2014.06.18 (schlamelcher)
+
+- Clarified an ambiguous configure message.
+ Affects: CMake/dcmtkPrepare.cmake
+ config/docs/cxx11.dox
+
+- Removed misleading comment in dcmjpeg.
+ Affects: dcmjpeg/libijg12/jchuff.c
+ dcmjpeg/libijg12/jdhuff.c
+ dcmjpeg/libijg16/jchuff.c
+ dcmjpeg/libijg16/jdhuff.c
+ dcmjpeg/libijg8/jchuff.c
+ dcmjpeg/libijg8/jdhuff.c
+
+**** Changes from 2014.06.18 (riesmeier)
+
+- Updated reference to DICOM standard edition.
+ Affects: dcmdata/include/dcmtk/dcmdata/modhelp.h
+
+- Added missing empty line.
+ Affects: dcmimage/docs/dcmscale.man
+
+- Fixed typos and other minor issues.
+ Affects: INSTALL
+ CMake/dcmtkPrepare.cmake
+ CMake/osconfig.h.in
+ config/docs/cxx11.dox
+ config/docs/macros.txt
+ dcmdata/include/dcmtk/dcmdata/dcfilter.h
+
+**** Changes from 2014.06.17 (schlamelcher)
+
+- Updated manpages.
+ Affects: doxygen/manpages/man1/*
+
+- Updated DCMTK_ABI_VERSION for new development snapshot.
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2014.06.15 (schlamelcher)
+
+- Fixed ofstd_tatof error on older MSVC versions:
+ Older MSVC versions handle underflows incorrectly, therefore
+ the respective test is skipped on these compilers.
+ Affects: ofstd/tests/tatof.cc
+
+- Fixed DCMTK-Exports for custom module setups:
+ The variable 'DCMTK_MODULES' is now honored while generating exports,
+ to skip modules the user removed from the build.
+ Affects: CMake/DCMTKConfig.cmake.in
+ CMake/GenerateCMakeExports.cmake
+
+- Fixed and suppressed some warnings:
+ Fixed a warning about int / OFBool conversion and suppressed some (silly)
+ MSVC warnings.
+ Affects: CMake/osconfig.h.in
+ ofstd/include/dcmtk/ofstd/ofoption.h
+
+- Added 'DCMTK_USE_CXX11_STL' and 'DCMTK_CXX11_FLAGS':
+ These flags control DCMTK's behavior regarding C++11 features.
+ DCMTK_USE_CXX11_STL may be used to switch between DCMTK's own classes and
+ the respective native C++11 implementations. DCMTK will try to set the
+ appropriate CXX_FLAGS to enable C++11 when DCMTK_USE_CXX11_STL is set.
+ DCMTK_CXX11_FLAGS may be used to override which CXX_FLAGS DCMTK sets, for
+ example to use C++14 instead of C++11.
+ Affects: INSTALL
+ CMake/osconfig.h.in
+ config/configure
+ config/configure.in
+ config/docs/config.dox
+ config/docs/cxx11.dox
+ config/docs/macros.txt
+ config/include/dcmtk/config/osconfig.h.in
+
+**** Changes from 2014.06.12 (riesmeier)
+
+- Removed outdated comment on DICOM 2008 standard.
+ Affects: dcmnet/docs/asconfig.txt
+
+- Replaced CMake variable in Doxygen config file:
+ Replaced CMake variable "@CMAKE_CURRENT_SOURCE_DIR@" in Doxygen configuration
+ file by existing substitution variable "@DOXYGEN_INPUT_DIR@".
+ Affects: doxygen/htmldocs.cfg
+
+- Avoid full directory path in Doxygen footer:
+ Avoid full directory path in Doxygen footer when HTML generation is initiated
+ from CMake.
+ Affects: doxygen/htmldocs.cfg
+
+**** Changes from 2014.06.11 (eichelberg)
+
+- Introduced OFStandard::dropPrivileges():
+ This method centralizes the code for dropping root privileges when
+ running in setuid root mode.
+ Affects: ofstd/include/dcmtk/ofstd/ofcond.h
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofcond.cc
+ ofstd/libsrc/ofstd.cc
+
+- Tools now use OFStandard::dropPrivileges():
+ Modified applications and support classes to call
+ OFStandard::dropPrivileges() instead of setuid(getuid()).
+ Affects: dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/libsrc/scp.cc
+ dcmpstat/apps/dcmprscp.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmpstat/tests/msgserv.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmwlm/libsrc/wlmactmg.cc
+
+**** Changes from 2014.06.11 (riesmeier)
+
+- Group condition constants in Doxygen output.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+ ofstd/include/dcmtk/ofstd/ofcond.h
+
+- Made sure that header file is parsed by Doxygen.
+ Affects: ofstd/include/dcmtk/ofstd/oftypes.h
+
+- Renamed Doxygen's layout file again.
+ Added: doxygen/layout.xml
+ Removed: doxygen/Layout.xml
+ Affects: doxygen/htmldocs.cfg
+
+- Removed meaningless layout file setting:
+ Removed setting a value for "LAYOUT_FILE" because it is meaningless for man
+ pages and produces only warnings in the "manpages.log" file.
+ Affects: doxygen/Makefile.in
+ doxygen/manpages.cfg
+
+- Fixed typo and updated copyright date.
+ Affects: dcmdata/docs/dcm2pdf.man
+ dcmdata/docs/dcm2xml.man
+ dcmdata/docs/dcmconv.man
+ dcmdata/docs/dcmcrle.man
+ dcmdata/docs/dcmdrle.man
+ dcmdata/docs/dcmdump.man
+ dcmdata/docs/dcmftest.man
+ dcmdata/docs/dcmgpdir.man
+ dcmdata/docs/dcmodify.man
+ dcmdata/docs/dump2dcm.man
+ dcmdata/docs/img2dcm.man
+ dcmdata/docs/pdf2dcm.man
+ dcmdata/docs/xml2dcm.man
+ dcmimage/docs/dcm2pnm.man
+ dcmimage/docs/dcmquant.man
+ dcmimage/docs/dcmscale.man
+ dcmimgle/docs/dcmdspfn.man
+ dcmimgle/docs/dcod2lum.man
+ dcmimgle/docs/dconvlum.man
+ dcmjpeg/docs/dcmcjpeg.man
+ dcmjpeg/docs/dcmdjpeg.man
+ dcmjpeg/docs/dcmj2pnm.man
+ dcmjpeg/docs/dcmmkdir.man
+ dcmjpls/docs/dcmcjpls.man
+ dcmjpls/docs/dcmdjpls.man
+ dcmjpls/docs/dcml2pnm.man
+ dcmnet/docs/dcmrecv.man
+ dcmnet/docs/dcmsend.man
+ dcmnet/docs/echoscu.man
+ dcmnet/docs/findscu.man
+ dcmnet/docs/getscu.man
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/docs/storescu.man
+ dcmnet/docs/termscu.man
+ dcmpstat/docs/dcmmkcrv.man
+ dcmpstat/docs/dcmmklut.man
+ dcmpstat/docs/dcmp2pgm.man
+ dcmpstat/docs/dcmprscp.man
+ dcmpstat/docs/dcmprscu.man
+ dcmpstat/docs/dcmpschk.man
+ dcmpstat/docs/dcmpsmk.man
+ dcmpstat/docs/dcmpsprt.man
+ dcmpstat/docs/dcmpsrcv.man
+ dcmpstat/docs/dcmpssnd.man
+ dcmqrdb/docs/dcmqridx.man
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/docs/dcmqrti.man
+ dcmrt/docs/drtdump.man
+ dcmsign/docs/dcmsign.man
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+ dcmsr/docs/dsrdump.man
+ dcmsr/docs/xml2dsr.man
+ dcmwlm/docs/wlmscpfs.man
+
+**** Changes from 2014.06.10 (riesmeier)
+
+- Added DcmSCP::abortAssociation() method:
+ Added method that allows one to abort an association by sending an A-ABORT
+ request from the SCP, i.e. classes derived from DcmSCP can now abort the
+ association in case of severe errors.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+- Added support for new SR IOD from Supplement 159:
+ Added full support for the new Radiopharmaceutical Radiation Dose SR IOD
+ introduced with Supplement 159.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h
+ dcmsr/libsrc/dsrrrdcc.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+ dcmsr/docs/dsrdump.man
+ dcmsr/docs/xml2dsr.man
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/Makefile.dep
+
+- Added support for new UID from Supplement 159:
+ Added support for new SOP Class UID from Supplement 159 (Radiopharmaceutical
+ Radiation Dose Reporting).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Added support for Supplement 159 to data dictionary:
+ Added support for the final text version of Supplement 159
+ (Radiopharmaceutical Radiation Dose Reporting) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2014.06.06 (riesmeier)
+
+- Consistently use "presInfo" for variables/parameters:
+ Consistently use "presInfo" as the name of parameter and local variables of
+ type DcmPresentationContextInfo, both in header and source files.
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscp.h
+ dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/dstorscp.cc
+ dcmnet/libsrc/scp.cc
+
+**** Changes from 2014.06.04 (schlamelcher)
+
+- Renamed DoxygenLayout.xml to comply with filename conventions.
+ Added: doxygen/Layout.xml
+ Removed: doxygen/DoxygenLayout.xml
+ Affects: doxygen/CMakeLists.txt
+ doxygen/Makefile.in
+ doxygen/htmldocs.cfg
+ doxygen/manpages.cfg
+
+- Minor fixes and workarounds for Microsoft's compilers:
+ Microsoft Visual Studio again shows its lack of standard compliance,
+ especially in the hard bug where calling "operator->()" does
+ something different than calling "->".
+ Affects: dcmimage/include/dcmtk/dcmimage/diqthash.h
+ ofstd/include/dcmtk/ofstd/ofoption.h
+
+**** Changes from 2014.06.04 (riesmeier)
+
+- Fixed issue with text alignment in PatternLayout:
+ Fixed issue with text alignment in oflog's PatternLayout. After switching to
+ log4cplus version 1.1.0 the format specifiers for left and right justified
+ text of a particular width did not work any more. This has been fixed by
+ returning to the implementation of the previous log4cplus version 1.0.x.
+ Also removed trailing spaces and fixed some typos.
+ Affects: oflog/libsrc/patlay.cc
+
+- Fixed some Doxygen related issues (and a typo).
+ Affects: dcmnet/include/dcmtk/dcmnet/scppool.h
+
+**** Changes from 2014.06.02 (schlamelcher)
+
+- Introduced OFoptional, implementing optional types:
+ OFoptional is implemented based on the C++14 proposal for std::optional
+ (N3690) and is similar to Boost.Optional.
+ Added: doxygen/DoxygenLayout.xml
+ ofstd/include/dcmtk/ofstd/ofoption.h
+ ofstd/include/dcmtk/ofstd/ofutil.h
+ ofstd/tests/toption.cc
+ Affects: doxygen/CMakeLists.txt
+ ofstd/include/dcmtk/ofstd/ofdefine.h
+ ofstd/libsrc/ofstd.cc
+ ofstd/tests/CMakeLists.txt
+ ofstd/tests/Makefile.in
+ ofstd/tests/tests.cc
+
+**** Changes from 2014.05.28 (riesmeier)
+
+- Made sure that the move originator is cleared:
+ Made sure that the members MoveOriginatorAETitle and MoveOriginatorMsgID are
+ reset in the clear() method.
+ Affects: dcmnet/libsrc/dstorscu.cc
+
+- Fixed typos in comments.
+ Affects: CMake/DCMTKConfig.cmake26.in
+ dcmnet/include/dcmtk/dcmnet/dstorscp.h
+ dcmnet/include/dcmtk/dcmnet/dstorscu.h
+
+**** Changes from 2014.05.27 (schlamelcher)
+
+- Modified DcmQuantColorHashTable to perform lazy initialization:
+ To improve performance, DcmQuantColorHashTable now creates the internal
+ items when they are accessed for the first time instead of at its
+ initialization.
+ Thanks to Takeo Satomi <takeo.satomi@gmail.com> for the suggested
+ improvement.
+ Affects: dcmimage/include/dcmtk/dcmimage/diqthash.h
+ dcmimage/libsrc/diqthash.cc
+
+**** Changes from 2014.05.09 (riesmeier)
+
+- Various minor fixes for development version.
+ Affects: INSTALL
+ VERSION
+
+**** Changes from 2014.05.08 (riesmeier)
+
+- Fixed typos, added missing documentation, etc.
+ Affects: dcmdata/include/dcmtk/dcmdata/libi2d/i2dbmps.h
+ dcmdata/include/dcmtk/dcmdata/libi2d/i2dimgs.h
+ dcmdata/include/dcmtk/dcmdata/libi2d/i2djpgs.h
+
+**** Changes from 2014.05.08 (onken)
+
+- Fixed wrong ifdef syntax:
+ Thanks to Andrey Fedorov <andrey.fedorov@gmail.com> for the suggested fix.
+ Affects: ofstd/include/dcmtk/ofstd/ofexport.h
+
+**** Changes from 2014.05.06 (riesmeier)
+
+- Added further error handling options:
+ Added error handling options known from dsrdump and dsr2html to dsr2xml.
+ Please be careful with these new command line options since they disable
+ certain validation checks on the DICOM SR input file and, therefore, might
+ result in non-standard conformant output.
+ Affects: dcmsr/apps/dsr2xml.cc
+ dcmsr/docs/dsr2xml.man
+
+- Fixed typos in comments.
+ Affects: dcmnet/apps/echoscu.c
+ dcmnet/apps/movescu.cc
+
+**** Changes from 2014.05.02 (riesmeier)
+
+- Updated data dictionary for DICOM 2013 edition:
+ Updated data dictionary for the latest edition of the DICOM standard, which
+ has been released on 2014-04-30. Major parts of the "dicom.dic" file have
+ been generated automatically based on the machine-readable DocBook version of
+ Part 6 and 7 of the DICOM standard. In addition, all recently approved final
+ text Supplements and CPs have been added manually. Since the data dictionary
+ was already quite up-to-date, there should be minor changes only.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2014.05.01 (riesmeier)
+
+- Added explicit type casts to avoid warnings:
+ Added explicit type casts to avoid warnings reported by gcc 4.7.2 (Linux)
+ with additional flags or MSVC++ with higher warning level (C4244). Thanks
+ to Rasmus Christian Pedersen <zerhacken@yahoo.com> for the original report.
+ Affects: dcmnet/apps/dcmrecv.cc
+ dcmnet/apps/dcmsend.cc
+
+- Fixed inconsistent parameter type:
+ Fixed inconsistent parameter type for setMaxReceivePDULength() method.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2014.04.29 (riesmeier)
+
+- Access the (total) number of frames in an image:
+ Added support for accessing the value of Number of Frames (0028,0008), i.e.
+ the number of frames stored in a DICOM file/dataset.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
+ dcmimgle/include/dcmtk/dcmimgle/diimage.h
+
+**** Changes from 2014.04.28 (schlamelcher)
+
+- Minor fixes (whitespace and line ending errors).
+ Affects: ofstd/include/dcmtk/ofstd/ofexbl.h
+ ofstd/include/dcmtk/ofstd/oftraits.h
+
+**** Changes from 2014.04.25 (schlamelcher)
+
+- Fixed possibly wrong overload resolution in DSRCodedEntryValue:
+ The introduction of the "check" parameter, which was added to the
+ constructor and the "setCode"-method of DSRCodedEntryValue
+ (see changes from 2012.06.11) yielded the possibility of string
+ literals being automatically converted to OFBool and therefore being
+ misinterpreted as the value of "check" instead of "codeMeaning".
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+
+- Introduced the new explicit boolean type OFExplicitBool:
+ OFExplicitBool can be used to restrict an overloaded function's
+ parameter to "real" OFBool values, e.g. pointers and numeric values
+ can NOT be converted to OFExplicitBool implicitly.
+ Added: ofstd/include/dcmtk/ofstd/ofexbl.h
+
+- Added support for some additional C++11 traits:
+ Added aliases / fallback implementations for the C++11 <type-traits>
+ std::conditional, std::is_same, std::is_array, std::is_function,
+ std::remove_reference, std::remove_const, std::remove_volatile,
+ std::remove_cv, std::remove_extent, std::add_pointer and std::decay.
+ Note: Due to the lack of variadic-templates in pre C++11 compilers,
+ the fallback implementation of OFis_function has reduced functionality,
+ currently only detecting functions with up to three arguments!
+ Affects: ofstd/include/dcmtk/ofstd/oftraits.h
+
+**** Changes from 2014.04.24 (riesmeier)
+
+- Added support for determining the FrameTime:
+ Added support for determining the value of Frame Time (0018,1063), i.e. the
+ nominal time between individual frames, from the DICOM dataset (if present).
+ Affects: dcmimage/apps/dcm2pnm.cc
+ dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
+ dcmimgle/include/dcmtk/dcmimgle/diimage.h
+ dcmimgle/libsrc/diimage.cc
+
+- Fixed typo in comments.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/didocu.h
+
+- Removed superfluous member initialization:
+ Removed initialization of member variables that are set by setCode() anyway.
+ Affects: dcmsr/libsrc/dsrcodvl.cc
+
+**** Changes from 2014.04.23 (riesmeier)
+
+- Added support for Supplement 124 to data dictionary:
+ Added support for the final text version of Supplement 124 (Communication of
+ Display Parameters) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added support for new UIDs from Supplement 124:
+ Added support for new SOP Class and Well-known SOP Instance UID from
+ Supplement 124 (Communication of Display Parameters).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+
+**** Changes from 2014.04.16 (schlamelcher)
+
+- Fixed most of the warnings in ofstd and oflog:
+ Compiled with extensive warning options except -Wtraditional and corrected
+ most of the problems.
+ Affects: dcmdata/libsrc/mkdeftag.cc
+ oflog/include/dcmtk/oflog/helpers/strhelp.h
+ oflog/include/dcmtk/oflog/thread/impl/syncwin.h
+ oflog/libsrc/log4judp.cc
+ oflog/libsrc/ntelogap.cc
+ oflog/libsrc/sockbuff.cc
+ oflog/libsrc/striconv.cc
+ oflog/libsrc/syslogap.cc
+ oflog/libsrc/threads.cc
+ oflog/libsrc/timehelp.cc
+ oflog/libsrc/unixsock.cc
+ oflog/libsrc/winsock.cc
+ ofstd/include/dcmtk/ofstd/ofbmanip.h
+ ofstd/include/dcmtk/ofstd/ofexport.h
+ ofstd/include/dcmtk/ofstd/ofmap.h
+ ofstd/include/dcmtk/ofstd/ofmem.h
+ ofstd/include/dcmtk/ofstd/ofthread.h
+ ofstd/libsrc/ofchrenc.cc
+ ofstd/libsrc/ofconfig.cc
+ ofstd/libsrc/ofstring.cc
+ ofstd/libsrc/oftempf.cc
+ ofstd/libsrc/ofthread.cc
+ ofstd/libsrc/ofuuid.cc
+ ofstd/libsrc/ofxml.cc
+ ofstd/tests/tatof.cc
+ ofstd/tests/tftoa.cc
+ ofstd/tests/tlist.cc
+
+**** Changes from 2014.04.14 (schlamelcher)
+
+- Added documentation for the new macro "DOXYGEN":
+ The macro DOXYGEN is defined when generating the documentation with doxygen
+ and should NEVER be defined when compiling with a C/C++ compiler.
+ See config/docs/macros.txt for details.
+ Affects: config/docs/macros.txt
+
+- Added support for some C++11 types, literals and traits:
+ Updated implementation of fixed-width integer types to better conform the
+ C++11 standard. This includes OFintptr_t and OFuintptr_t as integer types
+ capable of holding a pointer-value.
+ Implemented aliases for C++11's nullptr / nullptr_t (OFnullptr / OFnullptr_t)
+ an the respective fallback implementations for older compilers.
+ Introduced new header file "oftraits.h" as pendant to C++11's <type-traits>,
+ currently implementing integral constants, enable_if and is_signed /
+ is_unsigned. See http://en.cppreference.com/w/cpp/header/type_traits for
+ details.
+ Added: ofstd/include/dcmtk/ofstd/oftraits.h
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ doxygen/htmldocs.cfg
+ ofstd/include/dcmtk/ofstd/ofstdinc.h
+ ofstd/include/dcmtk/ofstd/oftypes.h
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2014.04.14 (riesmeier)
+
+- Optionally disable isFilenameValid() check:
+ Added optional parameter to checkDicomFile() and loadAndCheckDicomFile()
+ that allows one to disable the check for a valid DICOM filename (used as the
+ value for ReferencedFileID within the DICOMDIR). This is because the file
+ might be renamed after one of these methods is called.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/libsrc/dcddirif.cc
+
+- Simplified creation of temporary DICOMDIR file:
+ Replaced creation of a temporary DICOMDIR file by a simpler approach: Just
+ append ".tmp" to the DICOMDIR filename (in the specified output directory).
+ This also makes sure that on Windows systems directory names with special
+ characters (in UTF-16 encoding) are supported.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdicdir.h
+ dcmdata/libsrc/dcdicdir.cc
+
+**** Changes from 2014.04.13 (riesmeier)
+
+- Output to debug logger if memory allocation fails.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
+
+- Fixed typo in comment.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dimopx.h
+
+- Use non-throwing new and delete operator:
+ Use non-throwing new and delete operator for large memory buffers in order to
+ avoid exceptions. Output to debug logger if memory allocation fails.
+ Affects: dcmimage/include/dcmtk/dcmimage/dicopxt.h
+ dcmimgle/include/dcmtk/dcmimgle/dimopxt.h
+
+**** Changes from 2014.04.11 (riesmeier)
+
+- Enhanced createDirectory() function:
+ Added support for Windows-specific wide character encoding (UTF-16) to the
+ createDirectory() helper function. The second parameter "rootDir" is still
+ optional, but has no default value any more (due to the fact that OFFilename
+ is not completely specified in the header file; forward declaration only).
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+- Enhanced removeRootDirFromPathname() function:
+ Added support for Windows-specific wide character encoding (UTF-16) to the
+ removeRootDirFromPathname() helper function. Also added a new test case.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+ ofstd/tests/tests.cc
+ ofstd/tests/tofstd.cc
+
+- Fixed various typos in comments.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
+
+**** Changes from 2014.04.09 (riesmeier)
+
+- Fixed issue with untyped NULL reported by MSVC++.
+ Affects: ofstd/tests/tofstd.cc
+
+**** Changes from 2014.04.08 (riesmeier)
+
+- Added test for OFStandard::appendFilenameExtension().
+ Affects: ofstd/tests/tests.cc
+ ofstd/tests/tofstd.cc
+
+- Fixed some issues with wide character support:
+ In combineDirAndFilename(), there was an issue with empty directory names
+ being converted to "." if parameter "allowEmptyDirName" = OFFalse. And in
+ appendFilenameExtension(), support for 8-bit character file extensions was
+ missing, e.g. append ".bak" to a wide or 8-bit character string.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2014.04.08 (schlamelcher)
+
+- Minor fixes in dcmdata:
+ Fixed warnings in dictionary generator instead of in the generated code.
+ Re-enabled variadic macros for mingw. The option "-Wno-variadic-macros"
+ should be used instead of disabling this feature.
+ Affects: dcmdata/libsrc/dcdictzz.cc
+ dcmdata/libsrc/mkdictbi.cc
+ oflog/include/dcmtk/oflog/logmacro.h
+
+**** Changes from 2014.04.07 (riesmeier)
+
+- Added support for recently approved CPs:
+ Added support for CP-1282, CP-1285, CP-1325 and CP-1326 to the data
+ dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2014.04.01 (riesmeier)
+
+- Added further header files to Doxygen documentation:
+ Added further header files with global functions, typedefs, enums, macros,
+ etc. to Doxygen generated HTML output.
+ Affects: dcmjpeg/include/dcmtk/dcmjpeg/djutils.h
+ dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
+ dcmrt/include/dcmtk/dcmrt/drttypes.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmwlm/include/dcmtk/dcmwlm/wltypdef.h
+
+- Made sure that "Files" section is available:
+ Made sure that "Files" section is available in Doxygen generated HTML output.
+ Also disabled undocumented members in order to hide unwanted macros.
+ Affects: doxygen/htmldocs.cfg
+
+- Made sure that header file is parsed by Doxygen:
+ Added Doxygen command that makes sure that the file is actually parsed for
+ global functions, typedefs, enums, macros, etc. These are only the obvious
+ header files, i.e. others are to be extended in the same way.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/include/dcmtk/dcmdata/dctypes.h
+ dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmimgle/include/dcmtk/dcmimgle/diutils.h
+ dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ ofstd/include/dcmtk/ofstd/ofcond.h
+
+**** Changes from 2014.03.28 (riesmeier)
+
+- Updated outdated comments on "log stream".
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+
+- Added readPatientData() and readStudyData():
+ Added methods for reading data from Patient Module and General Study Module.
+ This facilitates associating SR documents with an existing patient or study.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/dsrdoc.cc
+
+**** Changes from 2014.03.24 (schlamelcher)
+
+- Fixed most of the warnings in dcmdata:
+ Compiled with extensive warning options except -Wtraditional and corrected
+ most of the problems. Most of the remaining warnings in dcmdata are caused by
+ files included from ofstd and will be resolved in a different commit.
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmcrle.cc
+ dcmdata/apps/dcmdump.cc
+ dcmdata/apps/dump2dcm.cc
+ dcmdata/apps/img2dcm.cc
+ dcmdata/apps/mdfdsman.cc
+ dcmdata/apps/pdf2dcm.cc
+ dcmdata/apps/xml2dcm.cc
+ dcmdata/include/dcmtk/dcmdata/modhelp.h
+ dcmdata/libi2d/i2dbmps.cc
+ dcmdata/libi2d/i2djpgs.cc
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dccodec.cc
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcdict.cc
+ dcmdata/libsrc/dcdictzz.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dchashdi.cc
+ dcmdata/libsrc/dcistrmz.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcobject.cc
+ dcmdata/libsrc/dcostrmz.cc
+ dcmdata/libsrc/dcpath.cc
+ dcmdata/libsrc/dcpxitem.cc
+ dcmdata/libsrc/dcrleccd.cc
+ dcmdata/libsrc/dcrlecce.cc
+ dcmdata/libsrc/dcuid.cc
+ dcmdata/libsrc/dcvr.cc
+ dcmdata/libsrc/dcvrat.cc
+ dcmdata/libsrc/dcvrfd.cc
+ dcmdata/libsrc/dcvrfl.cc
+ dcmdata/libsrc/dcvrobow.cc
+ dcmdata/libsrc/dcvrod.cc
+ dcmdata/libsrc/dcvrof.cc
+ dcmdata/libsrc/dcvrpobw.cc
+ dcmdata/libsrc/dcvrsl.cc
+ dcmdata/libsrc/dcvrss.cc
+ dcmdata/libsrc/dcvrui.cc
+ dcmdata/libsrc/dcvrul.cc
+ dcmdata/libsrc/dcvrus.cc
+ dcmdata/libsrc/dcxfer.cc
+ dcmdata/libsrc/mkdeftag.cc
+ dcmdata/libsrc/modhelp.cc
+ dcmdata/libsrc/vrscanl.c
+ dcmdata/tests/ti2dbmp.cc
+ dcmdata/tests/tpread.cc
+ oflog/include/dcmtk/oflog/logmacro.h
+
+**** Changes from 2014.03.21 (schlamelcher)
+
+- Marked SCPPool-Test (dcmnet_scp_pool) as exhaustive:
+ The current pool-testcase takes about 6 seconds, which is rather long
+ compared to the other tests. It was therefore flagged as exhaustive test
+ and is not run unless explicitly enabled.
+ Affects: dcmnet/tests/tpool.c
+
+- Fixed potential bug in dcmjpeg 12 and 16 bit variants:
+ Applied a fix that was already present in the 8 bit variant to the other
+ variants of the jpeg library.
+ Affects: dcmjpeg/libijg12/jchuff.c
+ dcmjpeg/libijg12/jdhuff.c
+ dcmjpeg/libijg16/jchuff.c
+ dcmjpeg/libijg16/jdhuff.c
+
+- Fixed most of the warnings in dcmjpeg:
+ Compiled with extensive warning options except -Wtraditional and corrected
+ most of the problems. Tested with mingw-w64-4.8.1, gcc-4.7.2 (static and shared),
+ Visual Studio 2013 Express, Visual Studio 2012 64 bit and clang-w64-3.5.0.
+ Tested compression / decompression with various different settings for different
+ compilers on appropriate DICOM images ("cabinet" and "car97_cd").
+ Most of the remaining warnings in dcmjpeg are caused by files included from
+ dcmimage and will be resolved in a different commit.
+ Affects: CMake/osconfig.h.in
+ dcmjpeg/apps/dcmcjpeg.cc
+ dcmjpeg/apps/dcmdjpeg.cc
+ dcmjpeg/include/dcmtk/dcmjpeg/djcodece.h
+ dcmjpeg/include/dcmtk/dcmjpeg/djcparam.h
+ dcmjpeg/include/dcmtk/dcmjpeg/djdijg12.h
+ dcmjpeg/include/dcmtk/dcmjpeg/djdijg16.h
+ dcmjpeg/include/dcmtk/dcmjpeg/djdijg8.h
+ dcmjpeg/libijg12/jcapistd.c
+ dcmjpeg/libijg12/jcarith.c
+ dcmjpeg/libijg12/jccoefct.c
+ dcmjpeg/libijg12/jcdiffct.c
+ dcmjpeg/libijg12/jchuff.c
+ dcmjpeg/libijg12/jclhuff.c
+ dcmjpeg/libijg12/jcmainct.c
+ dcmjpeg/libijg12/jcmaster.c
+ dcmjpeg/libijg12/jcparam.c
+ dcmjpeg/libijg12/jcphuff.c
+ dcmjpeg/libijg12/jcpred.c
+ dcmjpeg/libijg12/jcprepct.c
+ dcmjpeg/libijg12/jcsample.c
+ dcmjpeg/libijg12/jctrans.c
+ dcmjpeg/libijg12/jdapistd.c
+ dcmjpeg/libijg12/jdarith.c
+ dcmjpeg/libijg12/jdcoefct.c
+ dcmjpeg/libijg12/jddiffct.c
+ dcmjpeg/libijg12/jdhuff.c
+ dcmjpeg/libijg12/jdinput.c
+ dcmjpeg/libijg12/jdlhuff.c
+ dcmjpeg/libijg12/jdmainct.c
+ dcmjpeg/libijg12/jdmarker.c
+ dcmjpeg/libijg12/jdmerge.c
+ dcmjpeg/libijg12/jdphuff.c
+ dcmjpeg/libijg12/jdpostct.c
+ dcmjpeg/libijg12/jdpred.c
+ dcmjpeg/libijg12/jdsample.c
+ dcmjpeg/libijg12/jdshuff.c
+ dcmjpeg/libijg12/jmemmgr.c
+ dcmjpeg/libijg12/jquant1.c
+ dcmjpeg/libijg12/jquant2.c
+ dcmjpeg/libijg16/jcapistd.c
+ dcmjpeg/libijg16/jcarith.c
+ dcmjpeg/libijg16/jccoefct.c
+ dcmjpeg/libijg16/jcdiffct.c
+ dcmjpeg/libijg16/jchuff.c
+ dcmjpeg/libijg16/jclhuff.c
+ dcmjpeg/libijg16/jcmainct.c
+ dcmjpeg/libijg16/jcmaster.c
+ dcmjpeg/libijg16/jcparam.c
+ dcmjpeg/libijg16/jcphuff.c
+ dcmjpeg/libijg16/jcpred.c
+ dcmjpeg/libijg16/jcprepct.c
+ dcmjpeg/libijg16/jcsample.c
+ dcmjpeg/libijg16/jctrans.c
+ dcmjpeg/libijg16/jdapistd.c
+ dcmjpeg/libijg16/jdarith.c
+ dcmjpeg/libijg16/jdcoefct.c
+ dcmjpeg/libijg16/jddiffct.c
+ dcmjpeg/libijg16/jdhuff.c
+ dcmjpeg/libijg16/jdinput.c
+ dcmjpeg/libijg16/jdlhuff.c
+ dcmjpeg/libijg16/jdmainct.c
+ dcmjpeg/libijg16/jdmarker.c
+ dcmjpeg/libijg16/jdmerge.c
+ dcmjpeg/libijg16/jdphuff.c
+ dcmjpeg/libijg16/jdpostct.c
+ dcmjpeg/libijg16/jdpred.c
+ dcmjpeg/libijg16/jdsample.c
+ dcmjpeg/libijg16/jdshuff.c
+ dcmjpeg/libijg16/jmemmgr.c
+ dcmjpeg/libijg16/jquant1.c
+ dcmjpeg/libijg16/jquant2.c
+ dcmjpeg/libijg8/jcapistd.c
+ dcmjpeg/libijg8/jcarith.c
+ dcmjpeg/libijg8/jccoefct.c
+ dcmjpeg/libijg8/jcdiffct.c
+ dcmjpeg/libijg8/jchuff.c
+ dcmjpeg/libijg8/jclhuff.c
+ dcmjpeg/libijg8/jcmainct.c
+ dcmjpeg/libijg8/jcmaster.c
+ dcmjpeg/libijg8/jcparam.c
+ dcmjpeg/libijg8/jcphuff.c
+ dcmjpeg/libijg8/jcpred.c
+ dcmjpeg/libijg8/jcprepct.c
+ dcmjpeg/libijg8/jcsample.c
+ dcmjpeg/libijg8/jctrans.c
+ dcmjpeg/libijg8/jdapistd.c
+ dcmjpeg/libijg8/jdarith.c
+ dcmjpeg/libijg8/jdcoefct.c
+ dcmjpeg/libijg8/jddiffct.c
+ dcmjpeg/libijg8/jdhuff.c
+ dcmjpeg/libijg8/jdinput.c
+ dcmjpeg/libijg8/jdlhuff.c
+ dcmjpeg/libijg8/jdmainct.c
+ dcmjpeg/libijg8/jdmarker.c
+ dcmjpeg/libijg8/jdmerge.c
+ dcmjpeg/libijg8/jdphuff.c
+ dcmjpeg/libijg8/jdpostct.c
+ dcmjpeg/libijg8/jdpred.c
+ dcmjpeg/libijg8/jdsample.c
+ dcmjpeg/libijg8/jdshuff.c
+ dcmjpeg/libijg8/jmemmgr.c
+ dcmjpeg/libijg8/jquant1.c
+ dcmjpeg/libijg8/jquant2.c
+ dcmjpeg/libsrc/ddpiimpl.cc
+ dcmjpeg/libsrc/dipijpeg.cc
+ dcmjpeg/libsrc/djcodecd.cc
+ dcmjpeg/libsrc/djcodece.cc
+ dcmjpeg/libsrc/djcparam.cc
+ dcmjpeg/libsrc/djdijg12.cc
+ dcmjpeg/libsrc/djdijg16.cc
+ dcmjpeg/libsrc/djdijg8.cc
+ dcmjpeg/libsrc/djeijg12.cc
+ dcmjpeg/libsrc/djeijg16.cc
+ dcmjpeg/libsrc/djeijg8.cc
+ dcmjpeg/libsrc/djencbas.cc
+ dcmjpeg/libsrc/djencext.cc
+ dcmjpeg/libsrc/djenclol.cc
+ dcmjpeg/libsrc/djencpro.cc
+ dcmjpeg/libsrc/djencsps.cc
+ dcmjpeg/libsrc/djencsv1.cc
+ dcmjpeg/libsrc/djrplol.cc
+ dcmjpeg/libsrc/djrploss.cc
+ dcmjpeg/libsrc/djutils.cc
+
+**** Changes from 2014.03.20 (riesmeier)
+
+- Fixed small typos in comments.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
+
+**** Changes from 2014.03.19 (riesmeier)
+
+- Removed superfluous quotations marks:
+ Removed superfluous quotations marks from CMake command ADD_DEFINITIONS()
+ since they cause problems with Xcode 5.1 on Mac OS X.
+ Thanks to forum user "oblivion81" for the report and suggested fix.
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2014.03.17 (riesmeier)
+
+- Fixed issue with automatically generated classes:
+ Fixed issue with the detection of attributes nested in a sequence class (in
+ the automatically generated source code). Sometimes, there were additional
+ attributes associated with a sequence element, which actually belong to the
+ surrounding nesting level or to some other sequence element in the module.
+ Also changed VM for Irradiation Event UID (0008,3010) from "1" to "1-n".
+ Thanks to Grzegorz Chlebus <grzegorz.chlebus@mevis.fraunhofer.de> for the
+ original report.
+ Affects: dcmrt/include/dcmtk/dcmrt/*.h
+ dcmrt/libsrc/*.cc
+
+**** Changes from 2014.03.15 (riesmeier)
+
+- Added support for CP-1090 to the data dictionary:
+ This document changes the VM for Irradiation Event UID (0008,3010) from "1"
+ to "1-n".
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2014.03.13 (riesmeier)
+
+- Pass OFString to DIMSE_createFilestream():
+ Pass an OFString filename to DIMSE_createFilestream() instead of char* since
+ this function now accepts an OFFilename instance.
+ Affects: dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scu.cc
+
+- Fixed various typo.
+ Affects: dcmnet/libsrc/dimse.cc
+
+- DIMSE_createFilestream() now uses an OFFilename:
+ The low-level network function DIMSE_createFilestream() now uses an OFFilename
+ parameter instead of a char*. This allows for passing a wide character string
+ to this function on Windows. The API remains stable since the OFFilename
+ constructor also accepts a char*.
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the suggestion.
+ Affects: dcmnet/include/dcmtk/dcmnet/dimse.h
+ dcmnet/libsrc/dimse.cc
+
+- Added check for Shared Functional Groups Sequence:
+ Certain key attributes like Pixel Spacing (0028,0030) can also be nested
+ within a functional group sequence of the Shared Functional Groups Sequence
+ (5200,9229). Therefore, these attributes also have to be checked on this level
+ and not only in the main dataset.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/libsrc/dcddirif.cc
+
+- Added missing data elements to BD profiles:
+ Added missing data elements from PS3.11 Table H.3-2 to the various Blu-ray
+ Disc (BD) media storage application profiles. Basically, the requirements for
+ PATIENT, IMAGE and SPECTROSCOPY directory records are identical to those for
+ the DVD profiles. Only the reference in Section M.3.3.1 was missed.
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+**** Changes from 2014.03.12 (riesmeier)
+
+- Rebuilt Makefile dependencies.
+ Affects: dcmdata/libsrc/Makefile.dep
+
+- Fixed various minor issues in new helper class.
+ Affects: dcmdata/include/dcmtk/dcmdata/modhelp.h
+ dcmdata/libsrc/modhelp.cc
+
+- Fixed various issues in Doxygen comments.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+
+**** Changes from 2014.03.12 (onken)
+
+- Updated module helpers to latest DICOM 2013 draft.
+ Affects: dcmdata/include/dcmtk/dcmdata/modhelp.h
+ dcmdata/libsrc/modhelp.cc
+
+- Fixed comments and error message.
+ Affects: dcmdata/libsrc/modhelp.cc
+
+- Added further module helpers and fixed small issues:
+ Added copy helpers for Clinical Trial Study/Series Modules, added missing
+ attribute in General Image Module and made code more consistent.
+ Affects: dcmdata/include/dcmtk/dcmdata/modhelp.h
+ dcmdata/libsrc/modhelp.cc
+
+- Switched windows line endings to unix line endings.
+ Affects: dcmdata/libsrc/Makefile.dep
+
+- Fixed Makefile.dep for new files from last commit.
+ Affects: dcmdata/libsrc/Makefile.dep
+
+- Added helpers to copy common modules between items:
+ Thanks to Andriy Fedorov <fedorov@bwh.harvard.edu> for the original patch.
+ Added: dcmdata/include/dcmtk/dcmdata/modhelp.h
+ dcmdata/libsrc/modhelp.cc
+ Affects: dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.in
+
+**** Changes from 2014.03.07 (onken)
+
+- Added DCMTK.cmake and DCMTKTargets.cmake documentation.
+ Affects: INSTALL
+
+**** Changes from 2014.03.07 (riesmeier)
+
+- Replaced tabs by spaces and fixed indention.
+ Affects: dcmimage/include/dcmtk/dcmimage/diqtcmap.h
+ dcmimage/include/dcmtk/dcmimage/diqtctab.h
+ dcmimage/include/dcmtk/dcmimage/diqtfs.h
+ dcmimage/include/dcmtk/dcmimage/diqthitl.h
+ dcmimage/include/dcmtk/dcmimage/diqthitm.h
+ dcmimage/include/dcmtk/dcmimage/diqtpbox.h
+ dcmimage/include/dcmtk/dcmimage/diqtpix.h
+ dcmimage/include/dcmtk/dcmimage/diqtstab.h
+ dcmimage/include/dcmtk/dcmimage/diybrpxt.h
+ dcmimage/libsrc/diqtctab.cc
+
+**** Changes from 2014.03.06 (onken)
+
+- Ensure CMake v2.6 still writes DCMTKConfig.cmake:
+ The enhanced DCMTKConfig.cmake that was recently introduced relies on CMake
+ version 2.8.8 or higher and uses the new CONFIGURE_PACKAGE_CONFIG_FILE
+ command. This commit makes sure that older versions as the minimum CMake
+ version 2.6 required by DCMTK produce a DCMTKConfig.cmake that has at
+ least all the information it contained before the switch to
+ CONFIGURE_PACKAGE_CONFIG_FILE.
+ Added: CMake/CMake/DCMTKConfig.cmake26.in
+ Affects: CMakeLists.txt
+
+- Capitalized all CMake key words for consistency.
+ Affects: CMake/CheckCMakeCommandExists.cmake
+ CMake/DCMTKConfig.cmake.in
+ CMake/GenerateCMakeExports.cmake
+ CMake/dcmtkPrepare.cmake
+ CMakeLists.txt
+
+**** Changes from 2014.03.06 (riesmeier)
+
+- Added another addContentItem() method:
+ Added new addContentItem() method that expects a pointer to a newly created
+ document tree node. This provides another approach of creating the document
+ tree of an SR document, and avoids making the detour using getCurrentItem().
+ Added: dcmsr/tests/tsrdoctr.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/tests/CMakeLists.txt
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/Makefile.in
+ dcmsr/tests/tests.cc
+
+**** Changes from 2014.03.05 (riesmeier)
+
+- Made installation of tag file optional:
+ Made installation of Doxygen tag file optional in order to avoid an error
+ message if it has not been generated, e.g. because "make html" was not called
+ before "make install".
+ Affects: doxygen/CMakeLists.txt
+
+**** Changes from 2014.03.05 (onken)
+
+- Enhanced DCMTK CMake exports for external projects:
+ The files DCMTKConfig.cmake, DCMTKConfigVersion.cmake and
+ DCMTKTargets.cmake are exported by CMake to the DCMTK build tree as
+ as well as to the DCMTK installation directory. The files can be found
+ and evaluated by other CMake-based projects using CMake's find_package
+ command (in "Config" mode). The files describe DCMTK executables and
+ libraries as well as DCMTK version information, which then can be
+ facilitated in an automatic way by external projects to configure and
+ perform their own build process. Thanks to Jean-Christophe Fillion-Robin
+ <jchris.fillionr@kitware.com> for the original patch.
+ Added: CMake/CheckCMakeCommandExists.cmake
+ CMake/GenerateCMakeExports.cmake
+ Affects: CMake/DCMTKConfig.cmake.in
+ CMake/dcmtkAfterModules.cmake
+ CMake/dcmtkMacros.cmake
+ CMake/dcmtkPrepare.cmake
+ CMakeLists.txt
+
+**** Changes from 2014.03.04 (schlamelcher)
+
+- Fixed building with mingw-w64:
+ Renamed OFStandard::rand_r to OFrand_r to prevent collisions with
+ mingw's rand_r macro. Adjusted file position and offset data-types for
+ mingw-w64. Fixed some warnings caused by inconsistent inline-specifiers
+ in DcmTagKey.
+ Affects: dcmdata/include/dcmtk/dcmdata/dctagkey.h
+ dcmimage/libsrc/diqtfs.cc
+ oflog/libsrc/strcloc.cc
+ ofstd/include/dcmtk/ofstd/offile.h
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/offname.cc
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2014.03.03 (riesmeier)
+
+- Fixed wrong tag in CodingSchemeIdentificationSequence:
+ Fixed wrong tag being used in CodingSchemeIdentificationSequence (0008,0110).
+ Instead of Responsible Organization (0010,2299) it should be Coding Scheme
+ Responsible Organization (0008,0116). This inconsistency was introduced back
+ in the year 2003 with CP-324. This commit also changes the name of the
+ corresponding get/set methods in class DSRCodingSchemeIdentificationList.
+ Thanks to David Clunie <dclunie@dclunie.com> for pointing this out.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrcsidl.cc
+ dcmsr/tests/mkreport.cc
+
+**** Changes from 2014.03.03 (schlamelcher)
+
+- Enabled shutdown functionality of DcmSCPPool:
+ Finished implementation of DcmSCPPool::stopAfterCurrentAssociations().
+ Some basic tests have been run to ensure this method works as expected.
+ Affects: dcmnet/include/dcmtk/dcmnet/scppool.h
+ dcmnet/libsrc/scppool.cc
+ dcmnet/tests/tpool.cc
+
+- Fixed DcmSCPPool test case failing on older systems.
+ Affects: dcmnet/tests/tpool.cc
+
+**** Changes from 2014.03.01 (riesmeier)
+
+- Fixed some comments.
+ Affects: dcmdata/libsrc/dcxfer.cc
+
+**** Changes from 2014.02.28 (schlamelcher)
+
+- Correction of inconsistent previous commit.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdefine.h
+
+**** Changes from 2014.02.27 (schlamelcher)
+
+- Fixed dll build on windows:
+ Created a workaround for Visual Studio that disables dll storage specifiers
+ when linking directly into the executable. This is needed since the
+ built-in dictionary code is created by the tools mkdeftag and mkdictbi and
+ thus those tools statically link the few required dcmdata source files
+ instead of linking to dcmdata as a whole.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdefine.h
+ dcmdata/libsrc/CMakeLists.txt
+
+**** Changes from 2014.02.25 (riesmeier)
+
+- Allow empty file-set ID in DICOMDIR (type 2):
+ Allow file-set ID to be empty in a DICOMDIR since it is type 2. Also fixed
+ spelling ("file-set ID" instead of "file set ID" or "fileset ID") where
+ relevant, i.e. in log output and syntax usage.
+ Affects: dcmdata/apps/dcmgpdir.cc
+ dcmdata/docs/dcmgpdir.man
+ dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmjpeg/docs/dcmmkdir.man
+
+**** Changes from 2014.02.24 (onken)
+
+- Fixed shared library build under Unix (configure):
+ dcmimgle and related external libraries have not been linked to dcmrt
+ applications in case shared library option was enabled and a configure/make
+ build was performed under Unix.
+ Affects: dcmrt/apps/Makefile.in
+ dcmrt/tests/Makefile.in
+
+**** Changes from 2014.02.24 (riesmeier)
+
+- Fixed further issues with wide char support.
+ Affects: ofstd/libsrc/ofstd.cc
+
+- Use printError() instead of OFLOG_FATAL():
+ Use OFConsoleApplication::printError() instead of OFLOG_FATAL() in case of a
+ missing command line parameter.
+ Affects: dcmdata/apps/dcmgpdir.cc
+
+- Always use OFFilename() instead of "" as a default:
+ Always use OFFilename instead of "" (empty 8-bit character string) as a
+ default value in order to make sure that wide character support under Windows
+ really works. This is because "" only initializes the char* member variable
+ of OFFilename and not the wchar_t*.
+ Affects: dcmdata/apps/dcmgpdir.cc
+ dcmdata/include/dcmtk/dcmdata/dcddirif.h
+
+- Fixed issue with missing terminating NULL byte:
+ Fixed issue with possibly missing NULL byte at the end of wide character
+ strings in getDirNameFromPath() and normalizeDirName().
+ Affects: ofstd/libsrc/ofstd.cc
+
+**** Changes from 2014.02.22 (onken)
+
+- Add libjpeg dependency for libtiff and minor changes:
+ It is possible to build libtiff with libjpeg-based JPEG coding support.
+ Thus CMake is told on Unix to add libjpeg includes and libraries so that
+ tiff-based tools will be linked to libjpeg, too. This mirrors the
+ ./configure behaviour under Unix. It is not tested whether libtiff
+ actually was compiled with JPEG enabled. Additionally, the "QUIET" option
+ was added to avoid CMake's FindModule scripts printing messages about
+ external libraries that are already covered by explicit DCMTK messages.
+ Re-ordered code for some external libraries. Thanks to Jean-Christophe
+ Fillion-Robin <jchris.fillionr@kitware.com> for the original patch.
+ Affects: CMake/3rdparty.cmake
+
+**** Changes from 2014.02.21 (riesmeier)
+
+- Added new condition constant and fixed typo:
+ Added new condition constant for DICOMDIR files: EC_InvalidDICOMDIR. Also
+ fixed a typo in the textual description of EC_PrematureSequDelimitationItem.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcerror.cc
+
+- Fixed issue when compiled with wide char support:
+ The initialization of an OFFilename instance with NULL is ambiguous when
+ compiled with WIDE_CHAR_FILE_IO_FUNCTIONS or WIDE_CHAR_MAIN_FUNCTION defined.
+ This issue was introduced with commit d084ebf, i.e. the previous one.
+ Affects: dcmdata/libsrc/dcdicdir.cc
+ dcmdata/libsrc/dcdirrec.cc
+
+**** Changes from 2014.02.20 (riesmeier)
+
+- Added support for wide chars to DICOMDIR code:
+ Added support for the Windows-specific wide character encoding (UTF-16) to
+ the classes and the command line tool that generate a DICOMDIR file.
+ Affects: dcmdata/apps/dcmgpdir.cc
+ dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/include/dcmtk/dcmdata/dcdicdir.h
+ dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcdicdir.cc
+ dcmdata/libsrc/dcdirrec.cc
+
+- Avoid passing NULL to OFString, which is deprecated:
+ Avoid passing NULL to OFString in certain cases within normalizeDirName()
+ since this is deprecated (and results in an annoying message in DEBUG mode).
+ Affects: ofstd/libsrc/ofstd.cc
+
+- Avoid passing invalid values to rename():
+ In case wide character support is enabled, there was a chance that a NULL
+ pointer could be passed to one of the two parameters of the rename() function.
+ Affects: ofstd/libsrc/ofstd.cc
+
+- Added new command line option --create-backup:
+ Added new command line option --create-backup to explicitly show what the
+ default behavior is.
+ Affects: dcmdata/apps/dcmgpdir.cc
+ dcmdata/docs/dcmgpdir.man
+ dcmjpeg/docs/dcmmkdir.man
+
+**** Changes from 2014.02.19 (onken)
+
+- Make sure to handle setuid() return code properly:
+ In some tools the return value of setuid() is not checked. In the worst
+ case this could lead to privilege escalation since the process does not
+ give up its root privileges and continue as root. Thanks to Hector Marco
+ <hecmargi@upv.es> for the report.
+ Affects: dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/libsrc/scp.cc
+ dcmpstat/apps/dcmprscp.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmpstat/tests/msgserv.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmwlm/libsrc/wlmactmg.cc
+
+**** Changes from 2014.02.19 (riesmeier)
+
+- Fixed typo in comment.
+ Affects: ofstd/libsrc/ofstd.cc
+
+- Changed file mode bits back from "0755" to "0644".
+ Affects: ofstd/tests/tests.cc
+ ofstd/tests/tofstd.cc
+
+- Added new helper function for copying files:
+ Added new platform-independent and wide character supporting helper function
+ copyFile().
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+- Added wide character support to this tool:
+ Added support for the Windows-specific wide character encoding (UTF-16) to
+ this command line tool, i.e. support for filenames with such an encoding.
+ For this purpose, the toolkit has to be compiled with WIDE_CHAR_MAIN_FUNCTION
+ and WIDE_CHAR_FILE_IO_FUNCTIONS being defined.
+ Affects: dcmdata/apps/dcmdump.cc
+
+- Added function for appending filename extension:
+ Added wide character supporting helper function appendFilenameExtension().
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+- Added new helper function for renaming files:
+ Added new platform-independent and wide character supporting helper function
+ renameFile().
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+- Added OFFilename versions to some helper functions:
+ Added OFFilename versions to the helper functions getDirNameFromPath(),
+ getFilenameFromPath(), normalizeDirName(), combineDirAndFilename(),
+ searchDirectoryRecursively() and getFileSize() in order to enhance the
+ support for the Windows-specific wide character encoding (UTF-16).
+ Internally, the same code is used for both the OFString and OFFilename
+ version of the helper functions, which should facilitate finding any bugs.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+- Fixed typo and added comment.
+ Affects: ofstd/libsrc/offile.cc
+
+- Added new test cases for testing helper functions:
+ Added new test cases for testing the helper functions getDirNameFromPath()
+ and getFilenameFromPath().
+ Affects: ofstd/tests/tests.cc
+ ofstd/tests/tofstd.cc
+
+**** Changes from 2014.02.12 (riesmeier)
+
+- Consistently use upper case letters for DICOM tags.
+ Affects: dcmdata/data/acrnema.dic
+ dcmdata/data/dicom.dic
+ dcmdata/data/diconde.dic
+
+**** Changes from 2014.02.11 (riesmeier)
+
+- Fixed wrong VR for some retired command fields:
+ Changed VR from "AT" to "LT" for some retired command fields, i.e. attributes
+ in group "0000". Now, the definitions are consistent with DICOM part 7.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2014.02.06 (riesmeier)
+
+- Fixed issue with wrong check on stream compression:
+ This wrong check had the result that the three uncompressed transfer syntaxes
+ were proposed in "decompression mode" even if the pixel data could not be
+ decompressed, e.g. in case of JPEG compression without a JPEG decoder.
+ Affects: dcmnet/libsrc/dstorscu.cc
+
+**** Changes from 2014.02.05 (riesmeier)
+
+- Moved ACR/NEMA data dictionary to a separate file:
+ Moved retired ACR/NEMA attributes to a separate dictionary file since they
+ are officially part of the DICOM standard for many years now (see CP-607).
+ Please note that this commit changes the prefix of some tag constants from
+ "DCM_ACR_NEMA_" to "DCM_RETIRED_". Also a few tag constants disappeared
+ (mainly ACR/NEMA group length attributes, which are retired in the DICOM
+ standard anyway). However, since the old, manually compiled definitions are
+ still available in a separate file, the old behavior can be restored by
+ loading "acrnema.dic".
+ Added: dcmdata/data/acrnema.dic
+ Affects: dcmdata/data/CMakeLists.txt
+ dcmdata/data/Makefile.in
+ dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2014.02.04 (riesmeier)
+
+- Fixed typos in comments.
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+
+**** Changes from 2014.02.03 (riesmeier)
+
+- Fixed timeout issue in DIMSE_moveUser():
+ Fixed issue that the timeout parameter was apparently ignored in the
+ DIMSE_moveUser() function when used in non-blocking mode.
+ Thanks to forum user "bibble_235" for the report and Michael Knopke
+ <knopkem@gmail.com> for confirming that the proposed patch really works.
+ Affects: dcmnet/libsrc/dimmove.cc
+
+**** Changes from 2014.01.31 (riesmeier)
+
+- Added comments on some ACR/NEMA attributes:
+ Added explanatory comments on ACR/NEMA attributes where the DICOM standard
+ uses the placeholder "x" for certain digits of the element number.
+ Affects: dcmdata/data/dicom.dic
+
+- Added support for approved but still missing CPs:
+ Added late support for CP-1120 and CP-1121 to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2014.01.29 (riesmeier)
+
+- Removed comment on UID_HangingProtocolStorage:
+ Removed comment that the "Hanging Protocol Storage SOP Class" is a special
+ case since this is not true any longer. There are further SOP Classes that
+ do not fit into the typical Patient - Study - Series hierarchy.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+
+**** Changes from 2014.01.23 (riesmeier)
+
+- Added missing module "dcmrt" to include directories.
+ Affects: CMakeLists.txt
+
+**** Changes from 2014.01.20 (riesmeier)
+
+- Fixed various minor documentation issues.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+
+- Fixed wrong/missing comment on method parameter:
+ Fixed wrong comment on parameter "writeXfer" for the saveFile() method. In
+ case of EXS_Unknown not the currently selected transfer syntax is used but
+ the original one, i.e. the one in which the dataset was originally read or
+ created. Also added missing comment on parameter "oxfer" to write() methods.
+ Thanks to forum user "Shaeto" for pointing this out.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h
+ dcmdata/include/dcmtk/dcmdata/dcfilefo.h
+
+**** Changes from 2014.01.14 (riesmeier)
+
+- Added support for new UIDs from Supplement 165:
+ Added support for new SOP Class UIDs from Supplement 165 (Breast Projection
+ X-Ray Image Storage SOP Class).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added support for Supplement 165 to data dictionary:
+ Added support for final text version of Supplement 165 (Breast Projection
+ X-Ray Image Storage SOP Class) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added support for recently approved CPs:
+ Added support for CP-1287, CP-1294 and CP-1297 to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2013.12.20 (riesmeier)
+
+- Fixed comments and documented default values.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+
+- Again, fixed comments to be consistent with code.
+ Affects: dcmnet/tests/tpool.cc
+
+- Cleaned up source code in various aspects:
+ Made evaluation of command line parameters and options more consistent with
+ the other command line tools, fixed inconsistencies regarding log output,
+ used appropriate DcmSCU methods when closing an association, etc.
+ Affects: dcmnet/apps/getscu.cc
+
+- Removed check on number of command line arguments:
+ Since the tool has at least one mandatory command line parameter, there is no
+ need to check OFCommandLine::getArgCount() explicitly.
+ Affects: dcmnet/apps/dcmrecv.cc
+ dcmnet/apps/dcmsend.cc
+
+**** Changes from 2013.12.11 (riesmeier)
+
+- Replaced deprecated DcmSCU::closeAssociation():
+ Replaced call to DcmSCU::closeAssociation(DCMSCU_RELEASE_ASSOCIATION) by
+ DcmSCU::releaseAssociation() since the former is deprecated.
+ Affects: dcmnet/tests/tpool.cc
+
+- Fixed typos, comments and coding style.
+ Affects: dcmnet/tests/tpool.cc
+
+**** Changes from 2013.12.10 (riesmeier)
+
+- Second try to fix the issue with "ofstd_markup_6":
+ The error in test "ofstd_markup_6" still occurred on various systems.
+ Thanks to Mathieu Malaterre <malat@debian.org> for pointing this out.
+ Affects: ofstd/tests/tmarkup.cc
+
+**** Changes from 2013.12.10 (onken)
+
+- Fixed some inconsistencies in documentation.
+ Affects: INSTALL
+
+**** Changes from 2013.12.05 (onken)
+
+- Fixed typo.
+ Affects: dcmtls/include/dcmtk/dcmtls/tlslayer.h
+
+- Documentation for CMAKE_BUILD_TYPE default value.
+ Thanks to Mathieu Malaterre <malat@debian.org> for pointing to the fact that
+ having no default value in some situations is important and Jean-Christophe
+ Fillion-Robin <jchris.fillionr@kitware.com> for giving a solution.
+ Affects: CMake/dcmtkPrepare.cmake
+ INSTALL
+
+**** Changes from 2013.11.29 (riesmeier)
+
+- Completed support for <InlineBinary> XML element:
+ Completed support for the <InlineBinary> XML element used by the Native DICOM
+ Model format. Now, also data elements with a VR of OD and OF can be encoded
+ as base64. Closes DCMTK Feature #549.
+ Affects: dcmdata/docs/dcm2xml.man
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/dcvrod.cc
+ dcmdata/libsrc/dcvrof.cc
+
+**** Changes from 2013.11.28 (riesmeier)
+
+- Do not check valueLoaded() for Native DICOM Model:
+ Do not check whether a value has actually been loaded when writing an element
+ value to XML output in the Native DICOM Model. This is because this concept
+ is only known to the DCMTK-specific output format.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+- Fixed output of AT values in Native DICOM Model:
+ Fixed wrong output format for Attribute Tag (AT) values in the Native DICOM
+ Model. Supplement 166 (QIDO-RS) clarifies that the format is "GGGGEEEE", and
+ not "(gggg,eeee)" as it was before (which is DCMTK's default string output
+ format for AT values). Closes DCMTK Bug #551.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrat.h
+ dcmdata/libsrc/dcvrat.cc
+
+- Fixed various typos in man pages.
+ Thanks to Mathieu Malaterre <malat@debian.org> for the original report.
+ Affects: dcmdata/docs/dcm2pdf.man
+ dcmdata/docs/dcm2xml.man
+ dcmdata/docs/dcmconv.man
+ dcmdata/docs/dcmcrle.man
+ dcmdata/docs/dcmdrle.man
+ dcmdata/docs/dcmdump.man
+ dcmdata/docs/dcmftest.man
+ dcmdata/docs/dcmgpdir.man
+ dcmdata/docs/dcmodify.man
+ dcmdata/docs/dump2dcm.man
+ dcmdata/docs/img2dcm.man
+ dcmdata/docs/pdf2dcm.man
+ dcmdata/docs/xml2dcm.man
+ dcmimage/docs/dcm2pnm.man
+ dcmimage/docs/dcmquant.man
+ dcmimage/docs/dcmscale.man
+ dcmimgle/docs/dcmdspfn.man
+ dcmimgle/docs/dcod2lum.man
+ dcmimgle/docs/dconvlum.man
+ dcmjpeg/docs/dcmcjpeg.man
+ dcmjpeg/docs/dcmdjpeg.man
+ dcmjpeg/docs/dcmj2pnm.man
+ dcmjpeg/docs/dcmmkdir.man
+ dcmjpls/docs/dcmcjpls.man
+ dcmjpls/docs/dcmdjpls.man
+ dcmjpls/docs/dcml2pnm.man
+ dcmnet/docs/dcmrecv.man
+ dcmnet/docs/dcmsend.man
+ dcmnet/docs/echoscu.man
+ dcmnet/docs/findscu.man
+ dcmnet/docs/getscu.man
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/docs/storescu.man
+ dcmnet/docs/termscu.man
+ dcmpstat/docs/dcmmkcrv.man
+ dcmpstat/docs/dcmmklut.man
+ dcmpstat/docs/dcmp2pgm.man
+ dcmpstat/docs/dcmprscp.man
+ dcmpstat/docs/dcmprscu.man
+ dcmpstat/docs/dcmpschk.man
+ dcmpstat/docs/dcmpsmk.man
+ dcmpstat/docs/dcmpsprt.man
+ dcmpstat/docs/dcmpsrcv.man
+ dcmpstat/docs/dcmpssnd.man
+ dcmqrdb/docs/dcmqridx.man
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/docs/dcmqrti.man
+ dcmrt/docs/drtdump.man
+ dcmsign/docs/dcmsign.man
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+ dcmsr/docs/dsrdump.man
+ dcmsr/docs/xml2dsr.man
+ dcmwlm/docs/wlmscpfs.man
+
+**** Changes from 2013.11.26 (riesmeier)
+
+- Fixed issue with test "ofstd_markup_6" (Win32):
+ Fixed issue with test "ofstd_markup_6" not running successfully on Windows
+ systems (due to an incorrect length of the input string value).
+ Thanks to forum user "ghleclerc" for the report.
+ Affects: ofstd/tests/tmarkup.cc
+
+- Fixed minor Doxygen-related issue in documentation:
+ Doxygen requires three slashes "///" for documenting entities, e.g. members
+ of an enumeration type. One slash was missing for CS_UTF8 in E_CharacterSet.
+ Also fixed various typos in comments.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+
+**** Changes from 2013.11.25 (riesmeier)
+
+- Fixed name of PN component in Native DICOM Model:
+ Fixed name of first PersonName (PN) component in Native DICOM Model.
+ According to Supplement 166 (QIDO-RS) the XML element name is "Alphabetic"
+ (and not "SingleByte" as it was before).
+ Affects: dcmdata/libsrc/dcvrpn.cc
+
+**** Changes from 2013.11.21 (riesmeier)
+
+- Fixed minor Doxygen-related issue in documentation:
+ Doxygen, the tool that is used for generating the HTML documentation from
+ source code, requires that a "." is escaped under certain conditions, e.g.
+ if this character does not define the end of a sentence as used for short
+ class descriptions.
+ Affects: ofstd/include/dcmtk/ofstd/offile.h
+
+**** Changes from 2013.11.19 (riesmeier)
+
+- Added new option for disabling the VR checker:
+ Added new command line option that allows for disabling the VR checker by
+ setting the recently introduced global "dcmdata" flag accordingly.
+ Affects: dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+ dcmsr/apps/dsrdump.cc
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+ dcmsr/docs/dsrdump.man
+
+- Added global flag for disabling the VR checker:
+ Added global flag that allows for disabling the VR checker used by the
+ various checkStringValue() methods. Since this checker is currently limited
+ to ASCII and Latin-1, and the detection of the character set might fail for
+ incorrectly encoded DICOM datasets, this check can be disabled globally.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcvrpn.h
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcvrda.cc
+ dcmdata/libsrc/dcvrdt.cc
+ dcmdata/libsrc/dcvrpn.cc
+ dcmdata/libsrc/dcvrtm.cc
+
+**** Changes from 2013.11.18 (riesmeier)
+
+- Removed redundant and outdated Word document:
+ Removed redundant and outdated Word document "wwwapp.doc", which used to
+ contain the same information as "wwwapp.txt". Closes DCMTK Feature #556.
+ Removed: dcmwlm/docs/wwwapp.doc
+
+- Added missing break statements to switch cases:
+ Added missing break statements to switch cases, which previously resulted in
+ a wrong return value of the CheckMatchingKey() method. Thanks to Peter Klotz
+ <Peter.Klotz@ith-icoserve.com> for the bug report and patch.
+ Affects: dcmwlm/libsrc/wlds.cc
+
+**** Changes from 2013.11.17 (schlachter)
+
+- Don't set the defines for thread local storage support incorrectly:
+ If DCMTK_LOG4CPLUS_HAVE_TLS_SUPPORT is defined, the code uses it to mark
+ variables as thread-local and expects the compiler to implement this.
+ Otherwise, calls into the thread library are used. So defining it to an
+ empty value makes oflog thread-unsafe. Thanks to Peter Klotz
+ <Peter.Klotz@ith-icoserve.com> for the report and a test case.
+ Affects: oflog/include/dcmtk/oflog/config/defines.h
+
+**** Changes from 2013.11.15 (riesmeier)
+
+- Avoid CMake warning on non-installable files.
+ Affects: dcmdata/libsrc/CMakeLists.txt
+
+- Fixed build issue with shared libraries (Win32):
+ Fixed link errors on Windows systems when building with BUILD_SHARED_LIB set
+ to "ON". This caused the executables "mkdictbi" and "mkdeftag" to fail.
+ Thanks to forum user "lars_matthaeus" for the original report.
+ Affects: dcmdata/libsrc/CMakeLists.txt
+
+- Removed trailing white spaces from man pages files.
+ Affects: doxygen/manpages/man1/*
+
+**** Changes from 2013.11.14 (thiel)
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/*
+
+**** Changes from 2013.11.13 (onken)
+
+- Avoid second OpenSSL initialization in constructor:
+ OpenSSL's one-time initialization is performed in the TLS layer
+ constructor. In multi-threaded environments this leads to multiple
+ initialization calls if more than one association is used at the
+ same time. Thus a parameter was added in order to disable the
+ initialization code if desired. Thanks to Peter Klotz
+ <Peter.Klotz@ith-icoserve.com> for the report and suggested patch.
+ Affects: dcmtls/include/dcmtk/dcmtls/tlslayer.h
+ dcmtls/libsrc/tlslayer.cc
+
+**** Changes from 2013.11.13 (riesmeier)
+
+- Fixed issue with color icon images:
+ According to the DICOM standard, color icon images should always be written
+ with a value of "PALETTE COLOR" for Photometric Interpretation. Before this
+ fix, also other color models like "RGB" were created for the optional icon
+ image of an IMAGE content item. Closes DCMTK Bug #577.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/dsrimgvl.cc
+
+- Added comment on wrong color model for icon images:
+ Added comment on relevant API methods that for color images, the photometric
+ interpretation "RGB" is used, which is not allowed according to the DICOM
+ standard (see PS 3.3 Section F.7). This will be fixed in the future by using
+ "PALETTE COLOR" instead. Noted as DCMTK Bug #577.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/libsrc/dsrimgvl.cc
+
+- Fixed doubled output of XML start tag for VR=OD.
+ Affects: dcmdata/libsrc/dcvrod.cc
+
+**** Changes from 2013.11.12 (onken)
+
+- Fixed doubled tag output in XML output of VR OF:
+ Fixed doubled tag output in XML output of VR OF. Thanks to Peter Klotz
+ <Peter.Klotz@ith-icoserve.com> for the report and suggested patch.
+ Affects: dcmdata/libsrc/dcvrof.cc
+
+**** Changes from 2013.11.11 (onken)
+
+- Make sure CMAKE_BUILD_TYPE has a default value:
+ CMAKE_CONFIGURATION_TYPES is set for generators that support multiple
+ configuration types (and have per-configuration subdirectories like
+ Debug and Release). It is empty for other generators and for those
+ generators the build type is controlled at CMake time by
+ CMAKE_BUILD_TYPE. Patch ensures that CMAKE-BUILD-TYPE has "Release" as
+ a default value. Thanks to Kent Williams <norman-k-williams@uiowa.edu>
+ and Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> for
+ the patch.
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Described movescu storage SCP timeout problem:
+ In case movescu acts as a storage SCP, it hangs forever if storage client
+ never closes the underlying association.
+ Affects: dcmnet/docs/movescu.man
+
+- Fixed comments.
+ Affects: dcmwlm/libsrc/wlfsim.cc
+
+**** Changes from 2013.11.07 (riesmeier)
+
+- Fixed bug that could cause a crash:
+ Fixed bug that could cause a crash when processing an image with an empty
+ value for Image Type. This could cause a NULL pointer to be dereferenced.
+ Thanks to Tiago D'Agostini <tiago.dagostini@pixeon.com> for the report.
+ Affects: dcmimage/apps/dcmscale.cc
+
+**** Changes from 2013.11.04 (riesmeier)
+
+- Added Corneal Topography Map Storage SOP Class:
+ Added Corneal Topography Map Storage SOP Class (introduced only recently with
+ Supplement 168) to the list of accepted SOP classes, since there still was
+ one entry left.
+ Affects: dcmnet/etc/storescp.cfg
+
+**** Changes from 2013.10.31 (onken)
+
+- Corrected misleading transfer syntax error message:
+ When sending C-ECHO failed because no valid transfer syntax for the
+ Verification SOP Class could be found, then a misleading error message
+ was triggered complaining about missing Verification SOP Class support
+ for Little Endian Implicit. Now the message does only tell that no
+ valid presentation context for C-ECHO could be found.
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the
+ original report.
+ Affects: dcmnet/libsrc/scu.cc
+
+- Support explicit item length denoting too many bytes:
+ Added flag that allows to ignore explicit item lengths that denote more
+ bytes than the contained elements actually contribute.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/libsrc/dcerror.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/tests/tests.cc
+ dcmdata/tests/tparser.cc
+
+**** Changes from 2013.10.30 (riesmeier)
+
+- Fixed small issue reported by CMake 2.8.12:
+ A trailing "/" had to be removed in order to keep CMake 2.8.12 quiet.
+ Affects: CMake/3rdparty.cmake
+
+- Updated CMake version:
+ Updated information on latest CMake version that has been tested to "2.8.12".
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2013.10.29 (riesmeier)
+
+- Added support for Referenced Segment Number:
+ Added support for the optional list of referenced segment numbers to IMAGE
+ content items. Partially closes DCMTK Feature #149.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrimgse.h
+ dcmsr/libsrc/dsrimgse.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrimgfr.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrimgfr.cc
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/tests/Makefile.dep
+
+- Check return value of write() methods:
+ Check return value when writing data from one of the three lists, i.e.
+ SamplePositionList, TimeOffsetList or DateTimeList.
+ Affects: dcmsr/libsrc/dsrtcovl.cc
+
+- Slightly enhanced comments.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
+ dcmsr/libsrc/dsrwavch.cc
+
+- Moved checkCurrentValue() to "protected" section:
+ Moved method checkCurrentValue() to the "protected" section of the class in
+ order to be consistent with other similar classes.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+
+**** Changes from 2013.10.28 (riesmeier)
+
+- Added comment on getFrameList() method:
+ Added clarifying note on the getFrameList() method (based on the DICOM
+ standard text, Table C.18.4-1 in PS 3.3-2011).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+
+- Added support for Real World Value Mapping objects:
+ Added support for referencing objects of the Real World Value Mapping Storage
+ SOP class from IMAGE content items. Partially closes DCMTK Feature #149.
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/libsrc/dsrcomtn.cc
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrimgtn.cc
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrwavtn.cc
+
+**** Changes from 2013.10.25 (riesmeier)
+
+- Fixed small typos in comments.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h
+ dcmsr/include/dcmtk/dcmsr/dsrscovl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
+
+- Added comments on missing features:
+ Added comments that the conditional/optional attributes Referenced Segment
+ Number (0062,000B) and Referenced Real World Value Mapping Instance Sequence
+ (0008,114B) are not yet supported by this class. Such still-missing features
+ are marked with "tbd" (to be done) throughout the "dcmsr" module.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/libsrc/dsrimgvl.cc
+
+- Use helper method for deleting data elements:
+ Use the helper method DcmItem::findAndDeleteElement() for deleting certain
+ data elements in all items of a particular sequence.
+ Affects: dcmsr/libsrc/dsrtypes.cc
+
+- Iterate more efficiently over sequence items:
+ Changed the way sequence items are iterated. Now, the nextInContainer()
+ method of the DcmSequenceOfItems class is used instead of getItem(). This
+ approach is much more efficient when a sequence contains a huge number of
+ items, because of the current implementation of the getItem() method.
+ Affects: dcmsr/libsrc/dsrcsidl.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrrefin.cc
+ dcmsr/libsrc/dsrsoprf.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+**** Changes from 2013.10.24 (riesmeier)
+
+- Adapted test cases for markup conversion:
+ Added a new test case and adapted an existing one for the new behavior of
+ the "convert to markup" functions with regards to embedded NULL bytes,
+ Affects: ofstd/tests/tests.cc
+ ofstd/tests/tmarkup.cc
+
+- Never output NULL bytes to markup string/stream:
+ Made sure that a NULL byte is never output to HTML/XHTML/XML mnenonic string
+ or stream. Only if non-ASCII characters are converted to their numeric value
+ (&#nnn;), they will be "visible".
+ Affects: ofstd/libsrc/ofstd.cc
+
+**** Changes from 2013.10.23 (riesmeier)
+
+- Added support for new UID from Supplement 168:
+ Added support for new SOP Class UID from Supplement 168 (Corneal Topography
+ Map Storage SOP Class).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added support for Supplement 168 to data dictionary:
+ Added support for final text version of Supplement 168 (Corneal Topography
+ Map Storage SOP Class) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added support for CP-1268 to data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2013.10.21 (riesmeier)
+
+- Removed redundant API comment.
+ Affects: dcmdata/include/dcmtk/dcmdata/dctagkey.h
+
+- Fixed outdated comment on 1st PN component group:
+ Fixed outdated comment on first component group of a Person Name (PN) value.
+ According to CP-964, the first component group defines an alphabetic (and not
+ a single-byte) representation of the person name.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrpn.h
+
+- Do not output group length in Native DICOM Model:
+ Do not output group length elements (gggg,0000) in Native DICOM Model format
+ (as per PS 3.19 section A.1.1, introduced with Supplement 166).
+ Affects: dcmdata/libsrc/dcelem.cc
+
+**** Changes from 2013.10.17 (riesmeier)
+
+- Fixed wrong content type of XML element in DTD:
+ According to the W3C XML specification, "CDATA" is not allowed in the content
+ model for elements. So, for the "pixel-item" element it has been replaced by
+ "#PCDATA" (which is allowed). Thanks to forum user "wrenashe" for the report.
+ Affects: dcmdata/data/dcm2xml.dtd
+
+**** Changes from 2013.10.14 (riesmeier)
+
+- Fixed source code formatting and various comments.
+ Affects: dcmdata/libsrc/dcmetinf.cc
+
+- Fixed timeout issue in handleAssociation():
+ Fixed issue with timeout parameter not being passed to DIMSE_receiveCommand()
+ in DcmSCP::handleAssociation() method. This prevented the non-blocking mode
+ from working correctly.
+ Thanks to forum user "wrenashe" for the report and suggested fix.
+ Affects: dcmnet/libsrc/scp.cc
+
+**** Changes from 2013.10.12 (riesmeier)
+
+- Updated URL of DCMTK's home page.
+ Affects: doxygen/footer.html
+
+- Removed outdated custom CSS file.
+ Affects: doxygen/htmldocs.cfg
+ Removed: doxygen/htmldocs.css
+
+- Updated Doxygen configuration files:
+ Updated Doxygen configuration files to a more recent version (1.8.1.2).
+ Affects: doxygen/htmldocs.cfg
+ doxygen/manpages.cfg
+
+- Minor changes to comments.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2013.10.11 (riesmeier)
+
+- Minor fixes in comments.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h
+
+- Fixed memory leak in log4cplus code:
+ Fixed small memory leak (4 bytes) in log4cplus code, which was reported by
+ valgrind as "still reachable" after program exit.
+ Also see http://sourceforge.net/p/log4cplus/bugs/278/
+ Affects: oflog/libsrc/globinit.cc
+
+**** Changes from 2013.10.11 (onken)
+
+- Replaced tabs with spaces.
+ Affects: dcmwlm/libsrc/wlds.cc
+
+- Worklist SCP support for Responsible Person/Role:
+ Added support for attributes Responsible Person and Responsible Person Role
+ as Matching and Return Keys to worklist server.
+ Affects: dcmwlm/docs/wlmscpfs.man
+ dcmwlm/include/dcmtk/dcmwlm/wltypdef.h
+ dcmwlm/libsrc/wlds.cc
+ dcmwlm/libsrc/wlfsim.cc
+
+**** Changes from 2013.10.10 (riesmeier)
+
+- Updated comment on current character set issue.
+ Affects: dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrpnmtn.cc
+ dcmsr/libsrc/dsrtextn.cc
+
+- Use helper function findAndGetSequence():
+ Use helper function DcmItem::findAndGetSequence() instead of the low-level
+ search() method, which requires a DcmStack instance.
+ Affects: dcmsr/libsrc/dsrdoctn.cc
+
+- Report warning on unsupported character sets:
+ Report a warning message on SpecificCharacterSet values that are not (yet)
+ supported by the VR checker in the dcmdata module (i.e. all but ASCII and
+ ISO Latin-1).
+ Affects: dcmsr/libsrc/dsrdoc.cc
+
+- Enhanced implementation of checkCode() method:
+ Made sure that the checkCode() method does not reject valid code values that
+ use extended characters that are not yet supported by dcmdata's VR checker
+ (i.e. all but ASCII and ISO Latin-1). Partially closes DCMTK Bug #547.
+ Affects: dcmsr/libsrc/dsrcodvl.cc
+
+- Avoid unnecessary copies of sequence elements:
+ By referencing the sequence elements instead of copying, it is also possible
+ to access the SpecificCharacterSet element of the surrounding dataset/item,
+ which is needed for the VR checker. Partially closes DCMTK Bug #547.
+ Affects: dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrcsidl.cc
+ dcmsr/libsrc/dsrimgfr.cc
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrsoprf.cc
+
+- Added new variant of checkElementValue():
+ This new variant gets a pointer to a DICOM element (and not a reference).
+ In addition, the getAndCheckXXXFromDataset() methods now make sure that no
+ element copy is created _before_ the element is checked. This is because
+ otherwise there would be no access to the SpecificCharacterSet element of
+ the surrounding dataset/item, which is needed for the VR checker.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added 'charset' parameter to checkStringValue():
+ Added optional character set parameter to static function checkStringValue()
+ in order to make sure that only ASCII and Latin-1 strings are checked for
+ their conformance with the VR definition (this is a current limitation of the
+ underlying VR checker). Also the checkValue() method now uses the value of
+ the SpecificCharacterSet element of the surrounding dataset/item.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcvrlo.h
+ dcmdata/include/dcmtk/dcmdata/dcvrlt.h
+ dcmdata/include/dcmtk/dcmdata/dcvrpn.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsh.h
+ dcmdata/include/dcmtk/dcmdata/dcvrst.h
+ dcmdata/include/dcmtk/dcmdata/dcvrut.h
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcvrlo.cc
+ dcmdata/libsrc/dcvrlt.cc
+ dcmdata/libsrc/dcvrpn.cc
+ dcmdata/libsrc/dcvrsh.cc
+ dcmdata/libsrc/dcvrst.cc
+ dcmdata/libsrc/dcvrut.cc
+
+- Added method to determine SpecificCharacterSet:
+ Added method to class DcmCharString that allows for determining the value of
+ the SpecificCharacterSet element of the surrounding dataset/item.
+ Closes DCMTK Feature #555.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h
+ dcmdata/include/dcmtk/dcmdata/dcdatset.h
+ dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/dcchrstr.cc
+
+- Fixed various typos in comments.
+ Affects: dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2013.10.09 (riesmeier)
+
+- Fixed various typos.
+ Affects: dcmnet/include/dcmtk/dcmnet/scpcfg.h
+ dcmnet/include/dcmtk/dcmnet/scpthrd.h
+
+**** Changes from 2013.10.08 (riesmeier)
+
+- Fixed typos.
+ Affects: ofstd/include/dcmtk/ofstd/ofuuid.h
+ ofstd/libsrc/ofuuid.cc
+
+- Updated automake script to version 1.14:
+ Updated script that creates filesystem directories to the most recent version
+ of automake, even though only minor changes were made.
+ Affects: config/mkinstalldirs
+
+- Also updated autoconf support files:
+ After updating the configure script to autoconf 2.69, now also the support
+ files that are shipped with the autoconf package have been updated.
+ Affects: config/config.guess
+ config/config.sub
+ config/install-sh
+
+**** Changes from 2013.10.07 (riesmeier)
+
+- Added definition of DCMTK_PACKAGE_URL:
+ Added definition of DCMTK_PACKAGE_URL in order to be consistent with the
+ GNU autoconf (aka configure) system. However, this setting is currently
+ unused and, therefore, uncommented/disabled.
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2013.10.04 (riesmeier)
+
+- Updated to autoconf 2.69.
+ Affects: config/configure
+ config/confmod
+
+- Updated our email address for bug reports.
+ Affects: CMake/dcmtkPrepare.cmake
+ README
+ config/configure.in
+ dcmwlm/docs/wwwapp.txt
+ doxygen/htmldocs.dox
+
+**** Changes from 2013.10.02 (riesmeier)
+
+- Made use of new global flags for VR generation:
+ The new global flags for enabling/disabling the support of OF and OD as a
+ valid VR are now used for the "post-1993 VR" command line options.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmcrle.cc
+ dcmdata/apps/dcmdrle.cc
+ dcmdata/apps/dcmgpdir.cc
+ dcmdata/apps/dump2dcm.cc
+ dcmdata/apps/mdfconen.cc
+ dcmdata/apps/pdf2dcm.cc
+ dcmdata/apps/xml2dcm.cc
+ dcmimage/apps/dcmquant.cc
+ dcmimage/apps/dcmscale.cc
+ dcmjpeg/apps/dcmcjpeg.cc
+ dcmjpeg/apps/dcmdjpeg.cc
+ dcmjpls/apps/dcmcjpls.cc
+ dcmjpls/apps/dcmdjpls.cc
+ dcmnet/apps/findscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmpstat/apps/dcmprscp.cc
+ dcmpstat/apps/dcmprscu.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmpstat/apps/dcmpssnd.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/apps/dcmqrti.cc
+ dcmsr/apps/xml2dsr.cc
+ dcmwlm/apps/wlcefs.cc
+
+- Added two new global flags for VR generation:
+ Added global flags for enabling/disabling the support of OF and OD as a valid
+ VR. When disabling the support for these post-1993 VRs, OB is used instead.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libsrc/dcvr.c
+
+**** Changes from 2013.10.01 (riesmeier)
+
+- Added trace log message on VR replacement:
+ Output message to trace logger when a post-1993 value representation like UT
+ or UN is replaced by OB because support for these "new" VRs is disabled.
+ Affects: dcmdata/libsrc/dcvr.cc
+
+- Fixed various coding style issues.
+ Affects: dcmdata/libsrc/dcvr.cc
+
+- Removed superfluous footnote symbol "(*)".
+ Affects: dcmwlm/docs/wlmscpfs.man
+
+**** Changes from 2013.09.28 (riesmeier)
+
+- Output currently processed line of input file:
+ Output the number of the currently processed text line of the input file to
+ the trace logger. This might be useful for debugging purposes.
+ Affects: dcmdata/apps/dump2dcm.cc
+
+- Output a warning message if the VR is unknown:
+ Output a warning message if the VR of a Tag in the dump file is unknown. This
+ could happen if the VR is neither specified in the dump file nor it can be
+ determined from the data dictionary. In such cases, the VR "UN" us used.
+ Affects: dcmdata/apps/dump2dcm.cc
+
+**** Changes from 2013.09.27 (riesmeier)
+
+- Fixed typo copied from Supplement 163:
+ Fixed typo copied from the cover page of the Supplement 163 document.
+ Affects: dcmdata/docs/dcm2xml.man
+
+**** Changes from 2013.09.26 (riesmeier)
+
+- Clarified use of writeXML() flags:
+ Made more clear which writeXML() flags can be used for which output format.
+ Affects: dcmdata/include/dcmtk/dcmdata/dctypes.h
+
+- Added support for <InlineBinary> XML element:
+ Added preliminary support for the <InlineBinary> XML element, which has been
+ introduced to the Native DICOM Model with Supplement 163 (Store Over the Web
+ by Representational State Transfer Services). Currently, data elements with a
+ VR of OB, OW and UN can be encoded as base64, i.e. OD and OF are still
+ missing. Partially closes DCMTK Feature #549.
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/docs/dcm2xml.man
+ dcmdata/libsrc/dcpixseq.cc
+ dcmdata/libsrc/dcvrobow.cc
+
+**** Changes from 2013.09.25 (riesmeier)
+
+- Fixed typos.
+ Affects: dcmdata/apps/img2dcm.cc
+
+- Added missing references to closed DCMTK features.
+ Affects: CHANGES.361
+
+**** Changes from 2013.09.24 (onken)
+
+- Create DcmFileFormat from DcmDataset w/o copying:
+ Added possibility to create DcmFileFormat from existing dataset and let
+ DcmFileFormat take ownership for that dataset instead of always performing a
+ deep copy. Closes DCMTK Feature #544.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcfilefo.h
+ dcmdata/libsrc/dcfilefo.cc
+
+- Do not copy DcmDataset during C-GET receive:
+ C-GET functionality does not copy the dataset any more in the standard
+ storage handler.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2013.09.23 (riesmeier)
+
+- Added new option for printing invalid codes:
+ Added new command line option that allows for printing also invalid codes.
+ Affects: dcmsr/apps/dsrdump.cc
+ dcmsr/docs/dsrdump.man
+
+- Added new print flag for showing invalid codes:
+ Added new print flag value that allows for showing also invalid codes. This
+ is especially useful for debugging purposes. Closes DCMTK Feature #548.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrcodtn.cc
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Slightly changed output of print() method:
+ Invalid codes are now printed if the "printInvalid" parameter is true. By
+ default, the text "invalid code" is printed in such cases. Before this
+ modification, invalid codes were never printed and the behavior of the
+ "printInvalid" parameter was different. Closes DCMTK Feature #548.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+
+**** Changes from 2013.09.20 (riesmeier)
+
+- Fixed issue with CP-246 files and private tags:
+ According to CP-246, elements with VR=UN and undefined length should be
+ interpreted as a sequence with implicit VR. This fix makes sure that the
+ code also works with private tags. It also corrects a wrong log message.
+ Thanks to Mathieu Malaterre <malat@debian.org> for the original report.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+- Minor fixes, e.g. added Doxygen markup.
+ Affects: dcmqrdb/docs/dcmqrdb.man
+
+**** Changes from 2013.09.20 (onken)
+
+- Warning to re-create index.dat after 20130705:
+ The format of dcmqrdb's binary index.dat file changed on 20130705 due to a
+ bug fix in the corresponding code. An index.dat file created before that date
+ will not work with dcmqrdb code compiled after that date but must be
+ re-created.
+ Affects: dcmqrdb/docs/dcmqrdb.man
+
+**** Changes from 2013.09.11 (riesmeier)
+
+- Fixed wrong Doxygen reference to a method:
+ Fixed wrong reference in API documentation to the loadAllDataIntoMemory()
+ method (was loadAllDataElements() before).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h
+ dcmdata/include/dcmtk/dcmdata/dcfilefo.h
+ dcmdata/include/dcmtk/dcmdata/dcmetinf.h
+
+**** Changes from 2013.09.04 (riesmeier)
+
+- Added support for generating a Doxygen tag file:
+ Added preliminary support for generating a Doxygen tag file. This file can be
+ used to link the generated HTML documentation from external projects.
+ Closes DCMTK feature #455.
+ Affects: CMake/dcmtkPrepare.cmake
+ doxygen/CMakeLists.txt
+ doxygen/Makefile.in
+ doxygen/htmldocs.cfg
+
+**** Changes from 2013.08.30 (riesmeier)
+
+- Updated copyright dates (where appropriate).
+ Affects: COPYRIGHT
+
+- Added new storage mode options:
+ Added two new command line options specifying the storage mode to be used:
+ --normal and --bit-preserving.
+ Affects: dcmnet/apps/dcmrecv.cc
+ dcmnet/docs/dcmrecv.man
+
+- Added new dataset storage mode:
+ Added new storage mode that allows for receiving a dataset directly to file,
+ i.e. the data is written exactly as received. This is what the storescp calls
+ "bit preserving mode".
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscp.h
+ dcmnet/libsrc/dstorscp.cc
+
+- Receive C-STORE request dataset directly to file:
+ Added method that allows for receiving a C-STORE request dataset directly to
+ file. Using this new method, large SOP instances can be received with less
+ memory requirements and the datasets can be stored as received (i.e. without
+ any conversions).
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/libsrc/scp.cc
+
+- Fixed various typos in comments.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+
+**** Changes from 2013.08.29 (riesmeier)
+
+- Introduced dataset storage mode:
+ Added new option that allows for ignoring the received dataset, i.e. the
+ DICOM dataset received with a C-STORE request message is not stored to file.
+ Affects: dcmnet/apps/dcmrecv.cc
+ dcmnet/docs/dcmrecv.man
+ dcmnet/include/dcmtk/dcmnet/dstorscp.h
+ dcmnet/libsrc/dstorscp.cc
+
+**** Changes from 2013.08.27 (riesmeier)
+
+- Restructured implementation of handleSTORERequest():
+ Completely restructured the implementation of handleSTORERequest(), which now
+ consists of calling 3 separate methods successively: receiveSTORERequest(),
+ checkSTORERequest() and sendSTOREResponse(). This could be the prototype for
+ all other network messages currently supported by this class. Also regrouped
+ the various network message methods.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/dstorscp.cc
+ dcmnet/libsrc/scp.cc
+
+- Fixed various typos in comments.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+
+- Fixed wrong log message in handleMOVERequest().
+ Affects: dcmnet/libsrc/scp.cc
+
+- Removed "&" from constant integer parameters:
+ Removed "&" specifier from constant integer parameters since passing such
+ input values by-reference does not make any sense. Also fixed some layout
+ and formatting issues.
+ Affects: dcmtls/include/dcmtk/dcmtls/tlsscu.h
+ dcmtls/libsrc/tlsscu.cc
+
+**** Changes from 2013.08.26 (riesmeier)
+
+- Removed class name from derived method calls:
+ Removed explicit class name when calling a derived method (as long as the
+ method name is unambiguous, i.e. the compiler does not complain).
+ Affects: dcmnet/libsrc/dstorscp.cc
+
+- Do not copy received dataset in memory:
+ Made sure that the DICOM dataset received via a C-STORE request is not copied
+ in memory (i.e. to a DcmFileFormat structure) in order to store it as a DICOM
+ file (i.e. with file meta information header).
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscp.h
+ dcmnet/libsrc/dstorscp.cc
+
+- Fixed various inconsistencies in comments.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+
+- Pass existing dataset to handleSTORERequest():
+ Enhanced handleSTORERequest() by allowing an existing dataset to be passed to
+ this method. This avoids copying a received dataset to a fileformat structure
+ in order to store the dataset as a DICOM file.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+- Fixed various typos in comments.
+ Affects: dcmnet/apps/storescp.cc
+
+**** Changes from 2013.08.23 (riesmeier)
+
+- Added meta header to stored DICOM files:
+ Made sure that the file meta information header is written to all created
+ DICOM files. Previously only the DICOM dataset was written to file.
+ Affects: dcmnet/libsrc/dstorscp.cc
+
+**** Changes from 2013.08.23 (onken)
+
+- Always write meta header when receiving files. Removed Winsock comment.
+ Affects: dcmnet/libsrc/scu.cc
+
+- Added missing CHANGES entry.
+ Affects: CHANGES.361
+
+**** Changes from 2013.08.20 (riesmeier)
+
+- Added support for Supplement 163 to data dictionary:
+ Added support for final text version of Supplement 163 (Store Over the Web by
+ RESTful Services, STOW-RS) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2013.08.20 (onken)
+
+- Make sure oflog also compiles if threads are disabled.
+ Affects: oflog/libsrc/socketap.cc
+
+**** Changes from 2013.08.14 (riesmeier)
+
+- Deprecated closeAssociation() method:
+ Added comment that closeAssociation() is deprecated and will probably be made
+ "protected" in the future. Instead of that, the methods releaseAssociation()
+ and abortAssociation() from the base class DcmSCU should be used.
+ Affects: dcmtls/include/dcmtk/dcmtls/tlsscu.h
+
+- Fixed various typos.
+ Affects: dcmtls/libsrc/tlsscu.cc
+
+**** Changes from 2013.08.13 (riesmeier)
+
+- Updated CMake version:
+ Updated information on latest CMake version that has been tested to "2.8.11".
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2013.08.12 (riesmeier)
+
+- Function createDirectory() also works on Windows:
+ Implemented and tested the new function createDirectory() on Windows systems.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+- Updated man pages.
+ Affects: dcmdata/docs/dcmodify.man
+ doxygen/manpages/man1/*
+
+- Rebuilt Makefile dependencies.
+ Affects: dcmnet/tests/Makefile.dep
+
+- Added comments to unused exit codes.
+ Affects: dcmnet/apps/dcmsend.cc
+
+- Added new command line tool "dcmrecv":
+ This tool is a Simple Storage Service Class Provider, which is based on the
+ recently introduced network class DcmStorageSCP.
+ Added: dcmnet/apps/dcmrecv.cc
+ dcmnet/docs/dcmrecv.man
+ doxygen/manpages/man1/dcmrecv.1
+ Affects: dcmnet/apps/CMakeLists.txt
+ dcmnet/apps/Makefile.dep
+ dcmnet/apps/Makefile.in
+ dcmnet/docs/dcmnet.dox
+ dcmnet/docs/dcmsend.man
+
+- Added new class DcmStorageSCP:
+ Added an easy-to-use interface class for a Storage Service Class Provider
+ (SCP), which stores the received datasets as DICOM files.
+ Added: dcmnet/include/dcmtk/dcmnet/dstorscp.h
+ dcmnet/libsrc/dstorscp.cc
+ Affects: dcmnet/docs/dcmnet.dox
+ dcmnet/libsrc/CMakeLists.txt
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/libsrc/Makefile.in
+ ofstd/include/dcmtk/ofstd/ofcond.h
+ ofstd/libsrc/ofcond.cc
+
+- Fixed some minor Doxygen issues.
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+
+- Added global helper function createDirectory():
+ Added a global helper function to OFStandard that allows for creating file
+ directories in a portable way. This also includes the creation of arbitrary
+ sub-directories, i.e. this function works "recursively".
+ Please note that createDirectory() has not yet been implemented for the
+ Windows platform.
+ Affects: ofstd/include/dcmtk/ofstd/ofcond.h
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofcond.cc
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2013.08.09 (riesmeier)
+
+- Removed trailing spaces.
+ Affects: ofstd/libsrc/offname.cc
+
+- Added progress notification to DcmSCP:
+ Added support for progress notifications while sending and receiving DICOM
+ datasets. This is the same approach as already implemented in DcmSCU.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/include/dcmtk/dcmnet/scpcfg.h
+ dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scpcfg.cc
+
+- Removed unused fields from sendACTIONResponse():
+ Removed optional "Action Type ID" and unused "Dataset" from N-ACTION Response.
+ Please note that this changes the signature of sendACTIONResponse().
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+- Fixed issues with optional message fields:
+ Fixed issues with optional message fields "Affected SOP Class UID" and
+ "Affected SOP Instance UID", which were not always enabled correctly.
+ Affects: dcmnet/libsrc/scp.cc
+
+- Modified log output in loadAssociationCfgFile():
+ Slightly modified the log output in loadAssociationCfgFile(), e.g. by showing
+ the name of the configuration file on the debug logger. Also check the input
+ filename for an empty string and return an error code in such a case.
+ Affects: dcmnet/libsrc/scpcfg.cc
+
+**** Changes from 2013.08.08 (riesmeier)
+
+- Reimplemented sendSTOREResponse() method:
+ Please note that the signature of sendSTOREResponse() changed with this
+ commit. There are now two variants of this method: one that is quite easy to
+ use and the other that allows for specifying more details.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.c
+
+- Use optional fields in sendSTOREResponse():
+ Made sure that the optional fields "Affected SOP Class UID" and "Affected SOP
+ Instance UID" in sendSTOREResponse() are really used. Also fixed some typos.
+ Affects: dcmnet/libsrc/scu.cc
+
+- Fixed various typos.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+
+- Added new condition constants:
+ Added two new conditions constants for general directory-related errors:
+ EC_DirectoryDoesNotExist and EC_DirectoryNotWritable.
+ Affects: ofstd/include/dcmtk/ofstd/ofcond.h
+ ofstd/libsrc/ofcond.cc
+
+**** Changes from 2013.08.07 (riesmeier)
+
+- Enable WITH_THREADS for thread-related classes.
+ Affects: doxygen/htmldocs.cfg
+
+- Fixed various typos and other Doxygen issues.
+ Affects: dcmnet/docs/cptscp.doxygen
+ dcmnet/include/dcmtk/dcmnet/scppool.h
+ dcmnet/libsrc/scppool.cc
+
+- Added releaseAssociation() and abortAssociation():
+ Added two new methods releaseAssociation() and abortAssociation() that should
+ be used instead of closeAssociation(). The latter is now deprecated and will
+ probably be made "protected" in the future. Closes DCMTK feature #531.
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/dstorscu.cc
+ dcmnet/libsrc/scu.cc
+
+- Fixed various typos.
+ Affects: dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scppool.cc
+
+**** Changes from 2013.08.06 (riesmeier)
+
+- Removed trailing space characters:
+ Removed trailing space characters and fixed other minor issues.
+ Affects: dcmnet/include/dcmtk/dcmnet/dcasccff.h
+ dcmnet/include/dcmtk/dcmnet/dcasccfg.h
+ dcmnet/libsrc/dcasccff.cc
+ dcmnet/libsrc/dcasccfg.cc
+
+- Fixed further documentation issues.
+ Affects: dcmnet/include/dcmtk/dcmnet/scppool.h
+
+**** Changes from 2013.08.05 (riesmeier)
+
+- Really call shouldStopAfterCurrentSOPInstance():
+ Although the method shouldStopAfterCurrentSOPInstance() has been introduced
+ with commit 65f2966, it was never called during sendSOPInstances(), so the
+ sending process could not be stopped (as described in the documentation).
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/libsrc/dstorscu.cc
+
+- Fixed various oddities and inconsistencies:
+ Fixed various oddities and inconsistencies regarding the documentation style
+ (e.g. undocumented parameters) and the source code formatting.
+ Affects: dcmnet/include/dcmtk/dcmnet/scppool.h
+
+- Replaced tabulator by space characters.
+ Affects: dcmnet/include/dcmtk/dcmnet/scppool.h
+
+- Fixed various oddities and inconsistencies:
+ Fixed various oddities and inconsistencies regarding the C-MOVE originator
+ information, e.g. the get and set methods.
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/dstorscu.cc
+ dcmnet/libsrc/scu.cc
+
+- Added comment on inappropriate use of EC_IllegalCall.
+ Affects: dcmnet/libsrc/scpthrd.cc
+
+- Updated version number of snapshot compilers:
+ Updated the version number of the Linux and Windows compilers the DCMTK
+ snapshot has been tested with.
+ Affects: INSTALL
+
+**** Changes from 2013.08.01 (riesmeier)
+
+- Fixed wrong VR for private AGFA IMPAX tag.
+ The VR given for "date_time_verified" (0031,xx01) in the "AGFA IMPAX 6.5.x
+ Solution" conformance statement is apparently wrong. It should be "UL"
+ instead of "CS" since it seems to specify a UNIX timestamp (32 bit).
+ Affects: dcmdata/data/private.dic
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added private tags for AGFA IMPAX 6.5.x Solution.
+ Added two private tag definitions from the "AGFA IMPAX 6.5.x Solution"
+ conformance statement.
+ Affects: dcmdata/data/private.dic
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added support for new VR "Other Double String" (OD):
+ Added support for new value representation "Other Double String" (OD) that
+ has been introduced only recently with CP-1261 (Other Double 64 Bit Floating
+ Point Value Representation). Closes DCMTK feature #526.
+ Added: dcmdata/include/dcmtk/dcmdata/dcvrod.h
+ dcmdata/libsrc/dcvrod.cc
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/Makefile.in
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcvr.cc
+ dcmdata/tests/telemlen.cc
+ dcmdata/tests/tests.cc
+
+**** Changes from 2013.07.26 (onken)
+
+- Fixed possible doubled destruction of association.
+ Affects: dcmnet/libsrc/scp.cc
+
+**** Changes from 2013.07.25 (riesmeier)
+
+- Replaced "OFString::length() > 0" by "!OFString::empty()".
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/apps/mdfdsman.cc
+ dcmdata/libsrc/dcvrtm.cc
+ dcmjpeg/libsrc/djcodece.cc
+ dcmjpeg/libsrc/djutils.cc
+ dcmnet/apps/echoscu.cc
+ dcmnet/apps/findscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/libsrc/dccfuidh.cc
+ dcmpstat/apps/dcmprscp.cc
+ dcmpstat/apps/dcmprscu.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmpstat/apps/dcmpssnd.cc
+ dcmpstat/libsrc/dcmpstat.cc
+ dcmpstat/libsrc/dviface.cc
+ dcmpstat/libsrc/dvpscf.cc
+ dcmwlm/libsrc/wlds.cc
+ dcmwlm/libsrc/wldsfs.cc
+ dcmwlm/libsrc/wlfsim.cc
+ ofstd/libsrc/ofconapp.cc
+
+- Replaced "OFString::length() != 0" by "!OFString::empty()".
+ Affects: dcmdata/apps/mdfdsman.cc
+ dcmdata/libi2d/i2d.cc
+
+- Replaced "OFString::length() == 0" by "OFString::empty()".
+ Affects: dcmdata/apps/img2dcm.cc
+ dcmdata/apps/pdf2dcm.cc
+ dcmdata/libi2d/i2d.cc
+ dcmdata/libi2d/i2dbmps.cc
+ dcmdata/libi2d/i2djpgs.cc
+ dcmnet/apps/storescu.cc
+ dcmpstat/libsrc/dviface.cc
+ dcmpstat/libsrc/dvpsri.cc
+ dcmpstat/libsrc/dvpsvw.cc
+ dcmwlm/libsrc/wlds.cc
+ dcmwlm/libsrc/wldsfs.cc
+ dcmwlm/libsrc/wlfsim.cc
+
+**** Changes from 2013.07.23 (onken)
+
+- Fixed issues where JPEG marker map was not cleared if
+ more than one JPEG was converted using the same plugin
+ instance.
+ Affects: dcmdata/libi2d/i2djpgs.cc
+
+**** Changes from 2013.07.12 (riesmeier)
+
+- Fixed issue with misplaced log output, which caused the use of an
+ uninitialized variable ("req").
+ Thanks to Mathieu Malaterre <malat@debian.org> for the valgrind report and
+ to Uli Schlachter <psychon@znc.in> for his expert opinion.
+ Affects: dcmnet/apps/movescu.cc
+
+**** Changes from 2013.07.05 (onken)
+
+- Fixed too small buffer for UID in Q/R server. Thanks to Mathieu
+ Malaterre <malat@debian.org> for the report and fix.
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
+
+**** Changes from 2013.06.27 (onken)
+
+- Fixed typo (coersion -> coercion) in DIMSE status constant. Thanks to
+ Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report and suggested fix.
+ Affects: dcmnet/include/dcmtk/dcmnet/dimse.h
+ dcmnet/libsrc/dimdump.cc
+ dcmnet/libsrc/diutil.cc
+ dcmnet/libsrc/dstorscu.cc
+
+**** Changes from 2013.06.26 (riesmeier)
+
+- Fixed bug in getTimeZoneFromString() method. Added new test for this case.
+ Thanks to Tamas Nemeth <tnemeth@erad.com> for the report and suggested fix.
+ Affects: dcmdata/libsrc/dcvrtm.cc
+ dcmdata/tests/tvrdatim.cc
+
+**** Changes from 2013.06.24 (riesmeier)
+
+- Minor fixes to comments on VOI-related methods.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
+
+- Added support for new SOP Class UIDs from Supplement 157 (Multi-Frame
+ Converted Legacy Images).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added support for final text version of Supplement 157 (Multi-Frame Converted
+ Legacy Images) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Slightly enhanced documentation of completion flag methods (in accordance
+ with the recently approved CP-1219).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+
+- Added support for CP-1248, CP-1258 and CP-1269 to data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2013.06.11 (riesmeier)
+
+- Various fixes to comments. Also removed trailing white spaces.
+ Affects: ofstd/include/dcmtk/ofstd/ofmem.h
+ ofstd/tests/tmem.cc
+
+*** Changes from 2013.06.10 (onken)
+
+- Make sure SCU and SCP request/response data structures are initially zeroed.
+ Affects: dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scu.cc
+
+- Added missing CHANGES entry for last 2 commits.
+ Affects: CHANGES.361
+
+*** Changes from 2013.06.10 (schlamelcher)
+
+- Make use of unique pointer (free memory if C-MOVE/C-FIND is canceled).
+ Affects: dcmnet/libsrc/scu.cc
+
+- Introduced OFunique_ptr as a fallback if std::unique_ptr is not available.
+ Affects: ofstd/include/ofmem.h
+ ofstd/tests/tmem.cc
+
+**** Changes from 2013.06.04 (onken)
+
+- Add "Discard illegal character" support to dcmconv and classes like DcmItem.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/docs/dcmconv.man
+ dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/include/dcmtk/dcmdata/dcfilefo.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+
+- Added option to discard illegal characters when converting between
+ DICOM character sets.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+ dcmdata/libsrc/dcspchrs.cc
+ dcmdata/tests/tspchrs.cc
+
+**** Changes from 2013.06.04 (riesmeier)
+
+- Fixed minor inconsistencies introduced with last commit (9fd4776).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+ dcmdata/libsrc/dcspchrs.cc
+ tests/tspchrs.cc
+
+- Output absolute minimum and maximum value of intermediate pixel data to trace
+ logger in order to better understand the result (output data) when rendering
+ an image without VOI transformation.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h
+
+**** Changes from 2013.06.03 (riesmeier)
+
+- Added missing support for the new print options (short name, long name or UID
+ value) to the output of presentation state references of IMAGE content items.
+ Thanks to Mathieu Malaterre <malat@debian.org> for the report on this issue.
+ Affects: dcmsr/libsrc/dsrimgvl.cc
+
+**** Changes from 2013.05.31 (riesmeier)
+
+- Fixed issue with unnecessary call to clearNodeCursorStack(). This undesirable
+ stack cleanup prevented gotoNextNamedNode() from working correctly.
+ Thanks to forum user "Tim" for the original report demonstrating this issue.
+ Affects: dcmsr/libsrc/dsrdoctr.cc
+
+**** Changes from 2013.05.30 (riesmeier)
+
+- Fixed some tag key constants of recently retired attributes (CP-1249).
+ Affects: dcmrt/libsrc/drtforrs.cc
+
+- Added support for CP-1246 and CP-1249 to data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2013.05.27 (onken)
+
+- Make sure memcpy does not copy to NULL destination. Thanks to Francesco
+ Gigante <fgigante@imsitaly.com> for the report.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+**** Changes from 2013.05.15 (riesmeier)
+
+- Made more clear that support for shared libraries is still not that mature.
+ Affects: INSTALL
+
+**** Changes from 2013.04.25 (riesmeier)
+
+- Fixed bug in checkSOPClassUID() that caused all currently defined Waveform
+ SOP classes to be rejected. This bug was introduced with commit a0fe345b.
+ Affects: dcmsr/libsrc/dsrwavvl.cc
+
+- Added command line options using the new print flags specifying how the SOP
+ class of referenced DICOM objects is printed. Also did some restructuring.
+ Thanks to Mathieu Malaterre <malat@debian.org> for the suggestion.
+ Affects: dcmsr/apps/dsrdump.cc
+ dcmsr/docs/dsrdump.man
+
+- Added new options for specifying how the SOP class of referenced DICOM
+ objects is printed (short name, long name or UID value).
+ Thanks to Mathieu Malaterre <malat@debian.org> for the suggestion.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/libsrc/dsrwavvl.cc
+
+**** Changes from 2013.04.23 (riesmeier)
+
+- Added some debug output to read() method, e.g. whether the automatic transfer
+ syntax detection is enabled and actually used.
+ Affects: dcmdata/libsrc/dcdatset.cc
+
+- Added some debug output to lookForXfer() method, e.g. whether the meta-header
+ is present at all and whether it contains the TransferSyntaxUID element.
+ Affects: dcmdata/libsrc/dcfilefo.cc
+
+**** Changes from 2013.04.19 (riesmeier)
+
+- Added missing sub-directory "oflog/thread" to "make install" target.
+ Thanks to Markus Mertens <Markus.Mertens@evkb.de> for the report.
+ Affects: oflog/include/Makefile.in
+
+**** Changes from 2013.04.08 (riesmeier)
+
+- Fixed issue with last pixel value being undefined in odd-length pixel data
+ (occurred in partial access mode with PixelData VR=OW and BitsAllocated=8).
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the original report.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
+
+**** Changes from 2013.04.08 (schlamelcher)
+
+- Some workarounds for VC6 compiler peculiarity.
+ Affects: dcmdata/tests/tfilter.cc
+ dcmnet/include/dcmtk/dcmnet/scppool.h
+
+**** Changes from 2013.04.05 (riesmeier)
+
+- Use non-throwing new and delete operator for large memory buffers (e.g. pixel
+ data) in order to avoid exceptions.
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the original report.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
+
+- Fixed two possible memory leaks found by static code analysis (cppcheck).
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report and patch.
+ Affects: dcmnet/libsrc/assoc.cc
+
+- Added comment to a local variable that is currently unused (but might be used
+ in the future).
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for pointing this out.
+ Affects: dcmnet/libsrc/dimse.cc
+
+**** Changes from 2013.03.28 (schlachter)
+
+- Silence some more compiler warnings about implicit casts.
+ Affects: dcmdata/tests/dctmacro.h
+ oflog/libsrc/timehelp.cc
+
+**** Changes from 2013.03.25 (schlachter)
+
+- Fixed crash if less than four transfer syntaxes are enabled.
+ This fixes debian bug #703716.
+ Affects: dcmqrdb/libsrc/dcmqrsrv.cc
+
+- Worked around compiler warnings on 32bit systems for too large shifts.
+ Affects: dcmjpls/libcharls/util.h
+
+- Fixed compiler warnings in ConvertIntegerToString with unsigned integers.
+ Affects: oflog/include/dcmtk/oflog/helpers/strhelp.h
+
+- Fixed bug in OFString::copy() and improved unit tests.
+ Thanks to forum user "oxymoron" for the report.
+ Affects: ofstd/libsrc/ofstring.cc
+ ofstd/tests/tests.cc
+ ofstd/tests/tstring.cc
+
+**** Changes from 2013.03.22 (riesmeier)
+
+- Minor fixes in comments. Also made some input parameters "const".
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+**** Changes from 2013.03.21 (riesmeier)
+
+- Minor fixes in comments, e.g. typos.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+
+**** Changes from 2013.03.19 (schlachter)
+
+- Don't include intrin.h on Visual Studio 2005 because of build errors.
+ Affects: oflog/include/dcmtk/oflog/config/win32.h
+
+- Use DcmTagKey's output operator where possible.
+ Affects: dcmdata/libsrc/dcdicdir.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcobject.cc
+
+**** Changes from 2013.03.11 (schlachter)
+
+- Fixed various issues found via cppcheck. Thanks to Per Inge
+ Mathisen <per.mathisen@gmail.com> for the report and suggested fix.
+ Affects: dcmdata/libsrc/mkdictbi.cc
+ dcmnet/libsrc/assoc.cc
+ dcmpstat/apps/dcmmkcrv.cc
+ dcmqrdb/libsrc/dcmqrdbi.cc
+ dcmsign/libsrc/dcsignat.cc
+ oflog/libsrc/striconv.cc
+
+- Update rootconf for changes which were done directly to generated files.
+ Affects: config/rootconf
+
+- Use ".NOTPARALLEL:" to make parallel builds (e.g. -j4) possible.
+ Thanks to Tilman Vogel <tilman@circlecvi.com> for the patch.
+ Affects: Makefile
+
+- Removed unused local variable which shadowed a variable with the same name.
+ Affects: dcmnet/libsrc/scp.cc
+
+- Fixed wrong definition of Value Representation Person Name (PN): Allow empty
+ component groups while still not allowing completely empty PN elements.
+ Thanks to forum user "Hua Cong Danh" for the report.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmdata/include/dcmtk/dcmdata/dcvr*.h
+ dcmdata/libsrc/dcvrpn.cc
+ dcmdata/libsrc/vrscanl.c
+ dcmdata/libsrc/vrscanl.h
+ dcmdata/libsrc/vrscanl.l
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/tchval.cc
+
+**** Changes from 2013.03.08 (riesmeier)
+
+- Fixed various issues in syntax usage output (e.g. inconsistent program name).
+ Affects: dcmwlm/wwwapps/writwlst.cc
+
+**** Changes from 2013.02.15 (onken)
+
+- Added optional status detail when sending C-MOVE response.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+- Make DcmStorageSCU make use of new MoveOriginator feature.
+ Affects: dcmnet/libsrc/dstorscu.cc
+
+- Added (optional) originating C-MOVE AE title and message ID to
+ C-STORE message.
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/dstorscu.cc
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2013.02.13 (riesmeier)
+
+- Added full support for the new Comprehensive 3D SR IOD introduced with
+ Supplement 162.
+ Thanks to forum user "vlad" for the original patch.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h
+ dcmsr/libsrc/dsrc3dcc.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added missing assignment of member variable in setValue() method.
+ Thanks to forum user "vlad" for the report and fix.
+ Affects: dcmsr/libsrc/dsrsc3vl.cc
+
+**** Changes from 2013.02.12 (riesmeier)
+
+- Added new SOP Class UID from Supplement 162 (Comprehensive 3D SR Storage SOP
+ Class) to networking library/tools and to DICOMDIR generation code.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/getscu.man
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Added support for new directory record type "SURFACE SCAN" from Supplement
+ 154 (Optical Surface Scanner Storage SOP Class).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcdirrec.cc
+
+**** Changes from 2013.02.11 (riesmeier)
+
+- Added support for new SOP Class UIDs from Supplement 154 (Optical Surface
+ Scanner Storage SOP Class).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/getscu.man
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added support for final text version of Supplement 154 (Optical Surface
+ Scanner Storage SOP Class) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added support for new attribute Zero Velocity Pixel Value (0018,9810)
+ introduced with CP-1236 to checkAndUpdateVR() method.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+- Added support for CP-1236 to data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2013.01.24 (onken)
+
+- Added checking for incoming C-CANCEL message to DcmSCP. Cleaned up formatting.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/dimcancl.cc
+ dcmnet/libsrc/scp.cc
+
+**** Changes from 2013.01.24 (riesmeier)
+
+- Fixed wrong calculation of returned number of bytes in createAWTBitmap().
+ Thanks to Fu Peng <fupeng@gmail.com> for the report and suggested fix.
+ Affects: dcmimgle/libsrc/dimoimg.cc
+
+**** Changes from 2013.01.22 (schlachter)
+
+- Added missing include for OFendl. Thanks to Markus Mertens
+ <Markus.Mertens@evkb.de> for the report.
+ Affects: oflog/libsrc/striconv.cc
+
+- Fixed compilation when HAVE_STL is defined and std::map is used.
+ Thanks to Markus Mertens <Markus.Mertens@evkb.de> for the report.
+ Affects: dcmnet/libsrc/dccfenmp.cc
+ dcmnet/libsrc/dccfpcmp.cc
+ dcmnet/libsrc/dccfprmp.cc
+ dcmnet/libsrc/dccfrsmp.cc
+ dcmnet/libsrc/dccftsmp.cc
+
+**** Changes from 2013.01.15 (schlachter)
+
+- Removed comment begin from within comment.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+- Documented new features in log4cplus 1.1.0.
+ Affects: CHANGES.361
+ oflog/etc/logger.cfg
+
+- Some cleanup and MSC6-related fixes for dcmnet.
+ Affects: dcmnet/apps/CMakeLists.txt
+ dcmnet/libsrc/CMakeLists.txt
+ dcmnet/tests/CMakeLists.txt
+ dcmnet/tests/Makefile.in
+ dcmnet/tests/tpool.cc
+
+- Added private undefined functions to class DcmThreadSCP.
+ Affects: dcmnet/include/dcmtk/dcmnet/scpthrd.h
+
+- Rebuilt Makefile dependencies.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/libi2d/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimage/libsrc/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpeg/libsrc/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmjpls/libsrc/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/tests/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmqrdb/libsrc/Makefile.dep
+ dcmrt/apps/Makefile.dep
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/tests/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsign/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ dcmwlm/tests/Makefile.dep
+ dcmwlm/wwwapps/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+ oflog/libsrc/Makefile.dep
+
+- Update oflog to log4cplus 1.1.0. New features include an asynchronous
+ appender, log4j- and syslog-compatible UDP appenders, a C interface and lock
+ files to synchronize between two processes writing to the same log file.
+ Added: oflog/include/dcmtk/oflog/asyncap.h
+ oflog/include/dcmtk/oflog/clfsap.h
+ oflog/include/dcmtk/oflog/clogger.h
+ oflog/include/dcmtk/oflog/config/macosx.h
+ oflog/include/dcmtk/oflog/config/windowsh.h
+ oflog/include/dcmtk/oflog/helpers/fileinfo.h
+ oflog/include/dcmtk/oflog/helpers/lockfile.h
+ oflog/include/dcmtk/oflog/helpers/queue.h
+ oflog/include/dcmtk/oflog/helpers/snprintf.h
+ oflog/include/dcmtk/oflog/internal/cygwin32.h
+ oflog/include/dcmtk/oflog/internal/env.h
+ oflog/include/dcmtk/oflog/internal/internal.h
+ oflog/include/dcmtk/oflog/internal/socket.h
+ oflog/include/dcmtk/oflog/log4judp.h
+ oflog/include/dcmtk/oflog/mdc.h
+ oflog/include/dcmtk/oflog/tchar.h
+ oflog/include/dcmtk/oflog/thread/impl/syncimpl.h
+ oflog/include/dcmtk/oflog/thread/impl/syncpmsm.h
+ oflog/include/dcmtk/oflog/thread/impl/syncpthr.h
+ oflog/include/dcmtk/oflog/thread/impl/syncwin.h
+ oflog/include/dcmtk/oflog/thread/impl/thredimp.h
+ oflog/include/dcmtk/oflog/thread/impl/tls.h
+ oflog/include/dcmtk/oflog/thread/syncprim.h
+ oflog/include/dcmtk/oflog/thread/syncpub.h
+ oflog/include/dcmtk/oflog/thread/threads.h
+ oflog/include/dcmtk/oflog/tracelog.h
+ oflog/include/dcmtk/oflog/version.h
+ oflog/libsrc/asyncap.cc
+ oflog/libsrc/clfsap.cc
+ oflog/libsrc/clogger.cc
+ oflog/libsrc/cygwin32.cc
+ oflog/libsrc/env.cc
+ oflog/libsrc/fileinfo.cc
+ oflog/libsrc/lloguser.cc
+ oflog/libsrc/lockfile.cc
+ oflog/libsrc/log4judp.cc
+ oflog/libsrc/logmacro.cc
+ oflog/libsrc/mdc.cc
+ oflog/libsrc/queue.cc
+ oflog/libsrc/snprintf.cc
+ oflog/libsrc/strccloc.cc
+ oflog/libsrc/strcloc.cc
+ oflog/libsrc/striconv.cc
+ oflog/libsrc/tls.cc
+ oflog/libsrc/version.cc
+ Removed: oflog/include/dcmtk/oflog/config/CMakeLists.txt
+ oflog/include/dcmtk/oflog/helpers/CMakeLists.txt
+ oflog/include/dcmtk/oflog/helpers/syncppth.h
+ oflog/include/dcmtk/oflog/helpers/syncprims.h
+ oflog/include/dcmtk/oflog/helpers/threads.h
+ oflog/include/dcmtk/oflog/spi/CMakeLists.txt
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/aclocal.m4
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ dcmdata/include/dcmtk/dcmdata/dcdicdir.h
+ dcmnet/Makefile.in
+ dcmqrdb/libsrc/dcmqrcnf.cc
+ oflog/include/dcmtk/oflog/*
+ oflog/libsrc/CMakeLists.txt
+ oflog/libsrc/Makefile.in
+ oflog/libsrc/*.cc
+ ofstd/include/dcmtk/ofstd/ofmap.h
+ ofstd/include/dcmtk/ofstd/ofstring.h
+ ofstd/include/dcmtk/ofstd/ofvector.h
+ ofstd/libsrc/ofstring.cc
+
+**** Changes from 2013.01.11 (onken)
+
+- Make sure osconfig.h is included before WITH_THREADS is evaluated.
+ Affects: dcmnet/include/dcmtk/dcmnet/scppool.h
+
+**** Changes from 2013.01.10 (onken)
+
+- Resized buffer for hostname lookup due to possible bug
+ in glibc on Linux systems. Thanks to Peter Klotz
+ <Peter.Klotz@ith-icoserve.com> for the report and patch.
+ Affects: ofstd/libsrc/ofstd.cc
+
+- Make sure that missing value on last element triggers error during parsing.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+**** Changes from 2013.01.09 (onken)
+
+- Initial checkin of SCP pool, threaded SCP and related test.
+ Added DcmSCP functionality to respond to C-FIND, C-MOVE and C-STORE.
+ Added DcmSCP function to disable host lookup.
+ Refactored DcmSCP configuration to reside in extra class.
+ DcmSCP now permits checking of calling and called AE title in derviced classes.
+ Derived DcmSCP classes can now check whether connecting host is granted access.
+ Added: dcmnet/docs/cptscp.dox
+ dcmnet/include/dcmtk/dcmnet/scpcfg.h
+ dcmnet/include/dcmtk/dcmnet/scppool.h
+ dcmnet/include/dcmtk/dcmnet/scpthrd.h
+ dcmnet/libsrc/scpcfg.cc
+ dcmnet/libsrc/scppool.cc
+ dcmnet/libsrc/scpthrd.cc
+ dcmnet/tests/tpool.cc
+ Affects: dcmnet/apps/CMakeLists.txt
+ dcmnet/include/dcmtk/dcmnet/cond.h
+ dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/CMakeLists.txt
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/libsrc/Makefile.in
+ dcmnet/libsrc/cond.cc
+ dcmnet/libsrc/dccfprmp.cc
+ dcmnet/libsrc/scp.cc
+ dcmnet/tests/CMakeLists.txt
+ dcmnet/tests/Makefile.in
+ dcmnet/tests/tests.cc
+ ofstd/tests/tests.cc
+
+- Updated Makefile.dep files, triggered by latest changes in libcharls.
+ Affects: dcmjpls/libcharls/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+
+- Minor documentation fixes.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/include/dcmtk/dcmnet/scpcfg.h
+
+**** Changes from 2013.01.08 (schlachter)
+
+- Added missing include for size_t.
+ Affects: dcmjpls/libcharls/util.h
+
+- Removed use of long long.
+ Affects: dcmjpls/libcharls/config.h
+ dcmjpls/libcharls/header.cc
+ dcmjpls/libcharls/util.h
+
+- Disabled broken wide character support on MSC6.
+ Affects: ofstd/include/dcmtk/ofstd/ofcmdln.h
+ ofstd/include/dcmtk/ofstd/ofconapp.h
+ ofstd/libsrc/ofcmdln.cc
+ ofstd/libsrc/ofconapp.cc
+
+- Don't redefine _LARGEFILE_SOURCE if it is already defined. Thanks to Hans
+ Johnson <hans-johnson@uiowa.edu> for the hint and proposed patch.
+ Affects: CMake/osconfig.h.in
+
+- Only call tolower() with unsigned char argument.
+ Affects: dcmnet/libsrc/dstorscu.cc
+
+- Removed unnecessary incomplete initialisation.
+ Affects: ofstd/libsrc/ofstd.cc
+
+**** Changes from 2013.01.04 (onken)
+
+- Made DcmAssociationConfiguration and underlying classes copy-constructable.
+ Replaced all occurences of DcmSimpleMap with OFMap.
+ Affects: dcmnet/apps/Makefile.dep
+ dcmnet/include/dcmtk/dcmnet/dcasccfg.h
+ dcmnet/include/dcmtk/dcmnet/dccfenmp.h
+ dcmnet/include/dcmtk/dcmnet/dccfpcmp.h
+ dcmnet/include/dcmtk/dcmnet/dccfprmp.h
+ dcmnet/include/dcmtk/dcmnet/dccfrsmp.h
+ dcmnet/include/dcmtk/dcmnet/dccftsmp.h
+ dcmnet/include/dcmtk/dcmnet/dcmsmap.h
+ dcmnet/libsrc/dcasccfg.cc
+ dcmnet/libsrc/dccfenmp.cc
+ dcmnet/libsrc/dccfpcmp.cc
+ dcmnet/libsrc/dccfprmp.cc
+ dcmnet/libsrc/dccfrsmp.cc
+ dcmnet/libsrc/dccftsmp.cc
+ dcmnet/libsrc/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+
+- Added dependencies for latest tmem test.
+ Affects: ofstd/tests/Makefile.dep
+
+- Added possibility to stop storage SCU after sending the current file.
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/libsrc/dstorscu.cc
+
+**** Changes from 2013.01.04 (schlamelcher)
+
+- Fixed OFshared_ptr for VC6.
+ Affects: ofstd/include/dcmtk/ofstd/ofmem.h
+
+**** Changes from 2012.12.21 (onken)
+
+- Fixed intel compiler issue on Mac OS X. Thanks to Hans
+ Johnson <hans-johnson@uiowa.edu> for the hint and proposed patch.
+ Affects: ofstd/libsrc/ofstd.cc
+
+**** Changes from 2012.12.11 (schlachter)
+
+- Fixed test failure on 64 bit systems.
+ Affects: dcmdata/tests/tparser.cc
+
+**** Changes from 2012.12.12 (schlamelcher)
+
+- Fixed error in OFshared_ptr when using Visual Studio 2008.
+ Affects: ofstd/include/dcmtk/ofstd/ofmem.h
+
+**** Changes from 2012.12.11 (schlachter)
+
+- Clear some member variables in destructors.
+ Thanks to forum user "chaircrusher" for the report.
+ Affects: ofstd/libsrc/oflist.cc
+ ofstd/libsrc/ofthread.cc
+
+- Added an OFGlobal for using a different length field size when the VR in an
+ dataset with explicit VR does not match the expected VR from the data
+ dictionary and both VRs have different sizes of their length field.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcobject.h
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcobject.cc
+ dcmdata/tests/tests.cc
+ dcmdata/tests/tparser.cc
+
+- Fixed compilation when libwrap support is disabled.
+ Thanks to forum user "chaircrusher" for the report.
+ Affects: dcmnet/libsrc/dwrap.c
+
+**** Changes from 2012.12.05 (riesmeier)
+
+- Added hint that option --use-xml-namespace is required in order to validate
+ the XML output of dsr2xml against the given XML Schema.
+ Affects: dcmsr/docs/dsr2xml.man
+ dcmsr/docs/xml2dsr.man
+
+**** Changes from 2012.12.04 (schlachter)
+
+- Added C wrapper for hosts_access() to work around ancient libwrap.
+ Thanks to forum user "chaircrusher" for the report.
+ Added: dcmnet/libsrc/dwrap.c
+ Affects: dcmnet/libsrc/CMakeLists.txt
+ dcmnet/libsrc/Makefile.in
+ dcmnet/libsrc/dul.cc
+
+- Use delete[] instead of delete where necessary.
+ Thanks to forum user "yueran" for the report.
+ Affects: dcmwlm/libsrc/wlfsim.cc
+
+- Fixed various memory leaks. Thanks to forum user "yueran" for the report.
+ Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h
+ dcmwlm/libsrc/wlfsim.cc
+
+**** Changes from 2012.11.27 (schlachter)
+
+- Update CharLS to version 1.0.
+ Affects: dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
+ dcmjpls/libcharls/*.h
+ dcmjpls/libcharls/*.cc
+
+- Added defines for new CMake checks to osconfig.h.in
+ Affects: CMake/osconfig.h.in
+
+**** Changes from 2012.11.22 (schlamelcher)
+
+- Introduced OFshared_ptr implementing a subset of c++11's std::shared_ptr.
+ Added: ofstd/include/dcmtk/ofstd/ofmem.h
+ ofstd/tests/tmem.cc
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ config/aclocal.m4
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ ofstd/tests/CMakeLists.txt
+ ofstd/tests/Makefile.in
+ ofstd/tests/tests.cc
+
+**** Changes from 2012.11.22 (riesmeier)
+
+- Added support for CP-1234 (Chinese character sets GBK and GB2312).
+ Affects: dcmdata/libsrc/dcspchrs.cc
+
+- Added note to the documentation of the class DcmSpecificCharacterSet that
+ only a single value is allowed for the destination character set (i.e. no
+ code extensions).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+
+- Added support for the final text version of Supplement 158 (Retirement of
+ General Purpose Worklist and Procedure Step) to the data dictionary and
+ list of UIDs, i.e. added the prefix "RETIRED_" to some names.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcdictzz.cc
+ dcmdata/libsrc/dcuid.cc
+
+- Added support for CP-1200 and CP-1216 to data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2012.11.21 (schlamelcher)
+
+- Added #define WIN32_LEAN_AND_MEAN to some files to speedup compilation.
+ Affects: ofstd/include/dcmtk/ofstd/ofgrp.h
+ ofstd/include/dcmtk/ofstd/ofnetdb.h
+ ofstd/include/dcmtk/ofstd/ofpwd.h
+
+**** Changes from 2012.11.20 (riesmeier)
+
+- Added new option that allows for reading OW data from file with big endian
+ byte ordering. Might also be used for generating (incorrect) test images.
+ Affects: dcmdata/apps/dump2dcm.cc
+ dcmdata/docs/dump2dcm.man
+
+**** Changes from 2012.11.20 (schlachter)
+
+- Ported the "man2text" target to CMake.
+ Added: doxygen/man2text.sh
+ Affects: doxygen/CMakeLists.txt
+ doxygen/Makefile.in
+
+- Added support for detecting libwrap.
+ Added: CMake/FindWrap.cmake
+ Affects: CMake/3rdparty.cmake
+ CMake/dcmtkPrepare.cmake
+ CMake/osconfig.h.in
+ dcmnet/libsrc/CMakeLists.txt
+
+- Added support for detecting libsndfile on non-Windows platforms.
+ Added: CMake/FindSndfile.cmake
+ Affects: CMake/3rdparty.cmake
+
+- Let "make clean" remove doxygen output again.
+ Affects: doxygen/CMakeLists.txt
+
+**** Changes from 2012.11.13 (schlachter)
+
+- Regenerate the VR scanner with a newer flex version.
+ Affects: dcmdata/libsrc/vrscanl.c
+ dcmdata/libsrc/vrscanl.h
+
+- Ported the generated source commands from Makefile to CMake.
+ Affects: dcmdata/libsrc/CMakeLists.txt
+
+- Added an output file option to internal tools.
+ Affects: dcmdata/libsrc/Makefile.in
+ dcmdata/libsrc/mkdeftag.cc
+ dcmdata/libsrc/mkdictbi.cc
+
+- Added checks for large file support to CMake.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+
+- Remove unneeded library information from the build system.
+ Affects: dcmdata/apps/CMakeLists.txt
+ dcmdata/tests/CMakeLists.txt
+ dcmimage/apps/CMakeLists.txt
+ dcmimgle/apps/CMakeLists.txt
+ dcmjpeg/apps/CMakeLists.txt
+ dcmjpls/apps/CMakeLists.txt
+ dcmnet/apps/CMakeLists.txt
+ dcmnet/libsrc/CMakeLists.txt
+ dcmnet/tests/CMakeLists.txt
+ dcmpstat/apps/CMakeLists.txt
+ dcmqrdb/apps/CMakeLists.txt
+ dcmrt/apps/CMakeLists.txt
+ dcmrt/tests/CMakeLists.txt
+ dcmsign/apps/CMakeLists.txt
+ dcmsr/apps/CMakeLists.txt
+ dcmsr/tests/CMakeLists.txt
+ dcmwlm/apps/CMakeLists.txt
+ dcmwlm/wwwapps/CMakeLists.txt
+ ofstd/tests/CMakeLists.txt
+
+- Remove the test runner on "make clean".
+ Affects: dcmnet/tests/Makefile.in
+
+- Fix detecting of iconv() arguments when LIBICONV_DIR is set.
+ Thanks to Richard Flay <richardf@acres.com.au> for the patch.
+ Affects: CMake/3rdparty.cmake
+ ofstd/libsrc/ofchrenc.cc
+
+- Use absolute paths to libraries on windows.
+ Thanks to Richard Flay <richardf@acres.com.au> for the patch.
+ Affects: CMake/3rdparty.cmake
+
+**** Changes from 2012.11.06 (schlachter)
+
+- Automatically detect if the second argument to iconv() is const.
+ Affects: CMake/3rdparty.cmake
+ CMake/osconfig.h.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ ofstd/libsrc/ofchrenc.cc
+
+- Correctly detect the processor type on 64 bit windows.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2012.11.05 (riesmeier)
+
+- Added extra '\' to all occurrences of '\n' needed within Doxygen comments.
+ Affects: ofstd/include/dcmtk/ofstd/ofcmdln.h
+
+**** Changes from 2012.11.05 (schlachter)
+
+- Fixed some places where isalpha() & Co are called with char argument.
+ Affects: dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmnet/libsrc/diutil.cc
+ dcmnet/libsrc/dstorscu.cc
+
+- Don't delete needed directories during "make clean" with CMake.
+ Affects: doxygen/CMakeLists.txt
+
+**** Changes from 2012.11.02 (riesmeier)
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/*
+
+- Fixed bug in image scaling algorithm reducePixel().
+ Comparing two double values for equality is usually a bad idea. Better check
+ whether the difference falls below a certain threshold (e.g. 0.00001).
+ Thanks to Takeo Satomi <takeo.satomi@gmail.com> for the original report.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/discalet.h
+
+- Made more clear what getOutputData() and other output methods return in case
+ of monochrome and color images, i.e. enhanced the existing API documentation.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
+
+- Updated information on latest CMake version that has been tested to "2.8.10".
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2012.11.01 (riesmeier)
+
+- Fixed memory leak in createWindowsDIB() for 8-bit grayscale images.
+ Thanks to Hans Kluijtmans <hans.kluijtmans@topcon.eu> for the report.
+ Affects: dcmimgle/libsrc/dimoimg.cc
+
+**** Changes from 2012.10.31 (schlachter)
+
+- Fix some inconsistent macro names and improve the documentation.
+ Affects: CMake/dcmtkPrepare.cmake
+ CMake/osconfig.h.in
+ config/Makefile.def.in
+ config/docs/macros.txt
+ ofstd/include/dcmtk/ofstd/ofexport.h
+
+- Fix building with DCMTK_SINGLE_SHARED_LIBRARY.
+ Affects: CMake/dcmtkMacros.cmake
+ CMake/dcmtkPrepare.cmake
+ ofstd/include/dcmtk/ofstd/ofexport.h
+
+**** Changes from 2012.10.30 (riesmeier)
+
+- Added further options to DCMTK's CMake configuration file for external
+ projects (DCMTK_SHARED_LIBRARIES and DCMTK_SINGLE_SHARED_LIBRARY).
+ Affects: CMake/DCMTKConfig.cmake.in
+
+- Explicitly set DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS to OFF on Unix systems.
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2012.10.26 (schlachter)
+
+- Improved error message for missing configure scripts.
+ Affects: configure
+
+**** Changes from 2012.10.25 (riesmeier)
+
+- Replaced general CMake variable "CMAKE_CURRENT_BINARY_DIR" by the more
+ specific "DCMTK_BINARY_DIR" in an INSTALL() command.
+ Affects: CMakeLists.txt
+
+- Added missing ' in a comment.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+
+**** Changes from 2012.10.24 (riesmeier)
+
+- Fixed typo in comment.
+ Affects: dcmrt/include/dcmtk/dcmrt/drttypes.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+
+**** Changes from 2012.10.22 (riesmeier)
+
+- Added support for new optional Return Key Attributes: StudyDate, StudyTime
+ and IssuerOfPatientID. The latter is required for the IHE Eye Care Workflow.
+ Affects: dcmwlm/docs/wlmscpfs.man
+ dcmwlm/include/dcmtk/dcmwlm/wlds.h
+ dcmwlm/libsrc/wlds.cc
+
+**** Changes from 2012.10.22 (schlachter)
+
+- Rebuilt Makefile dependencies (and removed unwanted libiconv dependencies).
+ Affects: ofstd/libsrc/Makefile.dep
+
+- Minor improvements and fixes to the medium-level API.
+ Affects: dcmrt/include/dcmtk/dcmrt/drmimage.h
+ dcmrt/libsrc/drmdose.cc
+ dcmrt/libsrc/drmimage.cc
+ dcmrt/libsrc/drmstrct.cc
+
+- Rebuilt Makefile dependencies.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/libi2d/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimage/libsrc/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpeg/libsrc/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmjpls/libsrc/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsign/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ dcmwlm/tests/Makefile.dep
+ dcmwlm/wwwapps/Makefile.dep
+ oflog/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+
+- Add a missing DCMTK_OFSTD_EXPORT annotation.
+ Affects: ofstd/include/dcmtk/ofstd/ofnetdb.h
+
+**** Changes from 2012.10.11 (schlachter)
+
+- Fix linking of DLLs when BUILD_APPS is disabled.
+ Affects: CMake/dcmtkMacros.cmake
+
+- Improve example for accessing a dose image.
+ Affects: dcmrt/docs/dcmrt.dox
+
+**** Changes from 2012.10.10 (riesmeier)
+
+- Renamed test program to comply with DCMTK's naming conventions.
+ Added: dcmrt/tests/tsearch.cc
+ Removed: dcmrt/tests/rtsearch.cc
+ Affects: dcmrt/tests/CMakeLists.txt
+ dcmrt/tests/Makefile.dep
+ dcmrt/tests/Makefile.in
+ dcmrt/tests/tests.cc
+
+**** Changes from 2012.10.09 (riesmeier)
+
+- Renamed all drtstruct.* files to drtstrct.* to stay within 8.3 characters.
+ Added: dcmrt/include/dcmtk/dcmrt/drtstrct.h
+ dcmrt/libsrc/drtstrct.cc
+ Removed: dcmrt/include/dcmtk/dcmrt/drtstruct.h
+ dcmrt/libsrc/drtstruct.cc
+ Affects: dcmrt/apps/drtdump.cc
+ dcmrt/apps/Makefile.dep
+ dcmrt/include/dcmtk/dcmrt/drmstrct.h
+ dcmrt/libsrc/CMakeLists.txt
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/libsrc/Makefile.in
+ dcmrt/tests/Makefile.dep
+ dcmrt/tests/drttest.cc
+
+**** Changes from 2012.10.09 (schlachter)
+
+- Properly initialized member variables in constructor.
+ Thanks to Dr. Michael Heber <mheber.aup@t-online.de> for the report.
+ Affects: dcmjpls/libcharls/header.cc
+
+- Added some helper functions for speeding up common tasks.
+ Added: dcmrt/include/dcmtk/dcmrt/drmdose.h
+ dcmrt/include/dcmtk/dcmrt/drmimage.h
+ dcmrt/include/dcmtk/dcmrt/drmplan.h
+ dcmrt/include/dcmtk/dcmrt/drmsrch.h
+ dcmrt/include/dcmtk/dcmrt/drmstrct.h
+ dcmrt/libsrc/drmdose.cc
+ dcmrt/libsrc/drmimage.cc
+ dcmrt/libsrc/drmplan.cc
+ dcmrt/libsrc/drmstrct.cc
+ dcmrt/tests/rtsearch.cc
+ dcmrt/tests/tests.cc
+ Affects: dcmrt/apps/Makefile.dep
+ dcmrt/docs/dcmrt.dox
+ dcmrt/libsrc/CMakeLists.txt
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/libsrc/Makefile.in
+ dcmrt/tests/CMakeLists.txt
+ dcmrt/tests/Makefile.dep
+ dcmrt/tests/Makefile.in
+
+- Forcefully disable BUILD_APPS when BUILD_SINGLE_SHARED_LIBRARY is enabled.
+ Affects: CMake/dcmtkMacros.cmake
+ CMake/dcmtkPrepare.cmake
+
+**** Changes from 2012.10.08 (riesmeier)
+
+- Added new CMake option BUILD_APPS that allows for disabling the compilation
+ and installation of the various command line applications.
+ Affects: CMake/dcmtkMacros.cmake
+ CMake/dcmtkPrepare.cmake
+ INSTALL
+
+- Updated information on latest CMake version that has been tested to "2.8.9".
+ Affects: CMake/dcmtkPrepare.cmake
+
+**** Changes from 2012.10.04 (riesmeier)
+
+- Added support for Windows-specific wide character encoding (UTF-16) to the
+ pathExists(), dirExists(), isReadable() and isWriteable() methods.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2012.10.02 (schlachter)
+
+- Add a missing DCMTK_DCMDATA_EXPORT annotation.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcfilter.h
+
+- Only strip the installed binaries if a strip utility is available.
+ Thanks to Paolo Marcheschi <paolo.marcheschi@ftgm.it> for the report.
+ Affects: config/Makefile.def.in
+ config/configure
+ config/configure.in
+ config/templates/Makefile.src
+ dcmdata/apps/Makefile.in
+ dcmimage/apps/Makefile.in
+ dcmimgle/apps/Makefile.in
+ dcmjpeg/apps/Makefile.in
+ dcmjpls/apps/Makefile.in
+ dcmnet/apps/Makefile.in
+ dcmpstat/apps/Makefile.in
+ dcmqrdb/apps/Makefile.in
+ dcmrt/apps/Makefile.in
+ dcmsign/apps/Makefile.in
+ dcmsr/apps/Makefile.in
+ dcmwlm/apps/Makefile.in
+ dcmwlm/wwwapps/Makefile.in
+
+- Move the INSTALL()-call into DCMTK_ADD_LIBRARY().
+ Affects: CMake/dcmtkMacros.cmake
+ dcmdata/libi2d/CMakeLists.txt
+ dcmdata/libsrc/CMakeLists.txt
+ dcmimage/libsrc/CMakeLists.txt
+ dcmimgle/libsrc/CMakeLists.txt
+ dcmjpeg/libijg12/CMakeLists.txt
+ dcmjpeg/libijg16/CMakeLists.txt
+ dcmjpeg/libijg8/CMakeLists.txt
+ dcmjpeg/libsrc/CMakeLists.txt
+ dcmjpls/libcharls/CMakeLists.txt
+ dcmjpls/libsrc/CMakeLists.txt
+ dcmnet/libsrc/CMakeLists.txt
+ dcmpstat/libsrc/CMakeLists.txt
+ dcmqrdb/libsrc/CMakeLists.txt
+ dcmrt/libsrc/CMakeLists.txt
+ dcmsign/libsrc/CMakeLists.txt
+ dcmsr/libsrc/CMakeLists.txt
+ dcmtls/libsrc/CMakeLists.txt
+ dcmwlm/libsrc/CMakeLists.txt
+ oflog/libsrc/CMakeLists.txt
+ ofstd/libsrc/CMakeLists.txt
+
+- Turn DCMTK_SETUP_EXECUTABLE into a wrapper around ADD_EXECUTABLE().
+ Affects: CMake/dcmtkMacros.cmake
+ dcmdata/apps/CMakeLists.txt
+ dcmdata/tests/CMakeLists.txt
+ dcmimage/apps/CMakeLists.txt
+ dcmimgle/apps/CMakeLists.txt
+ dcmjpeg/apps/CMakeLists.txt
+ dcmjpls/apps/CMakeLists.txt
+ dcmnet/apps/CMakeLists.txt
+ dcmnet/tests/CMakeLists.txt
+ dcmpstat/apps/CMakeLists.txt
+ dcmqrdb/apps/CMakeLists.txt
+ dcmrt/apps/CMakeLists.txt
+ dcmrt/tests/CMakeLists.txt
+ dcmsign/apps/CMakeLists.txt
+ dcmsr/apps/CMakeLists.txt
+ dcmsr/tests/CMakeLists.txt
+ dcmwlm/apps/CMakeLists.txt
+ dcmwlm/wwwapps/CMakeLists.txt
+ ofstd/tests/CMakeLists.txt
+
+- Move the INSTALL()-call into DCMTK_ADD_EXECUTABLE().
+ Affects: CMake/dcmtkMacros.cmake
+ dcmdata/apps/CMakeLists.txt
+ dcmimage/apps/CMakeLists.txt
+ dcmimgle/apps/CMakeLists.txt
+ dcmjpeg/apps/CMakeLists.txt
+ dcmjpls/apps/CMakeLists.txt
+ dcmnet/apps/CMakeLists.txt
+ dcmpstat/apps/CMakeLists.txt
+ dcmqrdb/apps/CMakeLists.txt
+ dcmrt/apps/CMakeLists.txt
+ dcmsign/apps/CMakeLists.txt
+ dcmsr/apps/CMakeLists.txt
+ dcmwlm/apps/CMakeLists.txt
+ dcmwlm/wwwapps/CMakeLists.txt
+
+- Make it possible to build the whole toolkit as a single shared library.
+ Added: CMake/dcmtkAfterModules.cmake
+ CMake/dcmtkPrepare.cmake
+ Removed: CMake/DCMTK.cmake
+ Affects: CMake/dcmtkMacros.cmake
+ CMakeLists.txt
+ INSTALL
+ dcmdata/apps/CMakeLists.txt
+ dcmdata/libi2d/CMakeLists.txt
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/tests/CMakeLists.txt
+ dcmimage/apps/CMakeLists.txt
+ dcmimage/libsrc/CMakeLists.txt
+ dcmimgle/apps/CMakeLists.txt
+ dcmimgle/libsrc/CMakeLists.txt
+ dcmjpeg/apps/CMakeLists.txt
+ dcmjpeg/libsrc/CMakeLists.txt
+ dcmjpls/apps/CMakeLists.txt
+ dcmjpls/libsrc/CMakeLists.txt
+ dcmnet/apps/CMakeLists.txt
+ dcmnet/libsrc/CMakeLists.txt
+ dcmnet/tests/CMakeLists.txt
+ dcmpstat/apps/CMakeLists.txt
+ dcmpstat/libsrc/CMakeLists.txt
+ dcmqrdb/apps/CMakeLists.txt
+ dcmqrdb/libsrc/CMakeLists.txt
+ dcmrt/apps/CMakeLists.txt
+ dcmrt/libsrc/CMakeLists.txt
+ dcmrt/tests/CMakeLists.txt
+ dcmsign/apps/CMakeLists.txt
+ dcmsign/libsrc/CMakeLists.txt
+ dcmsr/apps/CMakeLists.txt
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/tests/CMakeLists.txt
+ dcmtls/libsrc/CMakeLists.txt
+ dcmwlm/apps/CMakeLists.txt
+ dcmwlm/libsrc/CMakeLists.txt
+ dcmwlm/wwwapps/CMakeLists.txt
+ oflog/libsrc/CMakeLists.txt
+ ofstd/libsrc/CMakeLists.txt
+ ofstd/tests/CMakeLists.txt
+
+- Fixed a scope issue with MSC6.
+ Affects: ofstd/libsrc/ofstd.cc
+
+**** Changes from 2012.10.01 (schlachter)
+
+- Print a warning when reading an UN element as a sequence.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+- Turn DCMTK_SETUP_LIBRARY into a wrapper around ADD_LIBRARY().
+ Affects: CMake/dcmtkMacros.cmake
+ dcmdata/libi2d/CMakeLists.txt
+ dcmdata/libsrc/CMakeLists.txt
+ dcmimage/libsrc/CMakeLists.txt
+ dcmimgle/libsrc/CMakeLists.txt
+ dcmjpeg/libijg12/CMakeLists.txt
+ dcmjpeg/libijg16/CMakeLists.txt
+ dcmjpeg/libijg8/CMakeLists.txt
+ dcmjpeg/libsrc/CMakeLists.txt
+ dcmjpls/libcharls/CMakeLists.txt
+ dcmjpls/libsrc/CMakeLists.txt
+ dcmnet/libsrc/CMakeLists.txt
+ dcmpstat/libsrc/CMakeLists.txt
+ dcmqrdb/libsrc/CMakeLists.txt
+ dcmrt/libsrc/CMakeLists.txt
+ dcmsign/libsrc/CMakeLists.txt
+ dcmsr/libsrc/CMakeLists.txt
+ dcmtls/libsrc/CMakeLists.txt
+ dcmwlm/libsrc/CMakeLists.txt
+ oflog/libsrc/CMakeLists.txt
+ ofstd/libsrc/CMakeLists.txt
+
+**** Changes from 2012.09.28 (schlachter)
+
+- Add a CMake cache variable for the list of modules that are built.
+ Affects: CMakeLists.txt
+
+- Fixed bug where writing a sequences with VR UN failed.
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcpixel.h
+ dcmdata/libsrc/dcpixel.cc
+ dcmdata/tests/dctmacro.h
+ dcmdata/tests/tests.cc
+ dcmdata/tests/tparser.cc
+
+- Added a "help" target to the main Makefile.
+ Affects: Makefile
+ config/rootconf
+
+**** Changes from 2012.09.28 (riesmeier)
+
+- Fixed copy-and-paste bug in checkPixelExtension().
+ Thanks to Gareth Sylvester-Bradley <garethsb@gmail.com> for the report.
+ Affects: dcmimgle/libsrc/diimage.cc
+
+- Fixed typos and text formatting.
+ Affects: dcmdata/tests/tfilter.cc
+ ofstd/include/dcmtk/ofstd/ofgrp.h
+ ofstd/include/dcmtk/ofstd/ofnetdb.h
+ ofstd/include/dcmtk/ofstd/ofpwd.h
+
+- Rebuilt Makefile dependencies (and removed unwanted libxml dependencies).
+ Affects: dcmdata/apps/Makefile.dep
+
+- Fixed numerous typos and added missing "dcmtk/config/osconfig.h" include.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcfilter.h
+ dcmdata/libsrc/dcfilter.cc
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+
+**** Changes from 2012.09.27 (schlamelcher)
+
+- Introduced initial dataset filter that filters based on attribute values.
+ Added: dcmdata/include/dcmtk/dcmdata/dcfilter.h
+ dcmdata/libsrc/dcfilter.cc
+ dcmdata/tests/tfilter.cc
+ Affects: dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.in
+ dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+ ofstd/include/dcmtk/ofstd/ofalgo.h
+
+**** Changes from 2012.09.21 (schlachter)
+
+- Added conflict checks between --fork/--inetd and --{rename,exec}-on-eostudy.
+ Thanks to forum user "dimitri" for the report.
+ Affects: dcmnet/apps/storescp.cc
+ dcmnet/docs/storescp.man
+
+**** Changes from 2012.09.21 (riesmeier)
+
+- Removed unneeded output of start time to the logger. Each line that is output
+ to the logger has a timestamp if the logger is configured appropriately.
+ Affects: dcmpstat/apps/Makefile.dep
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmqrdb/libsrc/Makefile.dep
+ dcmqrdb/libsrc/dcmqrptb.cc
+
+- Made virtual notification methods protected because they should never be
+ called from outside of this class.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+- Fixed various typos in comments. Also slightly changed formatting and added
+ newlines where appropriate.
+ Thanks to Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> for the report.
+ Affects: ofstd/include/dcmtk/ofstd/ofnetdb.h
+
+**** Changes from 2012.09.20 (riesmeier)
+
+- Always use SI units for output, i.e. "min" for minute instead of "m".
+ Affects: ofstd/libsrc/oftimer.cc
+
+**** Changes from 2012.09.19 (schlachter)
+
+- Fixed handling of strings with embedded NULL bytes.
+ Thanks to Heyo Spekker <spekker@icsmed.de> for reporting this issue.
+ Added: dcmnet/tests/CMakeLists.txt
+ dcmnet/tests/Makefile.dep
+ dcmnet/tests/tdump.cc
+ dcmnet/tests/tests.cc
+ Affects: dcmnet/CMakeLists.txt
+ dcmnet/libsrc/dimdump.cc
+ dcmnet/tests/Makefile.in
+ ofstd/include/dcmtk/ofstd/oftest.h
+
+**** Changes from 2012.09.19 (riesmeier)
+
+- Added check for consistent UID values in DICOM dataset and transfer list.
+ Differences are usually a result of inconsistent values in meta-header and
+ dataset, so reporting a warning message might be a good idea.
+ Affects: dcmnet/libsrc/dstorscu.cc
+
+**** Changes from 2012.09.17 (schlachter)
+
+- Fixed a brown-paper-bag typo.
+ Affects: CMake/DCMTK.cmake
+
+- Fixed minor compiler warnings.
+ Affects: ofstd/libsrc/ofstd.cc
+
+**** Changes from 2012.09.14 (riesmeier)
+
+- Added notification method that is called while sending SOP instances.
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/libsrc/dstorscu.cc
+
+- Fixed minor issue in comment.
+ Affects: dcmjpeg/include/dcmtk/dcmjpeg/djutils.h
+
+**** Changes from 2012.09.13 (riesmeier)
+
+- Fixed small typo in log message.
+ Affects: dcmnet/apps/dcmsend.cc
+
+**** Changes from 2012.09.11 (riesmeier)
+
+- Fixed wrong VR for DICONDE attribute Sensor Name (0014,3022).
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Reverted attribute names for tags (0022,1044) and (0022,1135) after feedback
+ from DICOM WG-6 or rather the editor of the DICOM standard David Clunie.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2012.09.11 (onken)
+
+- Adapted comments to coding style and re-newed copyright header.
+ Affects: dcmdata/include/dcmdata/dcddirif.h
+
+**** Changes from 2012.09.10 (onken)
+
+- Made static helper function accessible from outside.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/libsrc/dcddirif.cc
+
+**** Changes from 2012.09.10 (riesmeier)
+
+- Reverted tag definition for Row/ColumnPositionInTotalImagePixelMatrix after
+ rechecking with DICOM WG-6 and comparing with Supplement 145 (WSI). Also
+ changed attribute names for tags (0022,1044) and (0022,1135) in order to
+ be consistent with part 6 of the DICOM 2011 standard.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Replaced remaining tabs by spaces and fixed indention.
+ Affects: dcmnet/libsrc/dimcmd.cc
+
+- Fixed some minor inconsistencies between the data dictionary and part 6 of
+ the DICOM standard. This mainly affects the spelling of the attribute names.
+ Also added some tags that were missing because they are not used in part 3.
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+ dcmnet/libsrc/dimcmd.cc
+
+- Fixed wrong attribute tags for Row/ColumnPositionInTotalImagePixelMatrix.
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2012.09.07 (riesmeier)
+
+- Changed value of DCMTK_PACKAGE_DATE from "CVS" to "DEV".
+ Affects: CMake/DCMTK.cmake
+ config/configure
+ config/configure.in
+
+- Fixed some tag key constants of recently retired attributes (CP-1138).
+ Affects: dcmrt/libsrc/drtrbs8.cc
+
+- Added support for CP-1137, CP-1138 and CP-1204 to data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2012.09.06 (onken)
+
+- Fixed build for Visual Studio, broken by re-entrant patch.
+ Minor changes to avoid Visual Studio compiler warnings.
+ Affects: dcmqrdb/apps/dcmqrscp.cc
+ ofstd/include/dcmtk/ofstd/ofgrph.h
+ ofstd/include/dcmtk/ofstd/ofnetdb.h
+ ofstd/include/dcmtk/ofstd/ofpwd.h
+ ofstd/libsrc/ofstd.cc
+
+- Added files that were missing in re-entrant patch commit.
+ Added: ofstd/include/dcmtk/ofstd/ofgrph.h
+ ofstd/include/dcmtk/ofstd/ofpwd.h
+ ofstd/include/dcmtk/ofstd/ofnetdb.h
+
+**** Changes from 2012.09.06 (schlamelcher)
+
+- Changed non-reentrant functions to re-entrant counterparts where possible.
+ Added: ofstd/include/dcmtk/ofstd/ofgrp.h
+ ofstd/include/dcmtk/ofstd/ofpwd.h
+ ofstd/include/dcmtk/ofstd/ofnetdb.h
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ dcmdata/libsrc/mkdeftag.cc
+ dcmdata/libsrc/mkdictbi.cc
+ dcmnet/libsrc/dcompat.cc
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulfsm.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmpstat/libsrc/dvpsmsg.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/libsrc/dcmqrptb.cc
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/CMakeLists.txt
+ ofstd/libsrc/ofstd.cc
+ ofstd/libsrc/ofxml.cc
+
+**** Changes from 2012.09.06 (riesmeier)
+
+- Replaced outdated use of ofConsole by COUT.
+ Affects: dcmdata/apps/dcm2pdf.cc
+ dcmdata/apps/pdf2dcm.cc
+
+- Added further classes that might be of interest.
+ Affects: dcmdata/docs/dcmdata.dox
+
+- Removed outdated comment on the use or non-use of ofConsole.
+ Affects: dcmdata/libsrc/dcvr.cc
+
+- Removed useless forward declaration of class OFConsole.
+ Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h
+ dcmwlm/include/dcmtk/dcmwlm/wlmactmg.h
+
+- Replaced 8-bit characters (ISO 8859-1) with their octal representation.
+ Thanks to Hans J. Johnson <hans-johnson@uiowa.edu> for pointing this out.
+ Affects: dcmdata/tests/tchval.cc
+ dcmdata/tests/tvrpn.cc
+ dcmsr/tests/mkreport.cc
+
+- Replaced non-ASCII character by its ASCII equivalent.
+ Thanks to Hans J. Johnson <hans-johnson@uiowa.edu> for pointing this out.
+ Affects: docs/ANNOUNCE.352
+ docs/CHANGES.352
+
+- Fixed wrong parameter name in documentation of fdopen() and removed non-ASCII
+ character.
+ Affects: ofstd/include/dcmtk/ofstd/offile.h
+
+- Adapted indentation and added comments to make more clear that the for loop
+ has an empty body.
+ Thanks to Hans J. Johnson <hans-johnson@uiowa.edu> for pointing this out.
+ Affects: dcmdata/apps/dump2dcm.cc
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Removed warning about extraneous parentheses (clang compiler).
+ Thanks to Hans J. Johnson <hans-johnson@uiowa.edu> for the report and fix.
+ Affects: dcmdata/libi2d/i2djpgs.cc
+ dcmjpls/libcharls/scan.h
+
+- Fixed wrong size value in memset() call, which caused only the first bytes
+ of the memory area to be initialized.
+ Thanks to Hans J. Johnson <hans-johnson@uiowa.edu> for the report and fix.
+ Affects: dcmnet/libsrc/dulfsm.cc
+
+- Fixed minor linguistic error.
+ Thanks to Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> for the patch.
+ Affects: dcmimgle/libsrc/diimage.cc
+
+**** Changes from 2012.09.03 (riesmeier)
+
+- Fixed minor spelling errors.
+ Thanks to Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> for the patch.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/data/SC.dump
+ dcmdata/data/VLP.dump
+ dcmdata/docs/img2dcm.man
+ dcmdata/include/dcmtk/dcmdata/dcpath.h
+ dcmdata/libsrc/dcdicdir.cc
+ dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcpxitem.cc
+ dcmimage/include/dcmtk/dcmimage/dicoopx.h
+ dcmimage/include/dcmtk/dcmimage/dicoopxt.h
+ dcmimgle/docs/dcmdspfn.man
+ dcmimgle/docs/dcod2lum.man
+ dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoimg.h
+ dcmjpeg/apps/dcmcjpeg.cc
+ dcmjpeg/docs/dcmcjpeg.man
+ dcmjpls/libcharls/jpegls.cc
+ dcmnet/docs/findscu.man
+ dcmnet/docs/storescp.man
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/dccfenmp.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmqrdb/apps/dcmqrti.cc
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/docs/dcmqrti.man
+ dcmqrdb/libsrc/dcmqrdbi.cc
+ dcmqrdb/libsrc/dcmqrtis.cc
+ ofstd/include/dcmtk/ofstd/ofthread.h
+
+**** Changes from 2012.08.31 (riesmeier)
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/*
+
+**** Changes from 2012.08.28 (riesmeier)
+
+- Made settings for libsndfile more consistent with other external libraries.
+ Affects: CMake/3rdparty.cmake
+
+**** Changes from 2012.08.27 (riesmeier)
+
+- Added new helper method putAndInsertTagKey() for elements with a VR of "AT".
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2012.08.24 (schlachter)
+
+- Improved logging levels in module dcmpstat.
+ Affects: dcmpstat/libsrc/dcmpstat.cc
+ dcmpstat/libsrc/dviface.cc
+ dcmpstat/libsrc/dvpsab.cc
+ dcmpstat/libsrc/dvpsal.cc
+ dcmpstat/libsrc/dvpscf.cc
+ dcmpstat/libsrc/dvpsda.cc
+ dcmpstat/libsrc/dvpsfs.cc
+ dcmpstat/libsrc/dvpsga.cc
+ dcmpstat/libsrc/dvpsgl.cc
+ dcmpstat/libsrc/dvpsgr.cc
+ dcmpstat/libsrc/dvpsib.cc
+ dcmpstat/libsrc/dvpsov.cc
+ dcmpstat/libsrc/dvpspl.cc
+ dcmpstat/libsrc/dvpspl2.cc
+ dcmpstat/libsrc/dvpspll.cc
+ dcmpstat/libsrc/dvpspr.cc
+ dcmpstat/libsrc/dvpsprt.cc
+ dcmpstat/libsrc/dvpsri.cc
+ dcmpstat/libsrc/dvpsril.cc
+ dcmpstat/libsrc/dvpsrs.cc
+ dcmpstat/libsrc/dvpsrsl.cc
+ dcmpstat/libsrc/dvpssp.cc
+ dcmpstat/libsrc/dvpsspl.cc
+ dcmpstat/libsrc/dvpssv.cc
+ dcmpstat/libsrc/dvpstat.cc
+ dcmpstat/libsrc/dvpstx.cc
+
+**** Changes from 2012.08.23 (schlachter)
+
+- Add BUILD_FOR_SHARED_LIBS flag to the CMake build system. With this flag the
+ built static libraries can be linked into a single shared library. The DCMTK
+ symbols get exported from this library and can be used outside of it.
+ Affects: CMake/DCMTK.cmake
+ CMake/dcmtkMacros.cmake
+ CMake/osconfig.h.in
+ ofstd/include/dcmtk/ofstd/ofexport.h
+
+**** Changes from 2012.08.22 (riesmeier)
+
+- Temporarily disabled support for Windows-specific wide character encoding on
+ MinGW/MSYS systems in order to compile on such environments. However, this
+ only applies to the OFCommandLine and OFConsoleApplication classes.
+ Affects: ofstd/include/dcmtk/ofstd/ofcmdln.h
+ ofstd/include/dcmtk/ofstd/ofconapp.h
+ ofstd/libsrc/ofcmdln.cc
+ ofstd/libsrc/ofconapp.cc
+
+- Made sure that SET_TARGET_PROPERTIES() is not called for MinGW/MSYS systems.
+ Affects: CMake/dcmtkMacros.cmake
+
+- Added missing libiconv include directory (if option enabled).
+ Thanks to Richard Flay <richardf@acres.com.au> for the report.
+ Affects: ofstd/CMakeLists.txt
+
+**** Changes from 2012.08.20 (riesmeier)
+
+- Fixed compilation issue with gcc 3.3 (initialization of non-const reference).
+ Thanks to forum user "spasmous" for the report.
+ Affects: dcmdata/tests/telemlen.cc
+
+**** Changes from 2012.08.16 (riesmeier)
+
+- Added clarifying note that DICONDE tags are now official part of DICOM.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/data/diconde.dic
+
+**** Changes from 2012.08.15 (onken)
+
+- Fixed issue reading meta header due to wrong use of read transfer syntax.
+ Thanks to forum user "nmoraes" for the bug report.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcmetinf.h
+ dcmdata/libsrc/dcfilefo.cc
+
+**** Changes from 2012.08.15 (riesmeier)
+
+- Added initial regression tests for class DSRTree and DSRTreeNodeCursor.
+ Added: dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtree.cc
+ Affects: dcmsr/tests/CMakeLists.txt
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/Makefile.in
+
+- Fixed issue with addNode(), especially when using the AM_beforeCurrent mode.
+ Thanks to forum user "zaq" for the report and suggested fix.
+ Affects: dcmsr/libsrc/dsrtree.cc
+
+**** Changes from 2012.08.02 (onken)
+
+- Explained why Modality LUT is not used for rendering of XA and XRF images.
+ Affects: dcmimgle/libsrc/dimomod.cc
+
+**** Changes from 2012.07.27 (schlamelcher)
+
+- Fixed VC6 protected scope vs nested classes issue in dcmsr.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
+
+**** Changes from 2012.07.26 (riesmeier)
+
+- Added definition for US-ASCII (7-bit) Windows code page.
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/ofchrenc.cc
+
+**** Changes from 2012.07.25 (riesmeier)
+
+- Fixed confusing log message when processing a softcopy presentation state.
+ Thanks to forum user "HackerNeo" for the original report.
+ Affects: dcmimgle/libsrc/dimomod.cc
+
+**** Changes from 2012.07.23 (riesmeier)
+
+- Added output stream operator for class OFFilename.
+ Affects: ofstd/include/dcmtk/ofstd/offile.h
+ ofstd/libsrc/offile.cc
+
+- Moved implementation of class OFFilename to a separate source file.
+ Added: ofstd/libsrc/offile.cc
+ Affects: ofstd/include/dcmtk/ofstd/offile.h
+ ofstd/libsrc/CMakeLists.txt
+ ofstd/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.in
+ ofstd/tests/Makefile.dep
+
+**** Changes from 2012.07.23 (schlachter)
+
+- Finished conversion to new macros for common tasks on libraries/executables.
+ Affects: dcmdata/libi2d/CMakeLists.txt
+ dcmjpeg/libijg12/CMakeLists.txt
+ dcmjpeg/libijg16/CMakeLists.txt
+ dcmjpeg/libijg8/CMakeLists.txt
+ dcmjpls/libcharls/CMakeLists.txt
+
+**** Changes from 2012.07.20 (riesmeier)
+
+- Added support for Windows-specific wide character encoding (UTF-16) to the
+ fileExists() method.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2012.07.19 (onken)
+
+- Added error code for private module dcmenc.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+
+**** Changes from 2012.07.17 (riesmeier)
+
+- Added further options to DCMTK's CMake configuration file for ext. projects
+ (DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS and DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS).
+ Affects: CMake/DCMTKConfig.cmake.in
+
+- Added new section with additional options (DCMTK_WIDE_CHAR_MAIN_FUNCTION).
+ Affects: CMake/DCMTKConfig.cmake.in
+
+- Removed superfluous quotation marks in SET() value.
+ Affects: CMake/DCMTKConfig.cmake.in
+
+- Fixed incorrect term in comment (replaced "library" by "object file").
+ Affects: CMake/DCMTK.cmake
+
+**** Changes from 2012.07.16 (riesmeier)
+
+- Added support for Windows-specific wide character encoding (UTF-16) to the
+ command line interface. Currently, none of the command line tools actually
+ supports this particular representation of Unicode, though.
+ Affects: CMake/DCMTK.cmake
+ CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/docs/macros.txt
+ dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ dcmdata/libsrc/cmdlnarg.cc
+ ofstd/include/dcmtk/ofstd/ofcmdln.h
+ ofstd/include/dcmtk/ofstd/ofconapp.h
+ ofstd/include/dcmtk/ofstd/offile.h
+ ofstd/libsrc/ofcmdln.cc
+ ofstd/libsrc/ofconapp.cc
+
+**** Changes from 2012.07.16 (schlachter)
+
+- Removed outdated CVS/RCS keywords.
+ Affects: (almost everything)
+
+- Fixed a pre-processor check for HAVE_WINDOWS_H.
+ Affects: ofstd/libsrc/ofconapp.cc
+
+**** Changes from 2012.07.13 (schlamelcher)
+
+- Fixed mingw-w64 compilation issues.
+ Affects: CMake/DCMTK.cmake
+ CMake/dcmtkMacros.cmake
+ dcmnet/libsrc/dul.cc
+ ofstd/include/dcmtk/ofstd/offile.h
+ ofstd/libsrc/ofxml.cc
+
+**** Changes from 2012.07.13 (riesmeier)
+
+- Removed file extensions and quotation marks from Windows standard library
+ and object files.
+ Affects: CMake/DCMTK.cmake
+
+**** Changes from 2012.07.12 (riesmeier)
+
+- Made convertToWideCharString()'s input parameter "fromString" const.
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/ofchrenc.cc
+
+- Fixed wrong output format of pixel sequence elements for the DICOM Native
+ Model (according to PS 3.19).
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcpixseq.h
+ dcmdata/libsrc/dcpixseq.cc
+
+**** Changes from 2012.07.11 (riesmeier)
+
+- Fixed wrong attribute name of BulkData element: According to the XML Schema
+ in PS 3.19, the name for the UUID reference is "uuid" and not "UUID".
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
+ Affects: dcmdata/libsrc/dcvrobow.cc
+ dcmdata/libsrc/dcvrof.cc
+
+- Made sure that hexadecimal numbers of attribute tags are always printed in
+ uppercase for the Native Model (as required by the XML Schema in PS 3.19).
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+**** Changes from 2012.07.10 (riesmeier)
+
+- Removed old comment on public DCMTK modules (in contrast to private ones).
+ Affects: CMakeLists.txt
+
+- Check HAVE_WINDOWS_H instead of _WIN32 when using Windows-specific functions.
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/ofchrenc.cc
+
+- Added explicit typecast in order to avoid warnings reported by gcc 4.4.5
+ with additional options.
+ Affects: dcmdata/libsrc/dcswap.cc
+
+**** Changes from 2012.07.09 (schlachter)
+
+- Added macros for common tasks on all libraries/executables.
+ Added: CMake/dcmtkMacros.cmake
+ Removed: CMake/dcmtkAddTests.cmake
+ Affects: CMake/DCMTK.cmake
+ config/changext
+ dcmdata/apps/CMakeLists.txt
+ dcmdata/libsrc/CMakeLists.txt
+ dcmimage/apps/CMakeLists.txt
+ dcmimage/libsrc/CMakeLists.txt
+ dcmimgle/apps/CMakeLists.txt
+ dcmimgle/libsrc/CMakeLists.txt
+ dcmjpeg/apps/CMakeLists.txt
+ dcmjpeg/libsrc/CMakeLists.txt
+ dcmjpls/apps/CMakeLists.txt
+ dcmjpls/libsrc/CMakeLists.txt
+ dcmnet/apps/CMakeLists.txt
+ dcmnet/libsrc/CMakeLists.txt
+ dcmpstat/apps/CMakeLists.txt
+ dcmpstat/libsrc/CMakeLists.txt
+ dcmqrdb/apps/CMakeLists.txt
+ dcmqrdb/libsrc/CMakeLists.txt
+ dcmrt/apps/CMakeLists.txt
+ dcmrt/libsrc/CMakeLists.txt
+ dcmsign/apps/CMakeLists.txt
+ dcmsign/libsrc/CMakeLists.txt
+ dcmsr/apps/CMakeLists.txt
+ dcmsr/libsrc/CMakeLists.txt
+ dcmtls/libsrc/CMakeLists.txt
+ dcmwlm/apps/CMakeLists.txt
+ dcmwlm/libsrc/CMakeLists.txt
+ oflog/libsrc/CMakeLists.txt
+ ofstd/libsrc/CMakeLists.txt
+
+- Removed obsolete list of private modules.
+ Affects: CMakeLists.txt
+
+**** Changes from 2012.07.09 (riesmeier)
+
+- Replaced remaining tabs by spaces.
+ Affects: dcmdata/libsrc/dcswap.cc
+
+- Check HAVE_WINDOWS_H instead of _WIN32 for printing code page identifiers.
+ Affects: ofstd/libsrc/ofconapp.cc
+
+- Replaced Windows-specific wildcard expansion for filenames by "setargv.obj".
+ Affects: CMake/DCMTK.cmake
+ dcmdata/apps/CMakeLists.txt
+ dcmdata/apps/dcm2pdf.cc
+ dcmdata/apps/dcm2xml.cc
+ dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmcrle.cc
+ dcmdata/apps/dcmdrle.cc
+ dcmdata/apps/dcmdump.cc
+ dcmdata/apps/dcmftest.cc
+ dcmdata/apps/dcmgpdir.cc
+ dcmdata/apps/dump2dcm.cc
+ dcmdata/apps/img2dcm.cc
+ dcmdata/apps/mdfconen.cc
+ dcmdata/apps/pdf2dcm.cc
+ dcmdata/apps/xml2dcm.cc
+ dcmimage/apps/CMakeLists.txt
+ dcmimgle/apps/CMakeLists.txt
+ dcmjpeg/apps/CMakeLists.txt
+ dcmjpeg/apps/dcmcjpeg.cc
+ dcmjpeg/apps/dcmdjpeg.cc
+ dcmjpls/apps/CMakeLists.txt
+ dcmjpls/apps/dcmcjpls.cc
+ dcmjpls/apps/dcmdjpls.cc
+ dcmnet/apps/CMakeLists.txt
+ dcmnet/apps/dcmsend.cc
+ dcmnet/apps/echoscu.cc
+ dcmnet/apps/findscu.cc
+ dcmnet/apps/getscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmpstat/apps/CMakeLists.txt
+ dcmpstat/apps/dcmmkcrv.cc
+ dcmpstat/apps/dcmmklut.cc
+ dcmpstat/apps/dcmp2pgm.cc
+ dcmpstat/apps/dcmprscp.cc
+ dcmpstat/apps/dcmprscu.cc
+ dcmpstat/apps/dcmpschk.cc
+ dcmpstat/apps/dcmpsmk.cc
+ dcmpstat/apps/dcmpsprt.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmpstat/apps/dcmpssnd.cc
+ dcmpstat/tests/msgserv.cc
+ dcmqrdb/apps/CMakeLists.txt
+ dcmqrdb/apps/dcmqridx.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/apps/dcmqrti.cc
+ dcmrt/apps/CMakeLists.txt
+ dcmrt/apps/drtdump.cc
+ dcmsign/apps/CMakeLists.txt
+ dcmsign/apps/dcmsign.cc
+ dcmsr/apps/CMakeLists.txt
+ dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+ dcmsr/apps/dsrdump.cc
+ dcmsr/apps/xml2dsr.cc
+ dcmwlm/apps/CMakeLists.txt
+ dcmwlm/apps/wlcefs.cc
+ ofstd/include/dcmtk/ofstd/ofcmdln.h
+ ofstd/include/dcmtk/ofstd/ofconapp.h
+ ofstd/include/dcmtk/ofstd/oftest.h
+
+**** Changes from 2012.07.05 (riesmeier)
+
+- Output the current OEM/ANSI code page identifiers on Windows systems.
+ Affects: ofstd/include/dcmtk/ofstd/ofconapp.h
+ ofstd/libsrc/ofconapp.cc
+
+- Made sure that library "sndfile" is disabled if path is not set.
+ Affects: CMake/3rdparty.cmake
+
+- Removed double blank line at the end of the file.
+ Affects: CMake/DCMTK.cmake
+
+**** Changes from 2012.07.04 (riesmeier)
+
+- Extended support for Windows-specific conversion to and from wide character
+ encoding (UTF-16) by adding an optional "code page identifier" parameter.
+ Also renamed the conversion functions (removed the "UTF8" from the names).
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/ofchrenc.cc
+ ofstd/tests/tchrenc.cc
+ ofstd/tests/tests.cc
+
+**** Changes from 2012.07.03 (riesmeier)
+
+- Make sure that "??" is never used for an unknown VR in the XML output.
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
+ Affects: dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcsequen.cc
+
+**** Changes from 2012.07.02 (schlachter)
+
+- Rebuilt Makefile dependencies.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/libi2d/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimage/libsrc/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpeg/libijg12/Makefile.dep
+ dcmjpeg/libijg16/Makefile.dep
+ dcmjpeg/libijg8/Makefile.dep
+ dcmjpeg/libsrc/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmjpls/libcharls/Makefile.dep
+ dcmjpls/libsrc/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmqrdb/libsrc/Makefile.dep
+ dcmrt/apps/Makefile.dep
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/tests/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsign/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ dcmwlm/tests/Makefile.dep
+ dcmwlm/wwwapps/Makefile.dep
+ oflog/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+ ofstd/tests/Makefile.dep
+
+- Move configure checks to their own file.
+ Added: CMake/DCMTK.cmake
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMakeLists.txt
+
+- Use the current source dir in CMakeLists.txt instead of the top-level one.
+ Affects: CMakeLists.txt
+
+**** Changes from 2012.07.02 (riesmeier)
+
+- Enhanced output of warning message in case the private creator is missing.
+ Fixed some typecast warnings reported by gcc 4.4.5 with additional options.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+- Fixed wrong logger output of File Meta Information Version (0002,0001).
+ Affects: dcmdata/libsrc/dcfilefo.cc
+
+- Fixed wrong error message for conflict check of option --write-binary-data.
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the report.
+ Affects: dcmdata/apps/dcm2xml.cc
+
+**** Changes from 2012.06.29 (riesmeier)
+
+- Added some more simple tests for the integrated XML parser.
+ Affects: ofstd/tests/txml.cc
+
+**** Changes from 2012.06.28 (riesmeier)
+
+- Added comment that DCMTK does not compile when UNICODE or _UNICODE is defined
+ on a Windows system (VisualStudio compiler).
+ Affects: INSTALL
+
+- Fixed various warning messages reported by VisualStudio 2008 and gcc 4.4.5.
+ Affects: dcmpstat/libsrc/dviface.cc
+
+**** Changes from 2012.06.27 (riesmeier)
+
+- Added new method isNested(), which checks whether an element/item is nested
+ in a sequence of items (SQ) element or a top-level/stand-alone element/item.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcobject.h
+ dcmdata/include/dcmtk/dcmdata/dcpxitem.h
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcobject.cc
+ dcmdata/libsrc/dcpxitem.cc
+
+- Fixed wrong name of #include guard (was OFITER_H instead of OFALGO_H).
+ Affects: ofstd/include/dcmtk/ofstd/ofalgo.h
+
+**** Changes from 2012.06.20 (riesmeier)
+
+- Slightly changed the rules for partial access to pixel data to reduce memory
+ consumption (see comment on the CIF_UsePartialAccessToPixelData flag).
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the original patch.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h
+ dcmimgle/include/dcmtk/dcmimgle/diutils.h
+ dcmimage/apps/dcm2pnm.cc
+
+**** Changes from 2012.06.19 (riesmeier)
+
+- Replaced use of OFListIterator by OFListConstIterator for variable
+ declaration in order to compile when HAVE_STL or HAVE_STL_LIST is defined.
+ Affects: ofstd/include/dcmtk/ofstd/oftest.h
+
+**** Changes from 2012.06.15 (riesmeier)
+
+- Added support for writing the current CMake configuration to file in order
+ to be used by external projects. Currently, only very basic configuration
+ settings like version information and some build options are stored.
+ Thanks to Marco Nolden <m.nolden@dkfz-heidelberg.de> for the suggestion.
+ Added: CMake/DCMTKConfig.cmake.in
+ Affects: CMakeLists.txt
+
+**** Changes from 2012.06.13 (riesmeier)
+
+- Added proper definition of "soname" for better shared library support.
+ Thanks to Mario Ceresa <mrceresa@gmail.com> for the original idea and to
+ Mathieu Malaterre <mathieu.malaterre@gmail.com> for the reminder.
+ Affects: CMakeLists.txt
+ dcmdata/libi2d/CMakeLists.txt
+ dcmdata/libsrc/CMakeLists.txt
+ dcmimage/libsrc/CMakeLists.txt
+ dcmimgle/libsrc/CMakeLists.txt
+ dcmjpeg/libijg12/CMakeLists.txt
+ dcmjpeg/libijg16/CMakeLists.txt
+ dcmjpeg/libijg8/CMakeLists.txt
+ dcmjpeg/libsrc/CMakeLists.txt
+ dcmjpls/libcharls/CMakeLists.txt
+ dcmjpls/libsrc/CMakeLists.txt
+ dcmnet/libsrc/CMakeLists.txt
+ dcmpstat/libsrc/CMakeLists.txt
+ dcmqrdb/libsrc/CMakeLists.txt
+ dcmrt/libsrc/CMakeLists.txt
+ dcmsign/libsrc/CMakeLists.txt
+ dcmsr/libsrc/CMakeLists.txt
+ dcmtls/libsrc/CMakeLists.txt
+ dcmwlm/libsrc/CMakeLists.txt
+ oflog/libsrc/CMakeLists.txt
+ ofstd/libsrc/CMakeLists.txt
+
+**** Changes from 2012.06.12 (riesmeier)
+
+- Converted deprecated CMake command SUBDIRS() into ADD_DIRECTORY() calls.
+ Thanks to Hans J. Johnson <hans-johnson@uiowa.edu> for pointing this out.
+ Affects: config/CMakeLists.txt
+ dcmdata/CMakeLists.txt
+ dcmimage/CMakeLists.txt
+ dcmimgle/CMakeLists.txt
+ dcmjpeg/CMakeLists.txt
+ dcmjpls/CMakeLists.txt
+ dcmnet/CMakeLists.txt
+ dcmpstat/CMakeLists.txt
+ dcmqrdb/CMakeLists.txt
+ dcmrt/CMakeLists.txt
+ dcmsign/CMakeLists.txt
+ dcmsr/CMakeLists.txt
+ dcmtls/CMakeLists.txt
+ dcmwlm/CMakeLists.txt
+ oflog/CMakeLists.txt
+ ofstd/CMakeLists.txt
+
+**** Changes from 2012.06.11 (riesmeier)
+
+- Added optional "check" parameter to "set" methods and enhanced documentation.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrcontn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
+ dcmsr/include/dcmtk/dcmsr/dsrdattn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdtitn.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrrefin.h
+ dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h
+ dcmsr/include/dcmtk/dcmsr/dsrscovl.h
+ dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
+ dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcodt.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtextn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtimtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/include/dcmtk/dcmsr/dsruidtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
+ dcmsr/libsrc/dsrcitem.cc
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrcomtn.cc
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrcontn.cc
+ dcmsr/libsrc/dsrcsidl.cc
+ dcmsr/libsrc/dsrdattn.cc
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrdtitn.cc
+ dcmsr/libsrc/dsrimgtn.cc
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrpnmtn.cc
+ dcmsr/libsrc/dsrrefin.cc
+ dcmsr/libsrc/dsrreftn.cc
+ dcmsr/libsrc/dsrsc3vl.cc
+ dcmsr/libsrc/dsrscovl.cc
+ dcmsr/libsrc/dsrsoprf.cc
+ dcmsr/libsrc/dsrstrvl.cc
+ dcmsr/libsrc/dsrtcodt.cc
+ dcmsr/libsrc/dsrtcovl.cc
+ dcmsr/libsrc/dsrtextn.cc
+ dcmsr/libsrc/dsrtimtn.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/libsrc/dsruidtn.cc
+ dcmsr/libsrc/dsrwavvl.cc
+
+**** Changes from 2012.06.04 (riesmeier)
+
+- Moved module for "DICOM in Radiation Therapy" (DCMRT) to the public DCMTK.
+ Please note that this module is not yet complete, because the so-called
+ medium-level API is still missing. Currently, it consists of classes that
+ are generated automatically based on the 2007 edition of the DICOM standard.
+ See "dcmrt/CHANGES" file for details on changes before this merge happened.
+ Added: doxygen/manpages/man1/drtdump.1
+ Affects: CMakeLists.txt
+ COPYRIGHT
+ Makefile
+ README
+ config/modules
+ doxygen/htmldocs.cfg
+ doxygen/htmldocs.dox
+
+- Removed double entry on dcmqrdb module (second one added with last commit).
+ Affects: doxygen/htmldocs.dox
+
+**** Changes from 2012.06.04 (schlachter)
+
+- Added an 'exhaustive' test mode for running slow tests.
+ Affects: ofstd/include/dcmtk/ofstd/oftest.h
+ ofstd/tests/CMakeLists.txt
+ ofstd/tests/Makefile.in
+ ofstd/tests/tests.cc
+ ofstd/tests/toffile.cc
+
+**** Changes from 2012.05.30 (riesmeier)
+
+- Added support for Waveform Storage SOP Classes introduced after 2003 edition
+ of the DICOM standard, i.e. General Audio, Arterial Pulse and Respiratory.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
+ dcmsr/libsrc/dsrwavvl.cc
+
+**** Changes from 2012.05.29 (riesmeier)
+
+- Slightly modified code for using methods from class DcmSequenceOfItems.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/libsrc/dsrcsidl.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrrefin.cc
+ dcmsr/libsrc/dsrsoprf.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added explicit type casts or changed type declaration in order to avoid
+ warnings reported by gcc 4.4.5 (Linux) with additional flags.
+ Affects: dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrreftn.cc
+
+**** Changes from 2012.05.25 (riesmeier)
+
+- Added support for optional Retrieve Location UID (0040,E011) to the class
+ DSRSOPInstanceReferenceList since it is required for IHE XDS-I (see CP-958).
+ Thanks to forum user "xcoder" for pointing this out.
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
+ dcmsr/libsrc/dsrsoprf.cc
+
+- Added note on current limitations of the XML Schema "dsr2xml.xsd".
+ Affects: dcmsr/docs/dsr2xml.man
+ dcmsr/docs/xml2dsr.man
+
+**** Changes from 2012.05.24 (riesmeier)
+
+- Added Windows-specific support for converting between wide character encoding
+ (UTF-16) and UTF-8. No external library is required for this, e.g. libiconv.
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/ofchrenc.cc
+ ofstd/tests/tchrenc.cc
+ ofstd/tests/tests.cc
+
+**** Changes from 2012.05.23 (riesmeier)
+
+- Simplified code of assignment operator since OFList::operator=() now exists.
+ Affects: dcmsr/libsrc/dsrtncsr.cc
+
+**** Changes from 2012.05.15 (riesmeier)
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/*
+
+- Added missing word "directory" to libsndfile warning message.
+ Affects: CMake/3rdparty.cmake
+
+**** Changes from 2012.05.14 (onken)
+
+- Enhanced handling of error codes for C-GET (added explicit support for
+ missing code Ax702 and enhanced recognition of customized 0xCxxx codes.)
+ Affects: dcmtk/dcmnet/scu.cc
+
+**** Changes from 2012.05.14 (schlachter)
+
+- Fixed error reporting for all objects created through a factory.
+ Thanks to Heyo Spekker <spekker@icsmed.de> for reporting this issue.
+ Affects: oflog/libsrc/factory.cc
+
+**** Changes from 2012.05.10 (riesmeier)
+
+- Added explicit type casts to avoid warnings reported by gcc 4.4.5 (Linux)
+ with additional flags.
+ Affects: ofstd/libsrc/ofcmdln.cc
+ ofstd/libsrc/oftime.cc
+ ofstd/tests/tchrenc.cc
+
+**** Changes from 2012.05.08 (riesmeier)
+
+- Output a warning message if value of "maxBytesPerStudy" exceeds upper limit.
+ Thanks to Michal Spacek <tupinek@gmail.com> for the suggested patch.
+ Affects: dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2012.05.07 (riesmeier)
+
+- Added suppport for accessing the parent of a DICOM object/element, i.e. the
+ surrounding structure in the DICOM dataset, in which it is contained. This
+ also includes access to both the parent and the root item.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcobject.h
+ dcmdata/include/dcmtk/dcmdata/dcpxitem.h
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcobject.cc
+ dcmdata/libsrc/dcpixseq.cc
+ dcmdata/libsrc/dcpxitem.cc
+ dcmdata/libsrc/dcsequen.cc
+
+**** Changes from 2012.05.07 (schlachter)
+
+- Fixed a bug in the earlier bug fix where a 32bit int may be shifted by 32.
+ Affects: dcmjpls/libcharls/encodstr.h
+
+- Added a test for the new functions for accessing parent objects and items.
+ Added: dcmdata/tests/dctmacro.h
+ dcmdata/tests/tparent.cc
+ Affects: dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+ dcmdata/tests/tparser.cc
+
+- Fixed a bug in the output buffer flushing which caused a failed assertion.
+ Thanks to forum user "wollet88" for the original report.
+ Affects: dcmjpls/libcharls/encodstr.h
+
+**** Changes from 2012.05.04 (onken)
+
+- Cleaned up includes. Thanks to Michal Spacek <tupinek@gmail.com> for the hint.
+ Fixed plugin functionality to receive list of supported SOP classes.
+ Affects: dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2d.h
+ dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2doutpl.h
+ dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2dplnsc.h
+ dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2dplsc.h
+ dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2dplvlp.h
+ dcmtk/dcmdata/libi2d/i2dplnsc.cc
+ dcmtk/dcmdata/libi2d/i2dplsc.cc
+ dcmtk/dcmdata/libi2d/i2dplvlp.cc
+
+**** Changes from 2012.04.25 (riesmeier)
+
+- Now, also error log messages are disabled by default.
+ Affects: ofstd/include/dcmtk/ofstd/oftest.h
+
+- Made sure that NDEBUG is always defined in release mode when overwriting the
+ compiler flags for Visual Studio on Windows systems, which is the default.
+ Thanks to forum user "wollet88" for the original report.
+ Affects: CMakeLists.txt
+
+**** Changes from 2012.04.19 (riesmeier)
+
+- Updated information on latest CMake version that has been tested to "2.8.8".
+ Affects: CMakeLists.txt
+
+**** Changes from 2012.04.18 (riesmeier)
+
+- Fixed wrong reference to ".txt" files with further documentation. Thanks to
+ Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> for pointing this out.
+ Affects: dcmnet/docs/testing.txt
+
+**** Changes from 2012.04.17 (riesmeier)
+
+- Made it clearer that --search prints the textual dump of the specified tag
+ (consisting of tag, VR, value, etc.) and not only the element's value.
+ Affects: dcmdata/apps/dcmdump.cc
+ dcmdata/docs/dcmdump.man
+
+**** Changes from 2012.04.16 (schlachter)
+
+- Fixed several assignment operators in STL replacement classes.
+ Affects: ofstd/include/dcmtk/ofstd/ofmap.h
+ ofstd/include/dcmtk/ofstd/ofstack.h
+ ofstd/include/dcmtk/ofstd/ofvector.h
+
+**** Changes from 2012.04.13 (riesmeier)
+
+- Avoid crash on Windows systems when prepareCmdLineArgs() is called multiple
+ times. Thanks to Hanno Hugenberg <hanno.hugenberg@gkmedsys.de> for the report
+ and suggested fix.
+ Affects: dcmdata/libsrc/cmdlnarg.cc
+
+- Made sure that VisualStudio does not complain about the redefinition of
+ O_BINARY (moved existing code a few lines down).
+ Affects: dcmdata/libsrc/dcdicdir.cc
+
+**** Changes from 2012.04.12 (riesmeier)
+
+- Added support for CP-1188 to data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added support for CP-1182 (Add SOP Classes to CT/MR Media Profiles).
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+- Added support for CP-1123 to data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2012.04.11 (schlachter)
+
+- Use OFVector instead of OFOrderedSet for the file list.
+ Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h
+ dcmwlm/libsrc/wlfsim.cc
+
+- Fix a narrowing conversion error with gcc 4.7.0. Yay for C++11.
+ Affects: dcmdata/tests/tparser.cc
+
+- Minor change to make gcc 4.7.0 happy.
+ Affects: ofstd/include/dcmtk/ofstd/ofuoset.h
+
+**** Changes from 2012.03.27 (schlachter)
+
+- Use O_BINARY again when writing dicom dirs.
+ Affects: dcmdata/libsrc/dcdicdir.cc
+
+**** Changes from 2012.03.21 (riesmeier)
+
+- Never create temporary DICOMDIR file in "temp" directory in order to avoid
+ possible EXDEV I/O error (Invalid cross-device link).
+ Affects: dcmdata/libsrc/dcdicdir.cc
+
+**** Changes from 2012.03.12 (riesmeier)
+
+- Slightly adapted code in order to avoid unneeded calls to OFString::c_str().
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+- Made sure that the member variable "nonSignificantChars" is also copied in
+ the copy constructor and the assignment operator.
+ Affects: dcmdata/libsrc/dcbytstr.cc
+
+- Added new command line options for parsing incorrectly encoded datasets
+ where the sequence and/or item delimitation items are mixed up.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmdump.cc
+ dcmdata/docs/dcmconv.man
+ dcmdata/docs/dcmdump.man
+
+- Added new parser flag that allows for reading corrupted datasets where the
+ sequence and/or item delimitation items are incorrect (e.g. mixed up).
+ Thanks to Carmen Avram <carmen@pixeldata.ro> for the report and test data.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcobject.h
+ dcmdata/libsrc/dcerror.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcobject.cc
+ dcmdata/libsrc/dcsequen.cc
+ dcmdata/tests/tests.cc
+ dcmdata/tests/tparser.cc
+
+- Updated gcc version number based on the main development system (Linux).
+ Affects: INSTALL
+
+- Output debug message in case access to a storage area is not permitted.
+ Affects: dcmqrdb/libsrc/dcmqrsrv.cc
+
+**** Changes from 2012.03.06 (riesmeier)
+
+- Fixed Doxygen documentation issues: Appended "\" in case "." does not mark
+ the end of a sentence. Also made documentation on DICOMDIR use clearer.
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+
+- Fixed Doxygen documentation issue in subsection title.
+ Affects: dcmpstat/docs/dcmpsprt.man
+
+**** Changes from 2012.02.28 (riesmeier)
+
+- Fixed compilation issue on MinGW/MSYS systems (modified #ifdef statement).
+ Thanks to forum user "martinrame" for the report.
+ Affects: ofstd/libsrc/ofchrenc.cc
+
+**** Changes from 2012.02.24 (riesmeier)
+
+- Updated copyright date.
+ Affects: COPYRIGHT
+
+**** Changes from 2012.02.23 (riesmeier)
+
+- Fixed Doxygen documentation issue: Appended "\" in case "." does not mark
+ the end of a sentence.
+ Affects: ofstd/include/dcmtk/ofstd/ofcond.h
+
+**** Changes from 2012.02.22 (riesmeier)
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/*
+
+**** Changes from 2012.02.21 (riesmeier)
+
+- Removed misplaced export macro (forward declaration of a class).
+ Affects: oflog/include/dcmtk/oflog/socketap.h
+
+- Fixed wrong comment on the time complexity of the swap() function.
+ Affects: ofstd/include/dcmtk/ofstd/ofstring.h
+
+- Added fast, non-throwing swap function to OFFilename class.
+ Thanks to Niels Dekker <C.E.Dekker@lumc.nl> for providing the patch.
+ Affects: ofstd/include/dcmtk/ofstd/offile.h
+
+- Added support for progress notifications while sending and receiving DICOM
+ datasets. Thanks to Michal Spacek <tupinek@gmail.com> for the original patch.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2012.02.20 (riesmeier)
+
+- Replaced tab by space character.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+
+- Minor changes of source code formatting, documentation and the like.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libsrc/dsrimgfr.cc
+ dcmsr/libsrc/dsrsc3gr.cc
+ dcmsr/libsrc/dsrscogr.cc
+ dcmsr/libsrc/dsrscotn.cc
+ dcmsr/libsrc/dsrtcoto.cc
+ dcmsr/libsrc/dsrwavch.cc
+
+- Fixed typo in comment.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/assoc.cc
+ dcmqrdb/libsrc/dcmqrptb.cc
+
+- Rebuilt Makefile dependencies.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/libi2d/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimage/libsrc/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpeg/libijg12/Makefile.dep
+ dcmjpeg/libijg16/Makefile.dep
+ dcmjpeg/libijg8/Makefile.dep
+ dcmjpeg/libsrc/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmjpls/libcharls/Makefile.dep
+ dcmjpls/libsrc/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmqrdb/libsrc/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsign/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ dcmwlm/tests/Makefile.dep
+ dcmwlm/wwwapps/Makefile.dep
+ oflog/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+ ofstd/tests/Makefile.dep
+
+- Added initial support for wide character strings (UTF-16) used for filenames
+ by the Windows operating system. Thanks to Niels Dekker <C.E.Dekker@lumc.nl>
+ and Jeroen Eggermont <J.Eggermont@lumc.nl> for the suggestion.
+ Affects: CMakeLists.txt
+ CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/docs/macros.txt
+ dcmdata/include/dcmtk/dcmdata/dcdatset.h
+ dcmdata/include/dcmtk/dcmdata/dcfilefo.h
+ dcmdata/include/dcmtk/dcmdata/dcistrmf.h
+ dcmdata/include/dcmtk/dcmdata/dcmetinf.h
+ dcmdata/include/dcmtk/dcmdata/dcostrmf.h
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcistrmf.cc
+ dcmdata/libsrc/dcmetinf.cc
+ dcmdata/libsrc/dcostrmf.cc
+ ofstd/include/dcmtk/ofstd/offile.h
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+- Output dataset dump with PF_convertToOctalNumbers flag in case of error.
+ This makes some unusual control characters more visible in the output.
+ Affects: dcmsr/libsrc/dsrdoctn.cc
+
+**** Changes from 2012.02.17 (riesmeier)
+
+- Added missing "stdlib" include, required for free() on some Linux systems.
+ Thanks to Markus Mertens <Markus.Mertens@evkb.de> for the report.
+ Affects: ofstd/include/dcmtk/ofstd/ofcond.h
+
+**** Changes from 2012.02.15 (riesmeier)
+
+- Improved performance of findParam() when used with long list of parameters.
+ Now, the previous parameter position is used for searching (if possible).
+ Affects: ofstd/include/dcmtk/ofstd/ofcmdln.h
+ ofstd/libsrc/ofcmdln.cc
+
+**** Changes from 2012.02.15 (schlachter)
+
+- Removed dependency on static initialization order from OFCondition.
+ All static condition objects are now created via makeOFConditionConst()
+ in a way that doesn't need a constructor to run. This should only break
+ code which defines its own condition objects, all other changes are
+ backwards compatible.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcerror.cc
+ dcmjpeg/include/dcmtk/dcmjpeg/djutils.h
+ dcmjpeg/libsrc/djutils.cc
+ dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
+ dcmjpls/libsrc/djerror.h
+ dcmjpls/libsrc/djutils.cc
+ dcmnet/include/dcmtk/dcmnet/cond.h
+ dcmnet/libsrc/cond.cc
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h
+ dcmqrdb/libsrc/dcmqropt.cc
+ dcmrt/include/dcmtk/dcmrt/drttypes.h
+ dcmrt/libsrc/drttypes.cc
+ dcmsign/include/dcmtk/dcmsign/sitypes.h
+ dcmsign/libsrc/sitypes.cc
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtypes.cc
+ dcmwlm/include/dcmtk/dcmwlm/wltypdef.h
+ ofstd/include/dcmtk/ofstd/ofcond.h
+ ofstd/libsrc/ofcond.cc
+
+- Don't use C++ comments in file included from C.
+ Affects: ofstd/include/dcmtk/ofstd/ofexport.h
+
+- Removed OFCONDITION_STRICT_MODE since DCMTK didn't compile in this mode.
+ Affects: config/docs/macros.txt
+ dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmnet/include/dcmtk/dcmnet/cond.h
+ ofstd/include/dcmtk/ofstd/ofcond.h
+
+**** Changes from 2012.02.14 (riesmeier)
+
+- Added support for Observation UID (0040,A171) to content items (CP-1147).
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/libsrc/dsrcitem.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrreftn.cc
+
+**** Changes from 2012.02.10 (onken)
+
+- Removed duplicate log message when closing an association.
+ Affects: dcmnet/apps/getscu.cc
+
+**** Changes from 2012.02.10 (riesmeier)
+
+- Introduced a new timeout of 60 seconds for the send() function in order to
+ make sure that the association is terminated if the sender looses the
+ connection to the receiver. This can be disabled by DISABLE_SEND_TIMEOUT.
+ Thanks to forum user "Matterhorn" for the original report.
+ Affects: config/docs/macros.txt
+ dcmnet/libsrc/dcmtrans.cc
+
+- Moved setting of timeout for recv() function to the DcmTransportConnection
+ constructor. The previous commit was not really solving the problem.
+ Affects: dcmnet/libsrc/dcmtrans.cc
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/Makefile.dep
+
+- Moved setting of timeout for the recv() function to initializeNetworkTCP(),
+ i.e. now it applies to both incoming and outgoing connections.
+ Affects: dcmnet/libsrc/dul.cc
+
+- Fixed issue with tagExistsWithValue() and compressed PixelData (7fe0,0010).
+ Thanks to forum user "angad" for the original report.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2012.02.08 (schlachter)
+
+- Link libraries against their external dependencies.
+ Affects: dcmdata/libsrc/CMakeLists.txt
+ dcmimage/libsrc/CMakeLists.txt
+ dcmsign/libsrc/CMakeLists.txt
+ dcmsr/libsrc/CMakeLists.txt
+ dcmtls/libsrc/CMakeLists.txt
+ ofstd/libsrc/CMakeLists.txt
+
+**** Changes from 2012.02.07 (riesmeier)
+
+- Added comment about conflicting definition of (0040,A170) in Supplement 23
+ (frozen draft from 1997) and DICOM standard. This might result in parsing
+ errors when reading/processing old trial implementation draft SR documents.
+ Affects: dcmdata/data/dicom.dic
+
+**** Changes from 2012.02.03 (riesmeier)
+
+- Added missing package include statement for "FindPackageHandleStandardArgs".
+ Thanks to Julien Finet <julien.finet@kitware.com> for the report and fix.
+ Affects: CMake/FindICONV.cmake
+
+**** Changes from 2012.02.01 (schlachter)
+
+- Don't call MSVC++ with -fvisibility=hidden.
+ Affects: CMakeLists.txt
+
+- Build the ijg libraries as shared libraries if BUILD_SHARED_LIBS is ON.
+ Affects: dcmjpeg/libijg12/CMakeLists.txt
+ dcmjpeg/libijg12/jmorecfg12.h
+ dcmjpeg/libijg16/CMakeLists.txt
+ dcmjpeg/libijg16/jmorecfg16.h
+ dcmjpeg/libijg8/CMakeLists.txt
+ dcmjpeg/libijg8/jmorecfg8.h
+
+- Moved some definitions to a file that can be included from C.
+ Added: ofstd/include/dcmtk/ofstd/ofexport.h
+ Affects: ofstd/include/dcmtk/ofstd/ofdefine.h
+
+- Build charls as a shared library if BUILD_SHARED_LIBS is ON.
+ Affects: dcmjpls/libcharls/CMakeLists.txt
+ dcmjpls/libcharls/intrface.h
+
+- Corrected CMake's test for strerror_r()'s return value. Thanks to forum
+ user "chaircrusher" for the report.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2012.01.30 (riesmeier)
+
+- Added explicit type cast to avoid warning reporting on Mac OS X with Clang.
+ Thanks to forum user "chaircrusher" for the report and suggested patch.
+ Affects: dcmdata/libsrc/dcvrobow.cc
+
+- Fixed issue reported on Mac OS X with Clang: Only define the macro MAX() if
+ not yet defined somewhere else.
+ Thanks to forum user "chaircrusher" for the report.
+ Affects: dcmwlm/wwwapps/writwlst.cc
+
+- Fixed issue with wrong initialization of member variable "waitMillis".
+ Thanks to forum user "chaircrusher" for the report.
+ Affects: oflog/libsrc/config.cc
+
+**** Changes from 2012.01.27 (elgazzar)
+
+- Added a module number for the dcmkosel module
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+
+**** Changes from 2012.01.26 (riesmeier)
+
+- Removed outdated comment on the main class and revised some other comments.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+
+- Converted (static) class variable to member variable in order to avoid crash
+ on Windows systems (OFCondition instances cannot be used in global objects).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/libsrc/dsrcitem.cc
+
+- Fixed wrong return status when reading an IMAGE content item without icon.
+ Affects: dcmsr/libsrc/dsrimgvl.cc
+
+**** Changes from 2012.01.24 (riesmeier)
+
+- Fixed wrong line break in XML output, which caused problems with the xml2dcm
+ conversion. Thanks to forum user "henry" for the report.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+**** Changes from 2012.01.18 (schlachter)
+
+- Don't use P_tmpdir because in MSC6 this define breaks OFTempFile.
+ Affects: ofstd/libsrc/oftempf.cc
+
+- Made it clearer that CMake also works on non-windows systems.
+ Affects: INSTALL
+
+- Fixed OFPair to compile again on MSC6.
+ Affects: ofstd/include/dcmtk/ofstd/ofmap.h
+
+- Correctly disable warning 4251 with MSC6.
+ Affects: CMakeLists.txt
+ CMake/osconfig.h.in
+
+- Added support for building with hidden visibility.
+ Affects: CMakeLists.txt
+ CMake/osconfig.h.in
+ oflog/include/dcmtk/oflog/config.h
+ oflog/include/dcmtk/oflog/config/win32.h
+ ofstd/include/dcmtk/ofstd/ofdefine.h
+ ofstd/include/dcmtk/ofstd/ofxml.h
+
+**** Changes from 2012.01.12 (riesmeier)
+
+- Added note that the dataset passed to the write method is not cleared.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+
+**** Changes from 2012.01.10 (riesmeier)
+
+- Fixed inconsistent transfer syntax names in given example (added spaces).
+ Thanks to Detlev Hohmeier <detlev.hohmeier@meditec.zeiss.com> for the report.
+ Affects: dcmdata/docs/dcm2xml.man
+ dcmdata/docs/xml2dcm.man
+
+**** Changes from 2012.01.06 (riesmeier)
+
+- Make sure to link LIBTIFF and LIBPNG to programs that use the dcmsr library
+ in order to avoid linker errors when compiling with shared libraries.
+ Affects: dcmsr/apps/CMakeLists.txt
+ dcmsr/apps/Makefile.in
+ dcmsr/tests/CMakeLists.txt
+ dcmsr/tests/Makefile.in
+ dcmpstat/apps/CMakeLists.txt
+ dcmpstat/apps/Makefile.in
+ dcmpstat/tests/Makefile.in
+
+**** Changes from 2012.01.06 (schlachter)
+
+- Replace ${STATIC_ON_WINDOWS} with STATIC.
+ Affects: CMakeLists.txt
+ dcmjpeg/libijg12/CMakeLists.txt
+ dcmjpeg/libijg16/CMakeLists.txt
+ dcmjpeg/libijg8/CMakeLists.txt
+ dcmjpls/libcharls/CMakeLists.txt
+
+- Reintroduce library components which were lost in the DLL commits.
+ Affects: dcmdata/libi2d/CMakeLists.txt
+ dcmdata/libsrc/CMakeLists.txt
+ dcmimage/libsrc/CMakeLists.txt
+ dcmimgle/libsrc/CMakeLists.txt
+ dcmjpeg/libijg12/CMakeLists.txt
+ dcmjpeg/libijg16/CMakeLists.txt
+ dcmjpeg/libijg8/CMakeLists.txt
+ dcmjpeg/libsrc/CMakeLists.txt
+ dcmjpls/libcharls/CMakeLists.txt
+ dcmjpls/libsrc/CMakeLists.txt
+ dcmnet/libsrc/CMakeLists.txt
+ dcmpstat/libsrc/CMakeLists.txt
+ dcmqrdb/libsrc/CMakeLists.txt
+ dcmsign/libsrc/CMakeLists.txt
+ dcmsr/libsrc/CMakeLists.txt
+ dcmtls/libsrc/CMakeLists.txt
+ dcmwlm/libsrc/CMakeLists.txt
+ oflog/libsrc/CMakeLists.txt
+ ofstd/libsrc/CMakeLists.txt
+
+- Make it possible to build dcmpstat as a DLL. Thanks to
+ Thomas Sondergaard <ts@medical-insight.com> for making this possible.
+ Added: dcmpstat/include/dcmtk/dcmpstat/dpdefine.h
+ Affects: dcmpstat/include/dcmtk/dcmpstat/*.h
+ dcmpstat/libsrc/CMakeLists.txt
+
+- Make it possible to build dcmsr as a DLL. Thanks to
+ Thomas Sondergaard <ts@medical-insight.com> for making this possible.
+ Added: dcmsr/include/dcmtk/dcmsr/dsdefine.h
+ Affects: dcmsr/include/dcmtk/dcmsr/*.h
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/dsrimgfr.cc
+ dcmsr/libsrc/dsrtcodt.cc
+ dcmsr/libsrc/dsrtcosp.cc
+ dcmsr/libsrc/dsrtcoto.cc
+
+**** Changes from 2012.01.05 (riesmeier)
+
+- Fixed issue with output of strings with embedded NULL bytes to the logger.
+ Thanks to Michal Spacek <tupinek@gmail.com> for the original report.
+ Affects: ofstd/include/dcmtk/ofstd/ofstream.h
+
+- Fixed issue with old stringstream classes (reported by VisualStudio 2005).
+ Affects: ofstd/include/dcmtk/ofstd/ofstream.h
+
+- Added explicit type casts to keep VisualStudio 2005 quiet.
+ Affects: ofstd/libsrc/ofuuid.cc
+
+**** Changes from 2012.01.04 (riesmeier)
+
+- Updated information on latest CMake version that has been tested to "2.8.7".
+ Affects: CMakeLists.txt
+
+**** Changes from 2012.01.03 (riesmeier)
+
+- Fixed bug in putString() method when a UID name is mapped to a UID number.
+ Thanks to Michal Spacek <tupinek@gmail.com> for the report and suggested fix.
+ Affects: dcmdata/libsrc/dcvrui.cc
+
+- Also link "dcmimage" library, which is now required by the "dcmsr" library.
+ Affects: dcmpstat/apps/CMakeLists.txt
+ dcmpstat/apps/Makefile.in
+
+- Added support for icon image to IMAGE content item (introduced with CP-217).
+ Affects: dcmsr/CMakeLists.txt
+ dcmsr/apps/CMakeLists.txt
+ dcmsr/apps/Makefile.dep
+ dcmsr/apps/Makefile.in
+ dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/CMakeLists.txt
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/Makefile.in
+
+**** Changes from 2011.12.22 (riesmeier)
+
+- Fixed issue with user-defined modality LUT transformation in combination with
+ the processNextFrames() method.
+ Thanks to forum user "jacobscolin" for the original report.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dimopx.h
+ dcmimgle/libsrc/dimoimg.cc
+ dcmimgle/libsrc/dimopx.cc
+
+**** Changes from 2011.12.16 (eichelberg)
+
+- Minor changes for MSVC6 compatibility
+ Affects: dcmnet/apps/getscu.cc
+ dcmwlm/wwwapps/readoviw.cc
+ dcmwlm/wwwapps/readwlst.cc
+
+**** Changes from 2011.12.16 (riesmeier)
+
+- Added support for optional attribute Fiducial UID (0070,031A) to SCOORD and
+ SCOORD3D content items.
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h
+ dcmsr/include/dcmtk/dcmsr/dsrscovl.h
+ dcmsr/libsrc/dsrsc3vl.cc
+ dcmsr/libsrc/dsrscovl.cc
+
+- Added support for 16 bits per sample to PNG image export.
+ Thanks to forum user "AlexanderLysenko" for the original idea.
+ Affects: dcmimage/apps/dcm2pnm.cc
+ dcmimage/docs/dcm2pnm.man
+ dcmimage/include/dcmtk/dcmimage/dipipng.h
+ dcmimage/libsrc/dipipng.cc
+ dcmjpeg/docs/dcmj2pnm.man
+ dcmjpls/docs/dcml2pnm.man
+
+**** Changes from 2011.12.15 (riesmeier)
+
+- Fixed typo in comments.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrstrvl.cc
+ dcmsr/libsrc/dsrwavvl.cc
+
+- Fixed issue in XML Schema: The concept name is optional/conditional for
+ SCOORD, SCOORD3D and TCOORD content items.
+ Affects: dcmsr/data/dsr2xml.xsd
+
+- Added support for optional series-related attributes (Series Date and Series
+ Time). Also improved handling of other study/series-related attributes.
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/dsrdoc.cc
+
+- Added support for additional representations of a numeric value according to
+ CP-1064 (Float VR in numeric SR content items).
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+**** Changes from 2011.12.14 (riesmeier)
+
+- Added initial support for the "Enhanced Encoding Mode", which comprises some
+ optional attributes that further describe a code value.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+
+- Fixed wrong definition of value representation Date Time (DT): All trailing
+ components can be omitted, i.e. the shortest DT value consists of "YYYY".
+ Affects: dcmdata/libsrc/vrscanl.c
+ dcmdata/libsrc/vrscanl.h
+ dcmdata/libsrc/vrscanl.l
+ dcmdata/tests/tchval.cc
+
+- Report a warning if the value of Template Identifier (0040,DB00) does not
+ follow the rules for DICOM template identifiers.
+ Affects: dcmsr/libsrc/dsrdoctn.cc
+
+**** Changes from 2011.12.14 (schlachter)
+
+- Make it possible to build dcmqrdb as a DLL. Thanks to
+ Thomas Sondergaard <ts@medical-insight.com> for making this possible.
+ Added: dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbf.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbg.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbm.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbs.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbs.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrptb.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrtis.h
+ dcmqrdb/libsrc/CMakeLists.txt
+
+- Make it possible to precisely build dcmsign and dcmwlm as DLLs. Thanks to
+ Thomas Sondergaard <ts@medical-insight.com> for doing the hard work.
+ Added: dcmsign/include/dcmtk/dcmsign/sidefine.h
+ dcmwlm/include/dcmtk/dcmwlm/wldefine.h
+ Affects: dcmsign/include/dcmtk/dcmsign/*
+ dcmsign/libsrc/CMakeLists.txt
+ dcmsign/libsrc/dcsignat.cc
+ dcmwlm/include/dcmtk/dcmwlm/wlds.h
+ dcmwlm/include/dcmtk/dcmwlm/wldsfs.h
+ dcmwlm/include/dcmtk/dcmwlm/wlfsim.h
+ dcmwlm/include/dcmtk/dcmwlm/wlmactmg.h
+ dcmwlm/include/dcmtk/dcmwlm/wltypdef.h
+ dcmwlm/libsrc/CMakeLists.txt
+
+- Make it possible to perfectly build dcmnet and dcmtls as DLLs. Thanks to
+ Thomas Sondergaard <ts@medical-insight.com> for making this possible.
+ Added: dcmnet/include/dcmtk/dcmnet/dndefine.h
+ dcmtls/include/dcmtk/dcmtls/tlsdefin.h
+ Affects: dcmnet/include/dcmtk/dcmnet/*
+ dcmnet/libsrc/CMakeLists.txt
+ dcmtls/include/dcmtk/dcmtls/tlslayer.h
+ dcmtls/include/dcmtk/dcmtls/tlsscu.h
+ dcmtls/include/dcmtk/dcmtls/tlstrans.h
+ dcmtls/libsrc/CMakeLists.txt
+ dcmtls/libsrc/tlslayer.cc
+
+- Add some changes which were missing in the previous commit.
+ Affects: dcmjpls/include/dcmtk/dcmjpls/djcodecd.h
+ dcmjpls/include/dcmtk/dcmjpls/djcodece.h
+ dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
+ dcmjpls/include/dcmtk/dcmjpls/djrparam.h
+
+- Make it possible to rightly build dcmjpls as a DLL. Thanks to
+ Thomas Sondergaard <ts@medical-insight.com> for making this possible.
+ Added: dcmjpls/include/dcmtk/dcmjpls/dldefine.h
+ Affects: dcmjpls/include/dcmtk/dcmjpls/djcodecd.h
+ dcmjpls/include/dcmtk/dcmjpls/djcodece.h
+ dcmjpls/include/dcmtk/dcmjpls/djcparam.h
+ dcmjpls/include/dcmtk/dcmjpls/djdecode.h
+ dcmjpls/include/dcmtk/dcmjpls/djencode.h
+ dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
+ dcmjpls/include/dcmtk/dcmjpls/djrparam.h
+ dcmjpls/libcharls/CMakeLists.txt
+ dcmjpls/libsrc/CMakeLists.txt
+
+- Make it possible to decently build dcmjpeg as a DLL. Thanks to
+ Thomas Sondergaard <ts@medical-insight.com> for making this possible.
+ Added: dcmjpeg/include/dcmtk/dcmjpeg/djdefine.h
+ Affects: dcmjpeg/include/dcmtk/dcmjpeg/*
+ dcmjpeg/libijg12/CMakeLists.txt
+ dcmjpeg/libijg16/CMakeLists.txt
+ dcmjpeg/libijg8/CMakeLists.txt
+ dcmjpeg/libsrc/CMakeLists.txt
+
+- Make it possible to nicely build dcmimage as a DLL. Thanks to
+ Thomas Sondergaard <ts@medical-insight.com> for making this possible.
+ Added: dcmimage/include/dcmtk/dcmimage/dicdefin.h
+ Affects: dcmimage/include/dcmtk/dcmimage/diargimg.h
+ dcmimage/include/dcmtk/dcmimage/dicmyimg.h
+ dcmimage/include/dcmtk/dcmimage/dicoimg.h
+ dcmimage/include/dcmtk/dcmimage/dicoopx.h
+ dcmimage/include/dcmtk/dcmimage/dicopx.h
+ dcmimage/include/dcmtk/dcmimage/dihsvimg.h
+ dcmimage/include/dcmtk/dcmimage/dilogger.h
+ dcmimage/include/dcmtk/dcmimage/dipalimg.h
+ dcmimage/include/dcmtk/dcmimage/dipipng.h
+ dcmimage/include/dcmtk/dcmimage/dipitiff.h
+ dcmimage/include/dcmtk/dcmimage/diqtctab.h
+ dcmimage/include/dcmtk/dcmimage/diqtfs.h
+ dcmimage/include/dcmtk/dcmimage/diqthash.h
+ dcmimage/include/dcmtk/dcmimage/diqthitl.h
+ dcmimage/include/dcmtk/dcmimage/diqthitm.h
+ dcmimage/include/dcmtk/dcmimage/diqtid.h
+ dcmimage/include/dcmtk/dcmimage/diqtpbox.h
+ dcmimage/include/dcmtk/dcmimage/diqtpix.h
+ dcmimage/include/dcmtk/dcmimage/diqtstab.h
+ dcmimage/include/dcmtk/dcmimage/diqttype.h
+ dcmimage/include/dcmtk/dcmimage/diquant.h
+ dcmimage/include/dcmtk/dcmimage/diregist.h
+ dcmimage/include/dcmtk/dcmimage/dirgbimg.h
+ dcmimage/include/dcmtk/dcmimage/diybrimg.h
+ dcmimage/include/dcmtk/dcmimage/diyf2img.h
+ dcmimage/include/dcmtk/dcmimage/diyp2img.h
+ dcmimage/libsrc/CMakeLists.txt
+
+- Make it possible to properly build dcmimgle as a DLL. Thanks to
+ Thomas Sondergaard <ts@medical-insight.com> for making this possible.
+ Added: dcmimgle/include/dcmtk/dcmimgle/didefine.h
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
+ dcmimgle/include/dcmtk/dcmimgle/dibaslut.h
+ dcmimgle/include/dcmtk/dcmimgle/diciefn.h
+ dcmimgle/include/dcmtk/dcmimgle/dicielut.h
+ dcmimgle/include/dcmtk/dcmimgle/didislut.h
+ dcmimgle/include/dcmtk/dcmimgle/didispfn.h
+ dcmimgle/include/dcmtk/dcmimgle/didocu.h
+ dcmimgle/include/dcmtk/dcmimgle/digsdfn.h
+ dcmimgle/include/dcmtk/dcmimgle/digsdlut.h
+ dcmimgle/include/dcmtk/dcmimgle/diimage.h
+ dcmimgle/include/dcmtk/dcmimgle/diinpx.h
+ dcmimgle/include/dcmtk/dcmimgle/diluptab.h
+ dcmimgle/include/dcmtk/dcmimgle/dimo1img.h
+ dcmimgle/include/dcmtk/dcmimgle/dimo2img.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoimg.h
+ dcmimgle/include/dcmtk/dcmimgle/dimomod.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoopx.h
+ dcmimgle/include/dcmtk/dcmimgle/dimopx.h
+ dcmimgle/include/dcmtk/dcmimgle/diobjcou.h
+ dcmimgle/include/dcmtk/dcmimgle/diovdat.h
+ dcmimgle/include/dcmtk/dcmimgle/diovlay.h
+ dcmimgle/include/dcmtk/dcmimgle/diovlimg.h
+ dcmimgle/include/dcmtk/dcmimgle/diovpln.h
+ dcmimgle/include/dcmtk/dcmimgle/dipixel.h
+ dcmimgle/include/dcmtk/dcmimgle/diplugin.h
+ dcmimgle/include/dcmtk/dcmimgle/diregbas.h
+ dcmimgle/include/dcmtk/dcmimgle/diutils.h
+ dcmimgle/libsrc/CMakeLists.txt
+
+- Make it possible to accurately build dcmdata and libi2d as DLLs. Thanks to
+ Thomas Sondergaard <ts@medical-insight.com> for his work.
+ Added: dcmdata/include/dcmtk/dcmdata/dcdefine.h
+ dcmdata/include/dcmtk/dcmdata/libi2d/i2define.h
+ Affects: dcmdata/include/dcmtk/dcmdata/*
+ dcmdata/include/dcmtk/dcmdata/libi2d/*
+ dcmdata/libi2d/CMakeLists.txt
+ dcmdata/libsrc/CMakeLists.txt
+
+- Make it possible to successfully build oflog as a DLL. Thanks to
+ Thomas Sondergaard <ts@medical-insight.com> for his work.
+ Affects: oflog/include/dcmtk/oflog/oflog.h
+ oflog/include/dcmtk/oflog/config/win32.h
+ oflog/libsrc/CMakeLists.txt
+
+- Make it possible to correctly build ofstd as a DLL. Thanks to
+ Thomas Sondergaard <ts@medical-insight.com> for his work.
+ Affects: CMake/osconfig.h.in
+ CMakeLists.txt
+ ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/include/dcmtk/ofstd/ofcmdln.h
+ ofstd/include/dcmtk/ofstd/ofconapp.h
+ ofstd/include/dcmtk/ofstd/ofcond.h
+ ofstd/include/dcmtk/ofstd/ofconfig.h
+ ofstd/include/dcmtk/ofstd/ofconsol.h
+ ofstd/include/dcmtk/ofstd/ofcrc32.h
+ ofstd/include/dcmtk/ofstd/ofdate.h
+ ofstd/include/dcmtk/ofstd/ofdatime.h
+ ofstd/include/dcmtk/ofstd/ofdefine.h
+ ofstd/include/dcmtk/ofstd/offname.h
+ ofstd/include/dcmtk/ofstd/oflist.h
+ ofstd/include/dcmtk/ofstd/ofstack.h
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/include/dcmtk/ofstd/ofstring.h
+ ofstd/include/dcmtk/ofstd/oftempf.h
+ ofstd/include/dcmtk/ofstd/ofthread.h
+ ofstd/include/dcmtk/ofstd/oftime.h
+ ofstd/include/dcmtk/ofstd/oftimer.h
+ ofstd/include/dcmtk/ofstd/ofuuid.h
+ ofstd/include/dcmtk/ofstd/ofxml.h
+ ofstd/libsrc/CMakeLists.txt
+
+- Always build static libraries on windows (for now).
+ Affects: CMakeLists.txt
+ dcmdata/libi2d/CMakeLists.txt
+ dcmdata/libsrc/CMakeLists.txt
+ dcmimage/libsrc/CMakeLists.txt
+ dcmimgle/libsrc/CMakeLists.txt
+ dcmjpeg/libijg12/CMakeLists.txt
+ dcmjpeg/libijg16/CMakeLists.txt
+ dcmjpeg/libijg8/CMakeLists.txt
+ dcmjpeg/libsrc/CMakeLists.txt
+ dcmjpls/libcharls/CMakeLists.txt
+ dcmjpls/libsrc/CMakeLists.txt
+ dcmnet/libsrc/CMakeLists.txt
+ dcmpstat/libsrc/CMakeLists.txt
+ dcmqrdb/libsrc/CMakeLists.txt
+ dcmsign/libsrc/CMakeLists.txt
+ dcmsr/libsrc/CMakeLists.txt
+ dcmtls/libsrc/CMakeLists.txt
+ dcmwlm/libsrc/CMakeLists.txt
+ oflog/libsrc/CMakeLists.txt
+ ofstd/libsrc/CMakeLists.txt
+
+**** Changes from 2011.12.12 (riesmeier)
+
+- Added missing header file for memcmp(), needed by gcc 4.4.3 on Linux. Thanks
+ to Markus Mertens <markus.mertens@evkb.de> for the original issue report.
+ Affects: ofstd/tests/Makefile.dep
+ ofstd/tests/tuuid.cc
+
+**** Changes from 2011.12.09 (riesmeier)
+
+- Removed numerous explicit typecasts because they are not needed any longer.
+ Affects: dcmsr/libsrc/dsrcsidl.cc
+
+- Fixed various comments (Doxygen documentation).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
+
+- Changed "module name" when checking an element value (now using the default).
+ Affects: dcmsr/libsrc/dsrcodvl.cc
+
+- Rebuilt Makefile dependencies.
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+
+- Added support for optional Purpose of Reference Code Sequence (0040,A170) to
+ class DSRSOPInstanceReferenceList.
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrsoprf.cc
+
+- Use "defaultValue" parameter of dcmFindNameOfUID() where appropriate.
+ Affects: dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrwavvl.cc
+
+- Added support for the Referenced Instance Sequence (0008,114A) introduced
+ with CP-670 (Reference rendering of SR), which allows for referencing an
+ equivalent CDA document or a rendering as an Encapsulated PDF document.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrrefin.h
+ dcmsr/libsrc/dsrrefin.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/data/dsr2xml.xsd
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/tests/Makefile.dep
+
+- Fixed wrong checkConflict() call for option --add-schema-reference.
+ Affects: dcmsr/apps/dsr2xml.cc
+
+- Output a warning message to the logger in case an offset cannot be resolved.
+ Slightly modified the output of the DcmDicomDir::print() method.
+ Affects: dcmdata/libsrc/dcdicdir.cc
+
+**** Changes from 2011.12.08 (riesmeier)
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/*
+
+**** Changes from 2011.12.07 (schlachter)
+
+- Updated the man page of dcm2xml.
+ Affects: dcmdata/docs/dcm2xml.man
+
+- Use an UUID instead of an UID for the BulkData XML output.
+ Affects: dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/dcvrobow.cc
+ dcmdata/libsrc/dcvrof.cc
+
+- Could someone please hand me a brown paper bag?
+ Affects: ofstd/include/dcmtk/ofstd/ofuuid.h
+ ofstd/libsrc/ofuuid.cc
+ ofstd/tests/tuuid.cc
+
+- Added a new class for generating Universally Unique Identifiers.
+ Added: ofstd/include/dcmtk/ofstd/ofuuid.h
+ ofstd/libsrc/ofuuid.cc
+ ofstd/tests/tuuid.cc
+ Affects: ofstd/libsrc/CMakeLists.txt
+ ofstd/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.in
+ ofstd/tests/CMakeLists.txt
+ ofstd/tests/Makefile.dep
+ ofstd/tests/Makefile.in
+ ofstd/tests/tests.cc
+
+**** Changes from 2011.12.07 (riesmeier)
+
+- Various minor fixes to API documentation and other comments.
+ Affects: ofstd/include/dcmtk/ofstd/ofuuid.h
+
+- Added explicit type cast to keep VisualStudio 2008 from moaning. Other fixes.
+ Affects: ofstd/libsrc/ofuuid.cc
+
+- Changed order of attributes for XML element "DicomAttribute" in order to be
+ consistent with the XML Schema given in the DICOM standard.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+**** Changes from 2011.12.06 (elgazzar)
+
+- Added const declaration to a parameter of findSOPInstance().
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2011.12.06 (riesmeier)
+
+- Updated outdated comment after the module's logger has been changed from a
+ global function with a static variable to a global variable.
+ Affects: dcmimage/libsrc/dilogger.cc
+ dcmimgle/libsrc/diutils.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Enhanced handling and logging of some missing mandatory data elements.
+ Affects: dcmimgle/libsrc/diimage.cc
+ dcmimgle/libsrc/dimomod.cc
+
+**** Changes from 2011.12.05 (riesmeier)
+
+- Added workaround that treats the non-standard VR "OX" as "OW" when reading a
+ DICOM dataset, since it seems to be used by some products out there.
+ Thanks to Brad Jascob <bjascob@msn.com> for pointing this out.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+- Fixed a bug in DUL_RejectAssociationRQ() which always set the "Source" field
+ of the ASSOCIATE-RJ PDU to 0x01 (DICOM UL service-user).
+ Thanks to Thomas Puckett <puckett_thomas@hotmail.com> for the report.
+ Affects: dcmnet/include/dcmtk/dcmnet/cond.h
+ dcmnet/libsrc/dul.cc
+
+**** Changes from 2011.12.02 (riesmeier)
+
+- Made sure that the BulkData XML element is not written for empty values.
+ Affects: dcmdata/libsrc/dcvrobow.cc
+ dcmdata/libsrc/dcvrof.cc
+
+- Various fixes after first commit of the Native DICOM Model format support.
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/docs/dcm2xml.man
+ dcmdata/include/dcmtk/dcmdata/dctypes.h
+ dcmdata/include/dcmtk/dcmdata/dcvrpn.h
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcerror.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcmetinf.cc
+ dcmdata/libsrc/dcsequen.cc
+ dcmdata/libsrc/dcvrds.cc
+ dcmdata/libsrc/dcvrobow.cc
+ dcmdata/libsrc/dcvrpn.cc
+ dcmdata/tests/tests.cc
+ dcmdata/tests/tvrpn.cc
+
+- Added dedicated writeXML() method for OF elements because the VM is always 1.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrof.h
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/dcvrof.cc
+
+**** Changes from 2011.12.01 (onken)
+
+- Added support for Application Hosting's Native DICOM Model xml format
+ to dcm2xml.
+ Added: dcmdata/tests/tvrpn.cc
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/docs/dcm2xml.man
+ dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/include/dcmtk/dcmdata/dctypes.h
+ dcmdata/include/dcmtk/dcmdata/dcvrpn.h
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcerror.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcmetinf.cc
+ dcmdata/libsrc/dcsequen.cc
+ dcmdata/libsrc/dctypes.cc
+ dcmdata/libsrc/dcvrds.cc
+ dcmdata/libsrc/dcvrobow.cc
+ dcmdata/libsrc/dcvrpn.cc
+ dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+**** Changes from 2011.11.30 (elgazzar)
+
+- Added functions front() and back() to return const reference.
+ Affects: ofstd/include/dcmtk/ofstd/oflist.h
+
+**** Changes from 2011.11.30 (schlachter)
+
+- Correctly clean up if libiconv was found but iconv.h wasn't.
+ Affects: CMake/FindICONV.cmake
+
+- Fix for CMake 2.6 which doesn't support the ADD_TEST syntax used.
+ Affects: CMakeLists.txt
+ CMake/dcmtkAddTests.cmake
+
+- Don't overwrite the compiler flags if BUILD_SHARED_LIBS is set.
+ Affects: CMakeLists.txt
+
+**** Changes from 2011.11.30 (riesmeier)
+
+- Added missing support for value type SCOORD3D (Spatial Coordinates 3D).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h
+ dcmsr/libsrc/dsrcitem.cc
+
+- Output date and time values in general header of print() method in a more
+ readable way by using separators for the date and time components.
+ Affects: dcmsr/libsrc/dsrdoc.c
+
+- Output optional observation date/time of each content item in print() method.
+ Affects: dcmsr/libsrc/dsrdoctr.cc
+
+- Made setISOFormattedeTime() more robust with regard to input values. Fixed
+ an issue with determining the local time zone (introduced with last commit).
+ Affects: ofstd/libsrc/oftime.cc
+
+**** Changes from 2011.11.29 (riesmeier)
+
+- Enhanced some existing test cases and added two new OFDateTime tests.
+ Affects: ofstd/tests/tofdatim.cc
+
+- Made setISOFormattedDateTime() more robust with regard to input values.
+ Affects: ofstd/libsrc/ofdatime.cc
+
+- Added support for optional time zone to XML read/write methods of DT values.
+ Thanks to forum user "dclunie" for the original report.
+ Affects: dcmsr/data/dsr2xml.xsd
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdtitn.cc
+
+- Added support for optional "timeZoneSeparator" parameter to some get methods.
+ Also removed some "hacks" that were needed for the old Sun CC 2.0.1 compiler.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrdt.h
+ dcmdata/libsrc/dcvrdt.cc
+
+- Added new tests and also separated tests for OFDate, OFTime and OFDateTime.
+ Affects: ofstd/tests/tests.cc
+ ofstd/tests/tofdatim.cc
+
+- Added support for the optional time zone to setISOFormattedDateTime().
+ Also removed some "hacks" that were needed for the old Sun CC 2.0.1 compiler.
+ Affects: ofstd/include/dcmtk/ofstd/ofdatime.h
+ ofstd/libsrc/ofdatime.cc
+
+- Added support for the optional time zone to setISOFormattedTime(). Also made
+ sure that all time zones in the range of -12 to +14 are regarded as valid.
+ Affects: ofstd/include/dcmtk/ofstd/oftime.h
+ ofstd/libsrc/oftime.cc
+
+- Added optional "check" parameter to some further methods (not only "set").
+ Also removed some "hacks" that were needed for the old Sun CC 2.0.1 compiler.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/dsrdoc.cc
+
+**** Changes from 2011.11.28 (riesmeier)
+
+- Fixed issue with libxml version 2.7.3 (and above): The maximum length of XML
+ element values was limited to 10 MB. This limit is now explicitly disabled.
+ Affects: dcmdata/apps/xml2dcm.cc
+ dcmdata/docs/xml2dcm.man
+
+- Added new option/mode that allows for sending all DICOM files referenced
+ from a DICOMDIR without accessing the files for association negotiation.
+ Thanks to forum user "Geof" for the initial idea.
+ Affects: dcmnet/apps/dcmsend.cc
+ dcmnet/docs/dcmsend.man
+ dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/libsrc/dstorscu.cc
+
+- Reserve expected size of resulting string in order to reduce number of memory
+ allocations in helper functions.
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+- Added general condition constant for invalid filenames.
+ Affects: ofstd/include/dcmtk/ofstd/ofcond.h
+ ofstd/libsrc/ofcond.cc
+
+**** Changes from 2011.11.25 (riesmeier)
+
+- Added note that the XML input file can also be compressed with ZIP if libxml
+ has been compiled with ZLIB support (see --version output).
+ Affects: dcmdata/apps/xml2dcm.cc
+ dcmdata/docs/xml2dcm.man
+ dcmsr/apps/xml2dsr.cc
+ dcmsr/docs/xml2dsr.man
+
+- Added clarifying note on the maximum length of XML element values (introduced
+ with libxml 2.7.3).
+ Affects: dcmdata/docs/xml2dcm.man
+ dcmsr/docs/xml2dsr.man
+
+- Output --version information whether LIBICONV support is included in LIBXML.
+ Affects: dcmdata/apps/xml2dcm.cc
+ dcmsr/apps/xml2dsr.cc
+
+**** Changes from 2011.11.24 (riesmeier)
+
+- Handle an empty element/input value as a special case in the "convert to ISO
+ format" methods, i.e. the resulting string is cleared and no error reported.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrda.h
+ dcmdata/include/dcmtk/dcmdata/dcvrdt.h
+ dcmdata/include/dcmtk/dcmdata/dcvrtm.h
+ dcmdata/libsrc/dcvrda.cc
+ dcmdata/libsrc/dcvrdt.cc
+ dcmdata/libsrc/dcvrtm.cc
+
+- Made get/set methods consistent with upcoming DCMRT module, i.e. all methods
+ now return a status code, the get methods provide a "pos" and the set methods
+ a "check" parameter. Please note that this is an incompatible API change!
+ Affects: dcmpstat/libsrc/dviface.cc
+ dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Made all public methods "virtual" in order to better support derived classes.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+
+- Minor fixes to also compile with VisualStudio 2008 on Windows systems.
+ Affects: ofstd/include/dcmtk/ofstd/ofxml.h
+
+- Added first version of a simple non-validating XML parser written by Frank
+ Vanden Berghen. This parser is intended to be used for configuration files
+ and the like. Therefore, it is integrated into the DCMTK (unlike libxml2).
+ Added: ofstd/include/dcmtk/ofstd/ofxml.h
+ ofstd/libsrc/ofxml.cc
+ ofstd/tests/tests.cc
+ ofstd/tests/txml.cc
+ Affects: COPYRIGHT
+ ofstd/libsrc/CMakeLists.txt
+ ofstd/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.in
+ ofstd/tests/CMakeLists.txt
+ ofstd/tests/Makefile.dep
+ ofstd/tests/Makefile.in
+
+- Moved implementation of putOFStringArray() from DcmByteString to DcmElement.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcelem.cc
+
+**** Changes from 2011.11.23 (schlachter)
+
+- Change ADD_TEST() call so that we get the full path to the test driver.
+ Affects: CMake/dcmtkAddTests.cmake
+
+- Remove a Latin-1 encoded umlaut from the source.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+
+**** Changes from 2011.11.21 (riesmeier)
+
+- Moved log message on transfer syntax from DcmItem to DcmDataset/DcmMetaInfo.
+ Affects: dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcmetinf.cc
+
+- Output message to debug logger when value of --charset-assume is not needed.
+ Affects: dcmdata/apps/dcm2xml.cc
+
+- Improved log messages on transfer syntaxes and file meta information.
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+**** Changes from 2011.11.17 (riesmeier)
+
+- Fixed warning on declaration of local variable shadowing a previous local.
+ Affects: dcmdata/apps/dcm2xml.cc
+
+- Minor fixes to keep XCode 4.2 on Mac OS X Lion (clang compiler) quiet.
+ Thanks to Daniele Giunchi <d.giunchi@scsitaly.com> for the suggested patch.
+ Affects: dcmimage/include/dcmtk/dcmimage/diargpxt.h
+ dcmimage/include/dcmtk/dcmimage/dicmypxt.h
+ dcmimage/include/dcmtk/dcmimage/dicocpt.h
+ dcmimage/include/dcmtk/dcmimage/dicoflt.h
+ dcmimage/include/dcmtk/dcmimage/dicorot.h
+ dcmimage/include/dcmtk/dcmimage/dicosct.h
+ dcmimage/include/dcmtk/dcmimage/dihsvpxt.h
+ dcmimage/include/dcmtk/dcmimage/dipalpxt.h
+ dcmimage/include/dcmtk/dcmimage/dirgbpxt.h
+ dcmimage/include/dcmtk/dcmimage/diybrpxt.h
+ dcmimage/include/dcmtk/dcmimage/diyf2pxt.h
+ dcmimage/include/dcmtk/dcmimage/diyp2pxt.h
+ dcmimgle/include/dcmtk/dcmimgle/diflipt.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoflt.h
+ dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h
+ dcmimgle/include/dcmtk/dcmimgle/dimorot.h
+ dcmimgle/include/dcmtk/dcmimgle/dimosct.h
+ dcmimgle/include/dcmtk/dcmimgle/dirotat.h
+ dcmimgle/include/dcmtk/dcmimgle/discalet.h
+ ofstd/include/dcmtk/ofstd/ofoset.h
+ ofstd/libsrc/ofchrenc.cc
+
+- Slightly modified code in order to avoid the use of the OFCondition default
+ constructor.
+ Affects: dcmdata/libsrc/dcdicdir.cc
+ dcmdata/libsrc/dcpath.cc
+
+- Define WIN32_LEAN_AND_MEAN in order to avoid unneeded header file inclusions
+ caused by "windows.h".
+ Affects: ofstd/libsrc/oftimer.cc
+ ofstd/libsrc/ofcmdln.cc
+
+- Made sure that the new OFTempFile class also compiles on Windows.
+ Affects: ofstd/libsrc/oftempf.cc
+
+- Made sure that the OFCondition member variable gets initialized in the
+ constructor. Thanks to Markus Mertens <markus.mertens@uni-muenster.de> for
+ the original issue report.
+ Affects: ofstd/libsrc/oftempf.cc
+
+**** Changes from 2011.11.16 (schlachter)
+
+- Corrected my broken Makefile.dep change.
+ Affects: ofstd/libsrc/Makefile.dep
+
+- Added a new class for managing temporary files.
+ Added: ofstd/include/dcmtk/ofstd/oftempf.h
+ ofstd/libsrc/oftempf.cc
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/include/dcmtk/dcmdata/dcdicdir.h
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/dcdicdir.cc
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/tparser.cc
+ ofstd/include/dcmtk/ofstd/ofcond.h
+ ofstd/libsrc/CMakeLists.txt
+ ofstd/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.in
+ ofstd/libsrc/ofcond.cc
+
+- Fixed and improved CMake's libiconv and libcharset detection.
+ Added: CMake/FindCharset.cmake
+ Affects: CMake/3rdparty.cmake
+ CMake/FindICONV.cmake
+ CMake/dcmtkTryCompile.cmake
+
+**** Changes from 2011.11.15 (riesmeier)
+
+- Added check that specified input directory really exists. Also made sure that
+ directories are ignored as parameters if option --recurse is not set.
+ Affects: dcmdata/apps/dcmgpdir.cc
+
+- Moved command line option --output-file to the "output options" section.
+ Affects: dcmdata/apps/dcmgpdir.cc
+ dcmdata/docs/dcmgpdir.man
+ dcmjpeg/docs/dcmmkdir.man
+
+- Added support for the following standard headers: locale, map, memory, vector
+ Affects: ofstd/include/dcmtk/ofstd/ofstdinc.h
+ ofstd/libsrc/ofconapp.cc
+
+- Output information to debug logger when skipping application segments (APPn).
+ Also added explicit type cast to integer variables when output to the logger.
+ Affects: dcmdata/libi2d/i2djpgs.cc
+
+- Added regression tests for class DcmUniqueIdentifier.
+ Added: dcmdata/tests/tvrui.cc
+ Affects: dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+**** Changes from 2011.11.14 (riesmeier)
+
+- Slightly improved API documentation on containsExtendedCharacters() and
+ isAffectedBySpecificCharacterSet().
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcchrstr.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+
+- Fixed typo in comment. Also fixed wrong application name.
+ Thanks to Michal Spacek <tupinek@gmail.com> for the report and fix.
+ Affects: dcmqrdb/etc/dcmqrscp.cfg
+
+**** Changes from 2011.11.11 (riesmeier)
+
+- Updated information on latest CMake version that has been tested to "2.8.6".
+ Affects: CMakeLists.txt
+
+- Added support for retrieving Rescale Slope/Intercept from the Shared
+ Functional Groups Sequence (as used in many Enhanced Image IODs).
+ Affects: dcmimgle/libsrc/dimomod.cc
+
+- Changed optional DcmObject* parameter into DcmItem* and added this optional
+ parameter to some further getValue() methods.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/didocu.h
+ dcmimgle/include/dcmtk/dcmimgle/diluptab.h
+ dcmimgle/libsrc/didocu.cc
+ dcmimgle/libsrc/diluptab.cc
+
+**** Changes from 2011.11.10 (riesmeier)
+
+- Fixed missing path separator issues in CMake configuration file.
+ Thanks to Michal Spacek <tupinek@gmail.com> for the original report.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+- Fixed a couple of typos in comments and made some parameters "const".
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+**** Changes from 2011.11.09 (riesmeier)
+
+- Changed the way option --charset-assume works. Now, the DICOM defined term
+ for the character set has to be used (old values are still supported). This
+ makes sure that this option can be used together with --convert-to-utf8.
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/docs/dcm2xml.man
+ dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+
+- Avoid wrong error message / status code that a conversion descriptor cannot
+ be closed when libiconv is not available.
+ Affects: ofstd/libsrc/ofchrenc.cc
+
+- Renamed the new option "--convert-to-latin-1" to "--convert-to-latin1".
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/docs/dcmconv.man
+
+- Made sure that "ISO_IR 6" is never written as the defined term for ASCII.
+ Affects: dcmsr/libsrc/dsrtypes.cc
+
+**** Changes from 2011.11.09 (schlachter)
+
+- Added a destructor to DcmQueryRetrieveConfig.
+ Thanks to forum user "st80rules" for reporting these memleaks.
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h
+ dcmqrdb/libsrc/dcmqrcnf.cc
+
+- Changed the default for external libraries to be enabled if found.
+ Affects: CMakeLists.txt
+
+- Made sure the recent changes work correctly with CMake GUIs.
+ Affects: CMake/3rdparty.cmake
+
+- Fixed warnings from -Weffc++ and OFPair<OFString, void*>.
+ Affects: ofstd/include/dcmtk/ofstd/ofmap.h
+
+- Added support for detecting iconv on non-Windows platforms.
+ Added: CMake/FindICONV.cmake
+ Affects: CMakeLists.txt
+ CMake/3rdparty.cmake
+ dcmdata/apps/CMakeLists.txt
+
+**** Changes from 2011.11.08 (riesmeier)
+
+- Added support for converting files, datasets and element values to any DICOM
+ character set that does not require code extension techniques (if compiled
+ with and supported by libiconv), not only to UTF-8 as before.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/docs/dcmconv.man
+ dcmdata/include/dcmtk/dcmdata/dcchrstr.h
+ dcmdata/include/dcmtk/dcmdata/dcdatset.h
+ dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/include/dcmtk/dcmdata/dcfilefo.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcobject.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/dcchrstr.cc
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcobject.cc
+ dcmdata/libsrc/dcsequen.cc
+ dcmdata/libsrc/dcspchrs.cc
+ dcmdata/tests/tests.cc
+ dcmdata/tests/tspchrs.cc
+
+**** Changes from 2011.11.07 (riesmeier)
+
+- Fixed problematical typo in a comment ("get" -> "set").
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+
+**** Changes from 2011.11.03 (riesmeier)
+
+- Output the current locale's character encoding together with the host type.
+ This info is shown when calling a command line tool with option --version.
+ Affects: ofstd/include/dcmtk/ofstd/ofconapp.h
+ ofstd/libsrc/ofconapp.cc
+ dcmdata/libsrc/Makefile.in
+
+- Added support for CP-1147, which reintroduces ObservationUID (0040,A171).
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2011.11.02 (riesmeier)
+
+- Added two new tests for checking the correct handling of delimiters.
+ Affects: dcmdata/tests/tspchrs.cc
+
+- Fixed minor issue with wrong/insufficient log output in case of delimiters.
+ Affects: dcmdata/libsrc/dcspchrs.cc
+
+- Added new command line option for converting a DICOM file/dataset to UTF-8.
+ Also fixed some small inconsistencies regarding the character set handling.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/apps/dcm2xml.cc
+ dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmdump.cc
+ dcmdata/docs/dcm2xml.man
+ dcmdata/docs/dcmdump.man
+ dcmsr/apps/Makefile.dep
+ dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+ dcmsr/apps/dsrdump.cc
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+ dcmsr/docs/dsrdump.man
+
+- Fixed issue with UI values not being properly normalized in getOFString().
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcvrui.h
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcvrui.cc
+
+- Fixed minor inconsistencies regarding documentation and formatting.
+ Affects: dcmdata/apps/dcmconv.cc
+
+- Rebuilt Makefile dependencies.
+ Affects: dcmdata/tests/Makefile.dep
+
+- Added missing notes section on "Scanning Directories".
+ Affects: dcmjpeg/docs/dcmmkdir.man
+
+- Added note on "directory to be scanned" to the "dcmfile-in" parameter.
+ Affects: dcmdata/apps/dcmgpdir.cc
+ dcmdata/docs/dcmgpdir.man
+
+- Slightly revised notes section on "Scanning Directories".
+ Affects: dcmdata/docs/dcmdump.man
+ dcmdata/docs/dcmgpdir.man
+ dcmnet/docs/dcmsend.man
+ dcmnet/docs/storescu.man
+
+- Slightly restructured command line options and introduced new subsections.
+ Affects: dcmdata/apps/dcmdump.cc
+ dcmdata/docs/dcmdump.man
+
+**** Changes from 2011.11.01 (onken)
+
+- Added section regarding directory scanning, especially to make clear how to
+ work with the accompanying file pattern option.
+ Affects: dcmdata/docs/dcmdump.man
+ dcmdata/docs/dcmgpdir.man
+ dcmnet/docs/dcmsend.man
+ dcmnet/docs/storescu.man
+
+**** Changes from 2011.11.01 (schlachter)
+
+- Fixed CMake's output while running compile tests.
+ Affects: CMake/dcmtkTryCompile.cmake
+
+- Fixed the test for pthread_t being a pointer type.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2011.11.01 (riesmeier)
+
+- Added support for code extensions (escape sequences) according to ISO 2022
+ to the character set conversion code.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h
+ dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/dcchrstr.cc
+ dcmdata/libsrc/dcerror.cc
+ dcmdata/libsrc/dcspchrs.cc
+ dcmdata/libsrc/dcvrlo.cc
+ dcmdata/libsrc/dcvrpn.cc
+ dcmdata/libsrc/dcvrsh.cc
+ dcmdata/tests/tests.cc
+ dcmdata/tests/tspchrs.cc
+
+- Fixed source code formatting and typo in a comment.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/libsrc/dcbytstr.cc
+
+- Fixed typo in a comment.
+ Affects: ofstd/tests/tmap.cc
+
+- Fixed wrong comment on return value of method convertToOctalString().
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+
+**** Changes from 2011.10.28 (riesmeier)
+
+- Restructured code of OFCharacterEncoding in order to allow particular classes
+ to access more low-level functions, e.g. for opening multiple conversion
+ descriptors at the same time. This will be needed for ISO 2022 support.
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/include/dcmtk/ofstd/ofcond.h
+ ofstd/libsrc/ofchrenc.cc
+ ofstd/libsrc/ofcond.cc
+
+- Added OFCharacterEncoding to the list of "further classes of interest".
+ Affects: ofstd/docs/ofstd.dox
+
+- Minor stylistic changes regarding parameter declaration and documentation.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcpath.h
+ dcmdata/libsrc/dcpath.cc
+
+**** Changes from 2011.10.27 (riesmeier)
+
+- Made sure that the character set conversion code (incl. checking the option)
+ is only compiled when the WITH_LIBICONV macro is defined.
+ Affects: dcmdata/apps/dcmconv.cc
+
+- Added libiconv to all "apps" that depend on dcmdata to avoid linker errors.
+ Affects: dcmdata/apps/CMakeLists.txt
+ dcmdata/apps/Makefile.in
+ dcmdata/tests/Makefile.in
+ dcmimage/apps/CMakeLists.txt
+ dcmimage/apps/Makefile.in
+ dcmimgle/apps/CMakeLists.txt
+ dcmimgle/apps/Makefile.in
+ dcmjpeg/apps/CMakeLists.txt
+ dcmjpeg/apps/Makefile.in
+ dcmjpls/apps/CMakeLists.txt
+ dcmjpls/apps/Makefile.in
+ dcmnet/apps/CMakeLists.txt
+ dcmnet/apps/Makefile.in
+ dcmpstat/apps/CMakeLists.txt
+ dcmpstat/apps/Makefile.in
+ dcmpstat/tests/Makefile.in
+ dcmqrdb/apps/CMakeLists.txt
+ dcmqrdb/apps/Makefile.in
+ dcmsign/apps/CMakeLists.txt
+ dcmsign/apps/Makefile.in
+ dcmsr/apps/CMakeLists.txt
+ dcmsr/apps/Makefile.in
+ dcmsr/tests/CMakeLists.txt
+ dcmsr/tests/Makefile.in
+ dcmwlm/apps/CMakeLists.txt
+ dcmwlm/apps/Makefile.in
+ dcmwlm/tests/Makefile.in
+ dcmwlm/wwwapps/CMakeLists.txt
+ dcmwlm/wwwapps/Makefile.in
+ ofstd/tests/CMakeLists.txt
+
+- Removed superfluous tab character from definition of compiler call.
+ Affects: config/Makefile.def.in
+
+**** Changes from 2011.10.27 (schlachter)
+
+- Use existing code for extracting directory name from a path.
+ Affects: dcmdata/libsrc/dcdicdir.cc
+
+- Added new macro for trying to compile C++ source code.
+ Added: CMake/dcmtkTryCompile.cmake
+ Removed: CMake/dcmtkTestBoolType.cc
+ CMake/dcmtkTestCharPStrerror.cc
+ CMake/dcmtkTestNameTooLong.cc
+ CMake/dcmtkTestPThreadType.cc
+ CMake/dcmtkTestSelectIntP.cc
+ CMake/dcmtkTestSocketIntP.cc
+ CMake/dcmtkTestStdIosNocreate.cc
+ CMake/dcmtkTestTypename.cc
+ CMake/dcmtkTestVariableLengthArrays.cc
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+- Dropped some unused prototypes for mktemp() and mkstemp().
+ Affects: dcmnet/apps/storescp.cc
+
+- Added rpaths to configure which can be disabled via --disable-rpath.
+ Affects: config/aclocal.m4
+ config/configure
+
+- Fixed some compiler warnings when libiconv was not found.
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/ofchrenc.cc
+
+- Ported recent change to configure into the correct file.
+ Affects: config/rootconf
+
+**** Changes from 2011.10.26 (riesmeier)
+
+- Added new command line option for converting a DICOM file/dataset to UTF-8.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/apps/dcmconv.cc
+ dcmdata/docs/dcmconv.man
+
+- Added method that allows for converting a dataset or element value to UTF-8.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h
+ dcmdata/include/dcmtk/dcmdata/dcdatset.h
+ dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/include/dcmtk/dcmdata/dcfilefo.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcobject.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmdata/libsrc/dcchrstr.cc
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcobject.cc
+ dcmdata/libsrc/dcsequen.cc
+
+- Added helper class for converting between different DICOM character sets.
+ This initial version only supports the conversion to UTF-8 (Unicode) and only
+ from DICOM characters sets without code extension techniques (i.e. ISO 2022).
+ Added: dcmdata/include/dcmtk/dcmdata/dcspchrs.h
+ dcmdata/libsrc/dcspchrs.cc
+ dcmdata/tests/tspchrs.cc
+ Affects: dcmdata/apps/CMakeLists.txt
+ dcmdata/apps/Makefile.in
+ dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/Makefile.in
+ dcmdata/libsrc/dcerror.cc
+ dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+**** Changes from 2011.10.25 (riesmeier)
+
+- Be prepared that older versions of locale_charset() might return NULL.
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/ofchrenc.cc
+
+- Added new convert method that accepts a C string and its length as input.
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/ofchrenc.cc
+ ofstd/tests/tchrenc.cc
+
+**** Changes from 2011.10.24 (riesmeier)
+
+- Added static method counting the characters in a given UTF-8 string.
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/ofchrenc.cc
+ ofstd/tests/tchrenc.cc
+ ofstd/tests/tests.cc
+
+- Changed name of status code constant for "illegal character encoding".
+ Affects: ofstd/include/dcmtk/ofstd/ofcond.h
+ ofstd/libsrc/ofchrenc.cc
+ ofstd/libsrc/ofcond.cc
+
+- Made sure that iconvctl() is really supported by the libiconv toolkit.
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/ofchrenc.cc
+ ofstd/tests/tchrenc.cc
+
+- Removed outdated comment that the "implementation of sigmoid transformation
+ is still missing".
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
+
+**** Changes from 2011.10.23 (riesmeier)
+
+- Removed reference to libiconv header file "localcharset.h".
+ Affects: ofstd/libsrc/Makefile.dep
+
+**** Changes from 2011.10.21 (riesmeier)
+
+- Added class for managing and converting between different character encodings
+ based on the libiconv toolkit.
+ Added: ofstd/include/dcmtk/ofstd/ofchrenc.h
+ ofstd/libsrc/ofchrenc.cc
+ ofstd/tests/tchrenc.cc
+ Affects: CMakeLists.txt
+ INSTALL
+ CMake/3rdparty.cmake
+ CMake/osconfig.h.in
+ config/Makefile.def.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ doxygen/htmldocs.cfg
+ ofstd/include/dcmtk/ofstd/ofcond.h
+ ofstd/libsrc/CMakeLists.txt
+ ofstd/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.in
+ ofstd/libsrc/ofcond.cc
+ ofstd/tests/CMakeLists.txt
+ ofstd/tests/Makefile.dep
+ ofstd/tests/Makefile.in
+ ofstd/tests/tests.cc
+
+- Fixed some log messages.
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+ dcmsr/apps/xml2dsr.cc
+
+- Minor fix to keep VisualStudio from moaning.
+ Affects: dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcvrds.cc
+
+**** Changes from 2011.10.21 (schlachter)
+
+- Improved the handling of some configure options.
+ Affects: config/aclocal.m4
+ config/configure
+ config/configure.in
+
+- Don't define a static version of isatty() since it seems to be not needed.
+ Affects: dcmdata/libsrc/vrscanl.c
+ dcmdata/libsrc/vrscanl.h
+ dcmdata/libsrc/vrscanl.l
+
+**** Changes from 2011.10.20 (schlachter)
+
+- Disable option checking in individual module's configure scripts.
+ Affects: config/confmod
+ config/confmod.in
+
+- Abort if a module's configure script fails.
+ Affects: configure
+
+**** Changes from 2011.10.19 (riesmeier)
+
+- Fixed unexpected behavior of getOFString() method when called for an empty
+ element value. Thanks to forum user "aprogrammer" for the original report.
+ Affects: dcmdata/libsrc/dcbytstr.cc
+
+- Fixed some typos and other minor issues regarding the comments.
+ Affects: ofstd/include/dcmtk/ofstd/ofaptr.h
+ dcmnet/include/dcmtk/dcmnet/dstorscu.h
+
+**** Changes from 2011.10.18 (riesmeier)
+
+- Removed global helper functions that were replaced in a previously commit.
+ Removed: dcmdata/include/dcmtk/dcmdata/dcvm.h
+ dcmdata/libsrc/dcvm.cc
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/include/dcmtk/dcmdata/dctk.h
+ dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/Makefile.in
+ dcmdata/tests/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+
+- Rebuilt Makefile dependencies.
+ Affects: dcmpstat/tests/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmqrdb/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ dcmwlm/wwwapps/Makefile.dep
+
+- Added test program for various "string value" methods.
+ Added: dcmdata/tests/tstrval.cc
+ Affects: dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+- Added support for embedded NULL bytes in string element values.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcchrstr.h
+ dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcvrat.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfd.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrobow.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrss.h
+ dcmdata/include/dcmtk/dcmdata/dcvrui.h
+ dcmdata/include/dcmtk/dcmdata/dcvrul.h
+ dcmdata/include/dcmtk/dcmdata/dcvrus.h
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dcchrstr.cc
+ dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcvrat.cc
+ dcmdata/libsrc/dcvrds.cc
+ dcmdata/libsrc/dcvrfd.cc
+ dcmdata/libsrc/dcvrfl.cc
+ dcmdata/libsrc/dcvrobow.cc
+ dcmdata/libsrc/dcvrsl.cc
+ dcmdata/libsrc/dcvrss.cc
+ dcmdata/libsrc/dcvrui.cc
+ dcmdata/libsrc/dcvrul.cc
+ dcmdata/libsrc/dcvrus.cc
+ dcmdata/tests/tvrds.cc
+
+- Removed redundant variable declaration that shadowed a previous local
+ (reported by gcc with additional warning flags).
+ Affects: dcmnet/apps/movescu.cc
+
+**** Changes from 2011.10.17 (riesmeier)
+
+- Made sure that non-ASCII characters are quoted appropriately if the Specific
+ Character Set is not supported.
+ Affects: dcmdata/apps/dcm2xml.cc
+
+- Added writeXML() flag that allows for converting all non-ASCII characters.
+ Affects: dcmdata/include/dcmtk/dcmdata/dctypes.h
+ dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dctypes.cc
+ dcmdata/libsrc/dcvrds.cc
+
+**** Changes from 2011.10.14 (schlachter)
+
+- Fixed a minor memory leak in the base64 test.
+ Affects: ofstd/tests/tbase64.cc
+
+- Fixed a memory leak due to unjoined threads.
+ Affects: ofstd/tests/tthread.cc
+
+**** Changes from 2011.10.14 (riesmeier)
+
+- Replaced the "o umlaut" encoded in ISO 8859-1 with its octal representation.
+ Affects: ofstd/tests/tmarkup.cc
+
+- Do not delete "htmldocs.tmp" and "manpages.tmp" during "make clean" since
+ these files are only (re)generated during configure.
+ Affects: doxygen/CMakeLists.txt
+
+**** Changes from 2011.10.13 (riesmeier)
+
+- Use putOFStringArray() instead of putString() where appropriate.
+ Affects: dcmdata/apps/xml2dcm.cc
+ dcmdata/libsrc/dcvrda.cc
+ dcmdata/libsrc/dcvrdt.cc
+ dcmdata/libsrc/dcvrpn.cc
+ dcmdata/libsrc/dcvrtm.cc
+
+- Commented out 2nd test since the required "dcmdata" method is not yet there.
+ Affects: dcmdata/tests/tvrds.cc
+
+- Enhanced documentation in case more than one input file is given.
+ Affects: dcmpstat/docs/dcmpsmk.man
+
+- Added tests for class DcmDecimalString, especially for getFloat64Vector().
+ Added: dcmdata/tests/tvrds.cc
+ Affects: dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+**** Changes from 2011.10.12 (riesmeier)
+
+- Use CMake variable DOXYGEN_DATA_DIR in order to reference the CSS file.
+ Affects: doxygen/htmldocs.cfg
+
+- Added new command line option that quotes non-ASCII and control chars as
+ octal numbers.
+ Affects: dcmdata/apps/dcmdump.cc
+ dcmdata/docs/dcmdump.man
+
+- Added new print() flag that allows for converting non-ASCII and control
+ characters to their octal representation ('\ooo').
+ Affects: dcmdata/include/dcmtk/dcmdata/dctypes.h
+ dcmdata/libsrc/dcbytstr.cc
+ dcmdata/libsrc/dctypes.cc
+
+- Added methods for converting non-ASCII and control characters to their octal
+ representation, i.e. to '\ooo' where 'ooo' are the three octal digits.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+- Added tests for convertToMarkupString() method.
+ Added: ofstd/tests/tmarkup.cc
+ Affects: ofstd/tests/CMakeLists.txt
+ ofstd/tests/Makefile.dep
+ ofstd/tests/Makefile.in
+ ofstd/tests/tests.cc
+
+- Added support for strings containing NULL bytes to "convert to markup"
+ methods. Also added optional parameter for specifying the maximum length.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+**** Changes from 2011.10.11 (riesmeier)
+
+- Made methods card() and cardSub() const.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcsequen.cc
+
+- Added content of "doxygen.css" to the modified style sheet since the standard
+ CSS is not copied to the output directory if replaced by a user-defined CSS.
+ Affects: doxygen/htmldocs.css
+
+- Added extra newline in order to make sure that the "\if ... \endif" blocks
+ still work correctly with the new Doxygen version.
+ Affects: doxygen/htmldocs.dox
+
+- Sort classes by fully-qualified names, including namespaces.
+ Affects: doxygen/htmldocs.cfg
+
+- Updated Doxygen configuration files for latest release version 1.7.5.1.
+ As a result, the output in HTML format also changed at little.
+ Added: doxygen/htmldocs.css
+ Affects: doxygen/htmldocs.cfg
+ doxygen/manpages.cfg
+
+**** Changes from 2011.10.11 (schlachter)
+
+- Move OFFileNameCreator::myrand_r to class OFStandard.
+ Affects: dcmimage/libsrc/diqtfs.cc
+ ofstd/include/dcmtk/ofstd/offname.h
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/offname.cc
+ ofstd/libsrc/ofstd.cc
+
+- Made sure that makeFilename() influences the caller's seed.
+ Affects: ofstd/include/dcmtk/ofstd/offname.h
+ ofstd/libsrc/offname.cc
+
+- Renamed myrand_r(int*) a to rand_r(int&).
+ Affects: dcmimage/libsrc/Makefile.dep
+ dcmimage/libsrc/diqtfs.cc
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/Makefile.dep
+ ofstd/libsrc/offname.cc
+ ofstd/libsrc/ofstd.cc
+
+- Switched to autoconf 2.68.
+ Affects: config/aclocal.m4
+ config/autoall
+ config/configure
+ config/configure.in
+ config/confmod
+ config/include/dcmtk/config/osconfig.h.in
+
+**** Changes from 2011.10.10 (schlachter)
+
+- Replaced the old OFM_imagectn with OFM_dcmqrdb and OFM_dcmqrdbx.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+- Slightly improved the error condition names and definition.
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h
+ dcmqrdb/libsrc/dcmqrcbm.cc
+ dcmqrdb/libsrc/dcmqrdbi.cc
+ dcmqrdb/libsrc/dcmqropt.cc
+
+- Moved SCU-specific error condition to the correct place.
+ Affects: dcmnet/include/dcmtk/dcmnet/cond.h
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/cond.cc
+ dcmnet/libsrc/scu.cc
+
+- Discard all console output in inetd mode.
+ Affects: dcmnet/apps/storescp.cc
+ dcmnet/docs/storescp.man
+
+**** Changes from 2011.10.10 (riesmeier)
+
+- Added output stream operator in order to use different time units depending
+ on the value range, i.e. "ms", "s", "m" and "h".
+ Affects: ofstd/include/dcmtk/ofstd/oftimer.h
+ ofstd/libsrc/oftimer.cc
+
+- Moved implementation from header to source file in order to avoid unwanted
+ header file inclusion.
+ Added: ofstd/libsrc/oftimer.cc
+ Affects: ofstd/include/dcmtk/ofstd/oftimer.h
+ ofstd/libsrc/CMakeLists.txt
+ ofstd/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.in
+
+- Added missing DIMSE-N status code "Attribute Value out of Range" (0116h) used
+ for Print Management. Thanks to forum user "Yves Neumann" for the report.
+ Affects: dcmnet/include/dcmtk/dcmnet/dimse.h
+ dcmnet/libsrc/dimdump.cc
+ dcmnet/libsrc/diutil.cc
+
+- Fixed some other small inconsistencies regarding the DIMSE status codes.
+ Affects: dcmnet/include/dcmtk/dcmnet/dimse.h
+ dcmnet/libsrc/dimdump.cc
+ dcmnet/libsrc/diutil.cc
+
+**** Changes from 2011.10.07 (elgazzar)
+
+- Fixed source code bug in the sendActionResponse() function.
+ Affects: dcmnet/libsrc/scp.cc
+
+**** Changes from 2011.10.07 (riesmeier)
+
+- Added explaining sentence to the NOTES section that specifying multiple query
+ files results in sending multiple C-GET request to the SCP.
+ Affects: dcmnet/docs/getscu.man
+
+- Added explaining sentence to the NOTES section that specifying multiple query
+ files results in sending multiple C-FIND request to the SCP.
+ Affects: dcmnet/docs/findscu.man
+
+- Added explaining sentence to the NOTES section that specifying multiple query
+ files results in sending multiple C-MOVE request to the SCP.
+ Affects: dcmnet/docs/movescu.man
+
+- Fixed typo in comments introduced with a recent commit.
+ Affects: CMake/osconfig.h.in
+
+**** Changes from 2011.10.06 (riesmeier)
+
+- On non-Windows systems, make sure that the pre-defined man pages (shipped
+ with this package) are installed if not re-generated by Doxygen.
+ Affects: doxygen/CMakeLists.txt
+
+- Now also SOP instances from DICOM datasets can be added to the transfer list.
+ This allows for sending datasets created or received in memory.
+ Affects: dcmnet/include/dcmtk/dcmnet/cond.h
+ dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/libsrc/cond.cc
+ dcmnet/libsrc/dstorscu.cc
+
+- Removed unused local variable.
+ Affects: dcmnet/libsrc/scp.cc
+
+- Added new method compactElements() for compacting all elements which exceed
+ a given length and which can be loaded from file when needed again.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/dcitem.cc
+
+- Output some useful information to the DEBUG logger when compacting a value.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+- Replaced remaining tabs by spaces.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcobject.h
+
+**** Changes from 2011.10.05 (elgazzar)
+
+- Added a function to respond to N-Action request.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+**** Changes from 2011.10.05 (riesmeier)
+
+- Enhanced code that checks for valid and supported Storage SOP Classes.
+ Affects: dcmnet/libsrc/dstorscu.cc
+
+- Make sure to link LIBTIFF and LIBPNG to the new "dcmsend" command line tool
+ in order to avoid linker errors when using DCMTK with shared libraries.
+ Affects: dcmnet/apps/CMakeLists.txt
+ dcmnet/apps/Makefile.in
+
+- Added new command line tool "dcmsend", which is a Simple Storage Service
+ Class User based on the recently introduced network class DcmStorageSCU.
+ Added: dcmnet/apps/dcmsend.cc
+ dcmnet/docs/dcmsend.man
+ doxygen/manpages/man1/dcmsend.1
+ Affects: dcmnet/apps/CMakeLists.txt
+ dcmnet/apps/Makefile.dep
+ dcmnet/apps/Makefile.in
+ dcmnet/docs/dcmnet.dox
+
+- Added easy-to-use interface class for a Storage Service Class User (SCU).
+ Added: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/libsrc/dstorscu.cc
+ Affects: dcmnet/docs/dcmnet.dox
+ dcmnet/libsrc/CMakeLists.txt
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/libsrc/Makefile.in
+
+**** Changes from 2011.10.04 (riesmeier)
+
+- Added method that allows for updating the original transfer syntax (e.g.
+ after pixel data with a particular representation has been added).
+ Affects: dcmdata/libsrc/dcdatset.cc
+ dcmdata/include/dcmtk/dcmdata/dcdatset.h
+
+- Added support for storing the current transfer syntax of the dataset (in
+ addition to the original one). The transfer syntax is also used for the
+ print() and writeXML() methods. The default is explicit VR local endian.
+ Affects: dcmdata/libsrc/dcdatset.cc
+ dcmdata/include/dcmtk/dcmdata/dcdatset.h
+
+- Avoid double output of particular error messages to the logger.
+ Affects: dcmnet/apps/findscu.cc
+ dcmnet/libsrc/dfindscu.cc
+
+- Added flag that allows for specifying whether to convert a dataset to be
+ transferred to the network transfer syntax. Also removed unused parameters
+ "rspCommandSet" and "rspStatusDetail" from method sendSTORERequest().
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.10.03 (schlachter)
+
+- Reverted some accidentally committed changes.
+ Affects: dcmjpeg/libijg12/jdhuff.c
+ dcmjpeg/libijg12/jdmarker.c
+
+**** Changes from 2011.09.30 (riesmeier)
+
+- Fixed wrong or misleading comment on the member variable "Xfer".
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h
+
+**** Changes from 2011.09.30 (schlachter)
+
+- Removed a recursion in moveRecordToTree() which could cause stack overflows.
+ Thanks to forum user "flang" for the report and the original patch.
+ Affects: dcmdata/libsrc/dcdicdir.cc
+
+- Replaced an ugly "else while" construct with a clearer version.
+ Affects: dcmdata/libsrc/dcdicdir.cc
+
+- Added a proper check for gethostbyname_r().
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+ config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+ dcmdata/libsrc/dcuid.cc
+ oflog/include/dcmtk/oflog/config/defines.h
+
+- Made CHECK_FUNCTIONWITHHEADER_EXISTS generate an unique message.
+ Affects: CMake/CheckFunctionWithHeaderExists.cmake
+
+- Corrected accidentally broken log output.
+ Affects: dcmjpeg/libijg12/jdhuff.c
+ dcmjpeg/libijg12/jdhuff12.h
+ dcmjpeg/libijg12/jdmarker.c
+ dcmjpeg/libijg12/jerror12.h
+ dcmjpeg/libijg12/jmemsys12.h
+ dcmjpeg/libijg16/jdhuff16.h
+ dcmjpeg/libijg16/jerror16.h
+ dcmjpeg/libijg16/jmemsys16.h
+ dcmjpeg/libijg8/jdhuff8.h
+ dcmjpeg/libijg8/jerror8.h
+ dcmjpeg/libijg8/jmemsys8.h
+
+- Improved log output and moved to DEBUG log level.
+ Affects: dcmjpls/libsrc/djcodecd.cc
+ dcmjpls/libsrc/djcodece.cc
+
+**** Changes from 2011.09.29 (riesmeier)
+
+- Fixed memory leak in sendSTORERequest(), a DICOM dataset was not deleted.
+ Affects: dcmnet/libsrc/scu.cc
+
+- Enhanced loadFile() method by making sure that the file preamble is present.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcmetinf.h
+ dcmdata/libsrc/dcmetinf.cc
+
+- Introduced new network-related error codes, e.g. in case that none of the
+ proposed presentation contexts were accepted by the association acceptor.
+ Affects: dcmnet/include/dcmtk/dcmnet/cond.h
+ dcmnet/libsrc/cond.cc
+ dcmnet/libsrc/dfindscu.cc
+ dcmnet/libsrc/scu.cc
+
+- Added check whether the presentation context specified by the caller of the
+ method was really accepted before sending a C-STORE request.
+ Affects: dcmnet/libsrc/scu.cc
+
+- Enhanced implementation of the function that retrieves the abstract syntax
+ and transfer syntax of a particular presentation context (using the ID).
+ Affects: dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scu.cc
+
+- Further cleanup of the log output (verbose vs. debug mode).
+ Affects: dcmnet/apps/movescu.cc
+
+- Output message ID of request and DIMSE status of response messages to the
+ INFO logger (if DEBUG level is not enabled). All tools and classes in the
+ "dcmnet" module now use (more or less) the same output in verbose mode.
+ Affects: dcmnet/apps/echoscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/libsrc/dfindscu.cc
+ dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.09.28 (riesmeier)
+
+- Added general support for transfer syntax conversions to sendSTORERequest().
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+- Simplified code for reporting the conversion of transfer syntaxes to logger.
+ Affects: dcmnet/apps/storescu.cc
+
+- Return a more appropriate error code in case the dataset to be sent is
+ invalid. This also required to introduce a return value for getDatasetInfo().
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+- Introduced new isLossy() and isLossless() methods in order to check whether
+ a transfer syntax uses a lossy or lossless compression (if any at all).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcxfer.h
+ dcmdata/libsrc/dcxfer.cc
+
+- Output the DIMSE status in verbose mode (if debug mode is not enabled).
+ Affects: dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scu.cc
+
+- Completed implementation of function DU_cgetStatusString().
+ Affects: dcmnet/libsrc/diutil.cc
+
+- Added function that converts the status of a C-ECHO response to a string.
+ Affects: dcmnet/apps/echoscu.cc
+ dcmnet/include/dcmtk/dcmnet/diutil.h
+ dcmnet/libsrc/diutil.cc
+
+- Added method that allows for clearing the list of presentation contexts.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+- Introduced a couple of new network-related error codes (aka OFCondition).
+ Affects: dcmnet/include/dcmtk/dcmnet/cond.h
+ dcmnet/libsrc/cond.cc
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.09.26 (riesmeier)
+
+- Added definitions for enabling full support for the ON_THE_FLY_COMPRESSION
+ feature by uncommenting a single line in the (C)make file.
+ Affects: dcmnet/apps/CMakeLists.txt
+ dcmnet/apps/Makefile.in
+
+- Removed superfluous include directories (to IJG headers).
+ Affects: dcmjpeg/apps/CMakeLists.txt
+
+- Added support for JPEG-LS to the experimental ON_THE_FLY_COMPRESSION feature.
+ Affects: dcmnet/apps/storescu.cc
+
+- Changed order of DCMTK modules in order to allow network applications to
+ depend on the image compression libraries. Of course, this is only a
+ modification of the default configuration. The user can still change the
+ order or disable particular modules (see INSTALL file for details).
+ Affects: CMakeLists.txt
+ Makefile
+ config/modules
+
+- Moved --verbose-pc option to the end of the "general options" section.
+ Affects: dcmnet/apps/getscu.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/docs/getscu.man
+
+**** Changes from 2011.09.23 (riesmeier)
+
+- Removed needless deletion of the "statusDetail" variable.
+ Affects: dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.09.22 (riesmeier)
+
+- Fixed incorrect comment on return code of some sendXXXRequest() methods.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/include/dcmtk/dcmnet/scu.h
+
+- Removed "dcmtls" headers, which were used/needed in a previous version.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+
+- Updated man pages for new development snapshot.
+ Added: doxygen/manpages/man1/getscu.1
+ Affects: doxygen/manpages/man1/*
+
+- Fixed MinGW defines by explicitly specifying the value.
+ Affects: config/configure.in
+
+- Output status detail information (if any) to the DEBUG logger and not to the
+ WARN or INFO logger. This is now consistent for all DCMTK network tools.
+ Affects: dcmnet/apps/echoscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/libsrc/dfindscu.cc
+
+- Output DIMSE status of the response message to the INFO logger (if DEBUG mode
+ if not enabled). Thanks to forum user "kron24" for the original report.
+ Affects: dcmnet/apps/storescu.cc
+
+- Added note that the three FIND SOP classes are also proposed, even though
+ they are not used (a relict of the RSNA'93 demonstration).
+ Affects: dcmnet/docs/movescu.man
+
+**** Changes from 2011.09.21 (riesmeier)
+
+- Moved two options from the "general" section to more appropriate subsections.
+ Introduced new --backup option to indicate what the default behavior is and
+ modified some backup-related log messages.
+ Affects: dcmdata/apps/mdfconen.cc
+ dcmdata/docs/dcmodify.man
+
+- Added missing man page for the new C-GET SCU command line tool.
+ Added: dcmnet/docs/getscu.man
+ Affects: dcmnet/docs/dcmnet.dox
+
+- Added explicit typecast in order to correctly output the presentation context
+ ID to the logger.
+ Affects: dcmnet/libsrc/dfindscu.cc
+ dcmnet/apps/movescu.cc
+
+- Removed TCP wrapper support (libwrap) which is not really useful for an SCU.
+ Affects: dcmnet/apps/getscu.cc
+
+- Removed option --disable-host-lookup which is not really useful for an SCU.
+ Affects: dcmnet/apps/getscu.cc
+
+- Removed version check for "Darwin" in order to always support the most recent
+ Mac OS X version. Thanks to forum user "coach4ae" for the original report.
+ Affects: config/configure
+ config/configure.in
+
+- Fixed minor issue regarding the --key option.
+ Affects: dcmnet/docs/movescu.man
+
+**** Changes from 2011.09.20 (schlachter)
+
+- Fixed a badly choosen timeout when accepting a new association. Thanks to
+ Kornelius Sohn <k.sohn@starc-medical.de> for the report and the suggested fix.
+ Affects: dcmnet/libsrc/dul.cc
+
+- Correctly signal timeouts while accepting an association.
+ Thanks to Kornelius Sohn <k.sohn@starc-medical.de> for the report.
+ Affects: dcmnet/libsrc/dulfsm.cc
+
+**** Changes from 2011.09.19 (riesmeier)
+
+- Made output of C-FIND responses to logger more consistent with movescu.
+ Affects: dcmnet/libsrc/dfindscu.cc
+
+- Output more details on incoming sub-associations (e.g. presentation
+ contexts). Also fixed some other inconsistencies regarding the logging.
+ Affects: dcmnet/apps/movescu.cc
+
+- Added further helper classes to the module's documentation page.
+ Affects: ofstd/docs/ofstd.dox
+
+**** Changes from 2011.09.16 (riesmeier)
+
+- Fixed some typos and other small inconsistencies.
+ Affects: dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.09.09 (riesmeier)
+
+- Output more details in case of bad command to the ERROR and DEBUG logger.
+ Affects: dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+
+- Output error message on bad command type to ERROR instead of INFO logger.
+ Affects: dcmpstat/libsrc/dvpsprt.cc
+
+- Replaced local list of supported storage SOP classes by the global variable
+ dcmLongSCUStorageSOPClassUIDs, which is maintained at a central location.
+ Affects: dcmnet/apps/getscu.cc
+
+- Aligned list of documented SOP classes with the actual implementation.
+ Affects: dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmqrdb/docs/dcmqrscp.man
+
+- Fixed outdated notes on the --port option and some other minor issues.
+ Affects: dcmnet/docs/movescu.man
+
+**** Changes from 2011.09.08 (elgazzar)
+
+- Added a module number for the dcmstscp module for the error codes.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+
+**** Changes from 2011.09.08 (riesmeier)
+
+- Added support for new SOP Class UID from Supplement 152 (Ophthalmic Thickness
+ Map Storage SOP Class).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/docs/storescu.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added support for final text version of Supplement 152 (Ophthalmic Thickness
+ Map Storage SOP Class) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Fixed log message in checkMetaHeaderValue() for reasons of consistency.
+ Affects: dcmdata/libsrc/dcfilefo.cc
+
+**** Changes from 2011.09.07 (riesmeier)
+
+- Made more clear that option --key also supports path expressions.
+ Affects: dcmnet/apps/getscu.cc
+
+**** Changes from 2011.09.06 (elgazzar)
+
+- Added a function to handle N-ACTION request.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+- Also added a function to send N-EVENT-REPORT request on the current
+ association. Intended to be used for a storage commitment server.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+- Also added a function to find a presentation context given a presentation
+ context ID.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+- Fixed wrong logger name which caused compiler error.
+ Affects: dcmnet/libsrc/scu.cc
+
+- Added a function to send N-EVENT-REPORT request and receive a response.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.09.06 (riesmeier)
+
+- Added support for final text version of CP-1064 (Float VR in numeric SR
+ content items) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Also remove elements of group 0x0006 from sequence items (see CP-1129).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h
+ dcmdata/libsrc/dcdatset.cc
+
+- Fixed typo in CMake warning message (copy-and-paste bug). Thanks to Per Inge
+ Mathisen <per.mathisen@gmail.com> for the report and suggested fix.
+ Affects: CMake/3rdparty.cmake
+
+**** Changes from 2011.08.30 (schlachter)
+
+- Fix compilation on Solaris and possibly other systems.
+ Affects: dcmnet/libsrc/dulfsm.cc
+
+**** Changes from 2011.08.26 (riesmeier)
+
+- Added new helper methods putAndInsertFloat32/64Array().
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/dcitem.cc
+
+- Fixed issue with possibly wrong status return value in putAndInsertFloat32().
+ Affects: dcmdata/libsrc/dcitem.cc
+
+- Replaced remaining tabs by spaces.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvrfd.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfl.h
+
+**** Changes from 2011.08.25 (riesmeier)
+
+- Further cleanup of minor inconsistencies regarding documentation, parameter
+ names, log output and handling of status details information.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+- Changed data structure for Q/R responses from OFVector to OFList. Also fixed
+ some possible memory leaks and made the FIND/MOVE/GET code more consistent.
+ Affects: dcmnet/apps/getscu.cc
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+- Added "verbose-pc" mode that shows the presentation contexts in verbose mode.
+ Affects: dcmnet/apps/getscu.cc
+
+- Fixed minor issues in the documentation, parameter and method names. Output
+ retrieve responses to main dcmnet logger instead of response logger.
+ Affects: dcmnet/libsrc/scu.cc
+
+- Fixed minor issues in the API documentation, parameter and method names.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+
+**** Changes from 2011.08.25 (onken)
+
+- Added getscu to configure/make build system.
+ Affects: dcmnet/apps/Makefile.dep
+ dcmnet/apps/Makefile.in
+
+- Added C-GET functionality to DcmSCU class and accompanying getscu
+ commandline application.
+ Added: dcmnet/apps/getscu.cc
+ Affects: dcmnet/apps/CMakeLists.txt
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+- Fixed typo and adapted copyright.
+ Affects: dcmdata/docs/dcmodify.man
+
+- Added dcmodify option that permits creation of files from scratch.
+ Affects: dcmdata/apps/mdfconen.cc
+ dcmdata/apps/mdfconen.h
+ dcmdata/apps/mdfdsman.cc
+ dcmdata/apps/mdfdsman.h
+ dcmdata/docs/dcmodify.man
+
+**** Changes from 2011.08.24 (riesmeier)
+
+- Uncommented name of unused method parameter that caused a compiler warning.
+ Affects: dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.08.23 (riesmeier)
+
+- Added optional parameter for the private creator to the DcmTag constructor
+ in order to better support private tag definitions.
+ Affects: dcmdata/include/dcmtk/dcmdata/dctag.h
+ dcmdata/libsrc/dctag.cc
+
+- Fixed another inconsistent test name.
+ Affects: dcmdata/tests/tests.cc
+ dcmdata/tests/tparser.cc
+
+- Minor stylistic corrections.
+ Affects: INSTALL
+
+**** Changes from 2011.08.22 (riesmeier)
+
+- Fixed misleading documentation for hasValidGroup() method.
+ Affects: dcmdata/include/dcmtk/dcmdata/dctagkey.h
+
+**** Changes from 2011.08.22 (schlachter)
+
+- Enhanced the "make check" target.
+ Affects: Makefile
+ config/Makefile.in
+ config/rootconf
+ dcmdata/Makefile.in
+ dcmdata/tests/Makefile.in
+ dcmimage/Makefile.in
+ dcmimage/tests/Makefile.in
+ dcmimgle/Makefile.in
+ dcmimgle/tests/Makefile.in
+ dcmjpeg/Makefile.in
+ dcmjpeg/tests/Makefile.in
+ dcmjpls/Makefile.in
+ dcmjpls/tests/Makefile.in
+ dcmnet/Makefile.in
+ dcmnet/tests/Makefile.in
+ dcmpstat/Makefile.in
+ dcmpstat/tests/Makefile.in
+ dcmqrdb/Makefile.in
+ dcmqrdb/tests/Makefile.in
+ dcmsign/Makefile.in
+ dcmsign/tests/Makefile.in
+ dcmsr/Makefile.in
+ dcmsr/tests/Makefile.in
+ dcmtls/Makefile.in
+ dcmtls/tests/Makefile.in
+ dcmwlm/Makefile.in
+ dcmwlm/tests/Makefile.in
+ oflog/Makefile.in
+ oflog/tests/Makefile.in
+ ofstd/Makefile.in
+ ofstd/tests/Makefile.in
+
+- Fixed atof test with MSC6.
+ Affects: ofstd/tests/tatof.cc
+
+**** Changes from 2011.08.19 (schlachter)
+
+- Added a function for sleeping with a millisecond timeout.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofstd.cc
+
+- Speed up the thread test by polling more often for events.
+ Affects: ofstd/tests/tthread.cc
+
+- Fixed compilation with MSC6.
+ Affects: dcmdata/tests/telemlen.cc
+ dcmjpeg/libsrc/djdijg12.cc
+ dcmjpeg/libsrc/djdijg16.cc
+ dcmjpeg/libsrc/djdijg8.cc
+
+- Turned on make's silent mode for "make check".
+ Affects: Makefile
+ config/rootconf
+
+**** Changes from 2011.08.19 (riesmeier)
+
+- Moved "TLS options" section closer to the related "network options" section.
+ Affects: dcmnet/apps/storescp.cc
+ dcmnet/docs/storescp.man
+
+- Added support for specifying the directory where the response messages are
+ stored. Also output the name of the created file to the logger.
+ Affects: dcmnet/apps/findscu.cc
+ dcmnet/docs/findscu.man
+ dcmnet/include/dcmtk/dcmnet/dfindscu.h
+ dcmnet/libsrc/dfindscu.cc
+
+- Added new command line options in order to enable the output of C-FIND
+ response messages to the new dcmnet response logger (on INFO level).
+ Affects: dcmnet/apps/findscu.cc
+ dcmnet/docs/findscu.man
+
+- Output C-FIND response messages to a separate logger (on INFO level).
+ Affects: dcmnet/include/dcmtk/dcmnet/diutil.h
+ dcmnet/libsrc/dfindscu.cc
+ dcmnet/libsrc/diutil.cc
+ oflog/etc/logger.cfg
+
+- Passed log4cplus's internal log level OFF_LOG_LEVEL to OFLogger and added
+ new method for setting the log level directly.
+ Affects: oflog/include/dcmtk/oflog/oflog.h
+
+**** Changes from 2011.08.18 (riesmeier)
+
+- Replaced the private creator part of the hash function by an equivalent
+ but probably more efficient implementation.
+ Affects: dcmdata/libsrc/dchashdi.cc
+
+- Fixed API documentation (required after last commit).
+ Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h
+
+- Fixed some settings regarding CygWin.
+ Affects: CMake/osconfig.h.in
+
+- Made sure that #define statements always have a value and #undef has none.
+ Affects: CMake/osconfig.h.in
+ config/include/dcmtk/config/osconfig.h.in
+
+- Added "wwwapps" sub-directory to CMake project files.
+ Added: dcmwlm/wwwapps/CMakeLists.txt
+ Affects: dcmwlm/CMakeLists.txt
+
+- Replaced function max() by macro MAX() in order to compile with VisualStudio.
+ Affects: dcmwlm/wwwapps/writwlst.cc
+
+**** Changes from 2011.08.17 (schlachter)
+
+- Added a small test for the data dictionary.
+ Added: dcmdata/tests/tdict.cc
+ Affects: dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+- Fixed a crash when iterating over an empty dictionary.
+ Affects: dcmdata/libsrc/dchashdi.cc
+
+- Improved hashing function for tags (less code, handles private creator).
+ Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h
+ dcmdata/libsrc/dchashdi.cc
+
+- Removed some accidentally committed test code.
+ Affects: dcmdata/tests/tdict.cc
+
+**** Changes from 2011.08.16 (riesmeier)
+
+- Replaced define HAVE_CONFIG_H by a more appropriate INETD_AVAILABLE.
+ Affects: dcmnet/apps/storescp.cc
+ dcmnet/docs/storescp.man
+
+- Added missing CMake tests for system header files.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+
+- Added missing CMake tests for system functions.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+ CMake/osconfig.h.in
+
+- Replaced system-dependent checks by the defines for localtime_r and gmtime_r.
+ Affects: ofstd/libsrc/ofdate.cc
+ ofstd/libsrc/oftime.cc
+
+- Fixed wrong use of #if statement.
+ Affects: ofstd/libsrc/oftime.cc
+
+**** Changes from 2011.08.11 (riesmeier)
+
+- Added new Storage SOP Classes from DICOM 2011, which are originally defined
+ in DICOS and DICONDE standard, respectively.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+
+- Updated data dictionary for DICOM 2011 standard. This includes definitions
+ from DICOS (Digital Imaging and Communications in Security) standard.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added missing header file to compile when PRINT_REPLACED_DICTIONARY_ENTRIES
+ is defined.
+ Affects: dcmdata/libsrc/dchashdi.cc
+
+**** Changes from 2011.08.10 (riesmeier)
+
+- Removed any references to the old "cfunix.h" file. Thanks to Markus Mertens
+ <markus.mertens@uni-muenster.de> for the original report.
+ Affects: config/Makefile.in
+ dcmdata/docs/datadict.txt
+
+**** Changes from 2011.08.10 (schlachter)
+
+- Improved robustness of the DCMTK_ADD_TESTS CMake macro.
+ Affects: CMake/dcmtkAddTests.cmake
+
+- Increase minimum CMake version to 2.6.
+ Affects: CMakeLists.txt
+ INSTALL
+
+**** Changes from 2011.08.09 (riesmeier)
+
+- Introduced installation components for the CMake build system (in a similar
+ way as for GNU autoconf), which could be useful for package maintainers.
+ Added: dcmdata/include/CMakeLists.txt
+ dcmimage/include/CMakeLists.txt
+ dcmimgle/include/CMakeLists.txt
+ dcmjpeg/include/CMakeLists.txt
+ dcmjpls/include/CMakeLists.txt
+ dcmnet/include/CMakeLists.txt
+ dcmpstat/include/CMakeLists.txt
+ dcmqrdb/include/CMakeLists.txt
+ dcmsign/include/CMakeLists.txt
+ dcmsr/include/CMakeLists.txt
+ dcmtls/include/CMakeLists.txt
+ dcmwlm/include/CMakeLists.txt
+ oflog/include/CMakeLists.txt
+ ofstd/include/CMakeLists.txt
+ Removed: dcmdata/include/dcmtk/dcmdata/CMakeLists.txt
+ dcmdata/include/dcmtk/dcmdata/libi2d/CMakeLists.txt
+ dcmimage/include/dcmtk/dcmimage/CMakeLists.txt
+ dcmimgle/include/dcmtk/dcmimgle/CMakeLists.txt
+ dcmjpeg/include/dcmtk/dcmjpeg/CMakeLists.txt
+ dcmjpls/include/dcmtk/dcmjpls/CMakeLists.txt
+ dcmnet/include/dcmtk/dcmnet/CMakeLists.txt
+ dcmpstat/include/dcmtk/dcmpstat/CMakeLists.txt
+ dcmqrdb/include/dcmtk/dcmqrdb/CMakeLists.txt
+ dcmsign/include/dcmtk/dcmsign/CMakeLists.txt
+ dcmsr/include/dcmtk/dcmsr/CMakeLists.txt
+ dcmtls/include/dcmtk/dcmtls/CMakeLists.txt
+ dcmwlm/include/dcmtk/dcmwlm/CMakeLists.txt
+ oflog/include/dcmtk/oflog/CMakeLists.txt
+ ofstd/include/dcmtk/ofstd/CMakeLists.txt
+ Affects: CMakeLists.txt
+ config/docs/CMakeLists.txt
+ dcmdata/CMakeLists.txt
+ dcmdata/apps/CMakeLists.txt
+ dcmdata/data/CMakeLists.txt
+ dcmdata/docs/CMakeLists.txt
+ dcmdata/libi2d/CMakeLists.txt
+ dcmdata/libsrc/CMakeLists.txt
+ dcmimage/CMakeLists.txt
+ dcmimage/apps/CMakeLists.txt
+ dcmimage/libsrc/CMakeLists.txt
+ dcmimgle/CMakeLists.txt
+ dcmimgle/apps/CMakeLists.txt
+ dcmimgle/data/CMakeLists.txt
+ dcmimgle/libsrc/CMakeLists.txt
+ dcmjpeg/CMakeLists.txt
+ dcmjpeg/apps/CMakeLists.txt
+ dcmjpeg/libijg12/CMakeLists.txt
+ dcmjpeg/libijg16/CMakeLists.txt
+ dcmjpeg/libijg8/CMakeLists.txt
+ dcmjpeg/libsrc/CMakeLists.txt
+ dcmjpls/CMakeLists.txt
+ dcmjpls/apps/CMakeLists.txt
+ dcmjpls/libcharls/CMakeLists.txt
+ dcmjpls/libsrc/CMakeLists.txt
+ dcmnet/CMakeLists.txt
+ dcmnet/apps/CMakeLists.txt
+ dcmnet/docs/CMakeLists.txt
+ dcmnet/etc/CMakeLists.txt
+ dcmnet/libsrc/CMakeLists.txt
+ dcmpstat/CMakeLists.txt
+ dcmpstat/apps/CMakeLists.txt
+ dcmpstat/data/CMakeLists.txt
+ dcmpstat/etc/CMakeLists.txt
+ dcmpstat/libsrc/CMakeLists.txt
+ dcmqrdb/CMakeLists.txt
+ dcmqrdb/apps/CMakeLists.txt
+ dcmqrdb/docs/CMakeLists.txt
+ dcmqrdb/etc/CMakeLists.txt
+ dcmqrdb/libsrc/CMakeLists.txt
+ dcmsign/CMakeLists.txt
+ dcmsign/apps/CMakeLists.txt
+ dcmsign/libsrc/CMakeLists.txt
+ dcmsr/CMakeLists.txt
+ dcmsr/apps/CMakeLists.txt
+ dcmsr/data/CMakeLists.txt
+ dcmsr/libsrc/CMakeLists.txt
+ dcmtls/CMakeLists.txt
+ dcmtls/docs/CMakeLists.txt
+ dcmtls/libsrc/CMakeLists.txt
+ dcmwlm/CMakeLists.txt
+ dcmwlm/apps/CMakeLists.txt
+ dcmwlm/data/CMakeLists.txt
+ dcmwlm/docs/CMakeLists.txt
+ dcmwlm/libsrc/CMakeLists.txt
+ doxygen/CMakeLists.txt
+ oflog/CMakeLists.txt
+ oflog/etc/CMakeLists.txt
+ oflog/libsrc/CMakeLists.txt
+ ofstd/CMakeLists.txt
+ ofstd/libsrc/CMakeLists.txt
+
+- Fixed wrong pattern in INSTALL statement.
+ Affects: dcmdata/include/CMakeLists.txt
+ dcmimgle/include/CMakeLists.txt
+
+- Moved "osconfig.h" file generated by CMake to "config" sub-directory.
+ Affects: CMakeLists.txt
+ INSTALL
+
+**** Changes from 2011.08.08 (riesmeier)
+
+- Added label to CMake tests (CTest), which is identical to the module name.
+ Affects: CMake/dcmtkAddTests.cmake
+
+- Added test cases for new parser flag "dcmPreferVRFromDataDictionary".
+ Affects: dcmdata/tests/tests.cc
+ dcmdata/tests/tparser.cc
+
+- Added new parser flag that allows for ignoring the element's VR read from the
+ dataset and for preferring the VR defined in the data dictionary.
+ Affects: dcmdata/apps/dcmconv.cc
+ dcmdata/apps/dcmdump.cc
+ dcmdata/docs/dcmconv.man
+ dcmdata/docs/dcmdump.man
+ dcmdata/include/dcmtk/dcmdata/dcobject.h
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcobject.cc
+
+- Fixed various minor issues related to the Doxygen documentation.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+
+**** Changes from 2011.08.08 (onken)
+
+- Added further doxygen documentation.
+ Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h
+
+- Made assignment operator private and added public copy
+ constructor. Fixed doxygen documentation.
+ Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h
+
+- Added dumb assignment operator in order to keep VS compilers quiet. Thanks to
+ Yves Neumann <neumann@image-systems.biz> for the hint and suggested patch.
+ Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h
+
+**** Changes from 2011.08.05 (riesmeier)
+
+- Renamed test logger in order to reflect the current name of the program.
+ Affects: dcmdata/tests/tpath.cc
+
+- Fixed output of test program in debug mode.
+ Affects: dcmdata/tests/tpath.cc
+
+**** Changes from 2011.08.05 (onken)
+
+- Added function to find out whether current process was "forked" under
+ windows as a child.
+- Added functions to switch between blocking and non-blocking TCP/IP connection
+ mode. Also permits giving a timeout for non-blocking mode (default is 1000
+ seconds as it was hardcoded before).
+- DcmSCP now listens in TCP/IP blocking mode per default! This is since
+ it is expected that most users like to have the server running endlessly.
+- Renamed member and functions for DIMSE blocking mode in order to be clearly
+ distinguishable from TCP/IP blocking mode.
+- Moved message about disabled dcmdata autocorrection to listen() function in
+ order to (have the possibility to) suppress it in the child processes.
+- Added some debug output and documentation.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+**** Changes from 2011.08.03 (riesmeier)
+
+- Added macro that allows for disabling the port permission check in SCPs.
+ Thanks to forum user "Per" for pointing to this issue.
+ Affects: config/docs/macros.txt
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/include/dcmtk/dcmnet/cond.h
+ dcmnet/libsrc/cond.cc
+ dcmnet/libsrc/scp.cc
+ dcmpstat/apps/dcmpsrcv.cc
+ dcmpstat/tests/msgserv.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmwlm/libsrc/wlmactmg.cc
+
+- Added blocking mode and timeout parameter to request association functions.
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the original patch.
+ Affects: dcmnet/include/dcmtk/dcmnet/assoc.h
+ dcmnet/include/dcmtk/dcmnet/dul.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/dul.cc
+
+- Include "io.h" required for mktemp() on Windows with VisualStudio.
+ Affects: dcmdata/libsrc/dcdicdir.cc
+
+- Added "io.h" to the list of headers used for testing function prototypes.
+ Required in order to avoid a compiler warning on Windows with VisualStudio.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+- Updated information on latest version of CMake that has been tested (2.8.5).
+ Affects: CMakeLists.txt
+
+**** Changes from 2011.08.02 (schlachter)
+
+- Speed up the code for writing DICOMDIRs.
+ Affects: dcmdata/libsrc/dcdicdir.cc
+
+- Don't load files twice when constructing a DICOMDIR.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcdirrec.cc
+
+- Speed up the code for reading DICOMDIRs, too.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdicdir.h
+ dcmdata/libsrc/dcdicdir.cc
+
+**** Changes from 2011.08.02 (riesmeier)
+
+- Added more general support for softcopy presentation states (not only GSPS).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Fixed typos and/or minor formatting issues.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrcontn.h
+ dcmsr/include/dcmtk/dcmsr/dsrcsidl.h
+ dcmsr/include/dcmtk/dcmsr/dsrdattn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdtitn.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgfr.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrreftn.h
+ dcmsr/include/dcmtk/dcmsr/dsrscogr.h
+ dcmsr/include/dcmtk/dcmsr/dsrscotn.h
+ dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
+ dcmsr/include/dcmtk/dcmsr/dsrstrvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcodt.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcosp.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcotn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcoto.h
+ dcmsr/include/dcmtk/dcmsr/dsrtcovl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtextn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtimtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtlist.h
+ dcmsr/include/dcmtk/dcmsr/dsruidtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavch.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavtn.h
+ dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
+
+**** Changes from 2011.08.01 (onken)
+
+- Added CMake option for enforcing -fPIC flag when compiling on 64 bit
+ unix platforms, needed for linking from dynamic libraries to statically
+ linked DCMTK libraries.
+ Affects: CMakeLists.txt
+
+- Fixed CVS log at end of file.
+ Affects: dcmdata/tests/tparser.cc
+
+- Added deletion of temporary files in case tests fail.
+ Affects: dcmdata/tests/tparser.cc
+
+- Changed random file name generation to avoid warning about mktemp on
+ linux systems.
+ Affects: dcmdata/tests/tparser.cc
+
+**** Changes from 2011.07.26 (onken)
+
+- Fixed regular expression in Mac OS X Lion adaption.
+ Affects: config/configure
+ config/configure.in
+
+- Fixed compilation with configure/make on Mac OS X Lion (10.7).
+ Thanks to Eric A. Borisch <eborisch@macports.org> for the suggested patch.
+ Affects: config/configure
+ config/configure.in
+
+**** Changes from 2011.07.14 (riesmeier)
+
+- Slightly enhanced performance of DICOMDIR code, e.g. by a more appropriate
+ use of the underlying DcmList class.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdicdir.h
+ dcmdata/libsrc/dcdicdir.cc
+
+- Fixed wrong method name in log message.
+ Affects: dcmdata/libsrc/dcdirrec.cc
+
+**** Changes from 2011.07.12 (riesmeier)
+
+- Made sure that elements from group 0x0000 are also removed from a data set.
+ Affects: dcmdata/libsrc/dcdatset.cc
+
+- Added new optional flag that allows for removing invalid elements from a
+ command set.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h
+ dcmdata/libsrc/dcdatset.cc
+
+- Output information on removed invalid data elements to debug logger.
+ Affects: dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcmetinf.cc
+
+**** Changes from 2011.07.07 (riesmeier)
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/*
+
+- Added missing extern "C" declaration for mktemp(), e.g. required for MSVC++.
+ Affects: dcmdata/tests/tparser.cc
+
+**** Changes from 2011.07.06 (riesmeier)
+
+- Added missing test file "tparser" introduced with the last commit.
+ Affects: dcmdata/tests/CMakeLists.txt
+
+**** Changes from 2011.07.06 (schlachter)
+
+- Rename include guards to match yesterday's rename.
+ Affects: config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+
+- Improved OFMap's and OFPair's standard conformance.
+ Affects: ofstd/include/dcmtk/ofstd/ofmap.h
+
+- Removed some outdated notes, references and files.
+ Removed: config/Makefile.x.in
+ config/mvldflags
+ Affects: config/docs/config.txt
+ config/docs/modules.txt
+
+- Fixed various compiler warnings.
+ Affects: dcmdata/apps/pdf2dcm.cc
+ dcmdata/libi2d/Makefile.in
+ dcmdata/libsrc/dcddirif.cc
+ dcmnet/include/dcmtk/dcmnet/assoc.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scu.cc
+ dcmpstat/apps/dcmmklut.cc
+ dcmpstat/apps/dcmp2pgm.cc
+ dcmpstat/apps/dcmpschk.cc
+ dcmpstat/apps/dcmpsprt.cc
+ dcmqrdb/libsrc/dcmqrtis.cc
+ dcmwlm/libsrc/wlds.cc
+ dcmwlm/libsrc/wlmactmg.cc
+ dcmwlm/tests/wltest.cc
+ dcmwlm/wwwapps/readoviw.cc
+ dcmwlm/wwwapps/readwlst.cc
+
+- Added tests for some bugs which we recently fixed.
+ Added: dcmdata/tests/tparser.cc
+ Affects: dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+- Fixed some inconsistencies in test names.
+ Affects: dcmdata/tests/tests.cc
+ dcmdata/tests/tpath.cc
+ ofstd/tests/tbase64.cc
+ ofstd/tests/tests.cc
+ ofstd/tests/tofstd.cc
+
+- Updated the template files.
+ Affects: config/templates/Makefile.lib
+ config/templates/Makefile.mod
+ config/templates/Makefile.src
+
+- Changed the default log level for tests to "ERROR".
+ Affects: oflog/include/dcmtk/oflog/oflog.h
+ oflog/libsrc/oflog.cc
+ ofstd/include/dcmtk/ofstd/oftest.h
+
+**** Changes from 2011.07.05 (riesmeier)
+
+- Updated documentation in order to reflect the removal / renaming of
+ "cfunix.h.in". Slightly revised the wording and formatting of the text.
+ Affects: config/docs/config.txt
+ config/docs/modules.txt
+
+**** Changes from 2011.07.05 (schlachter)
+
+- Merge osconfig.h and cfunix.h.in into osconfig.h.in.
+ Added: config/include/dcmtk/config/osconfig.h.in
+ Removed: config/include/dcmtk/config/cfunix.h.in
+ config/include/dcmtk/config/osconfig.h
+ Affects: config/configure
+ config/configure.in
+ dcmdata/apps/Makefile.dep
+ dcmdata/libi2d/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimage/libsrc/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpeg/libijg12/Makefile.dep
+ dcmjpeg/libijg16/Makefile.dep
+ dcmjpeg/libijg8/Makefile.dep
+ dcmjpeg/libsrc/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmjpls/libcharls/Makefile.dep
+ dcmjpls/libsrc/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmqrdb/libsrc/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsign/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ dcmwlm/tests/Makefile.dep
+ dcmwlm/wwwapps/Makefile.dep
+ oflog/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+ ofstd/tests/Makefile.dep
+
+**** Changes from 2011.06.30 (riesmeier)
+
+- Fixed minor issue that is reported when compiled with "gcc -Weffc++".
+ Affects: dcmjpls/libsrc/djcparam.cc
+
+**** Changes from 2011.06.29 (riesmeier)
+
+- Minor changes to new section "RUNNING THE TESTSUITE".
+ Affects: INSTALL
+
+- Fixed various issues that are reported when compiled with "gcc -Weffc++".
+ Affects: dcmimage/include/dcmtk/dcmimage/diqtpix.h
+ dcmnet/libsrc/scu.cc
+ ofstd/include/dcmtk/ofstd/oftest.h
+
+**** Changes from 2011.06.29 (onken)
+
+- Enhanced documentation of DcmItem::clear().
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+
+**** Changes from 2011.06.27 (riesmeier)
+
+- Closed two memory leaks. Thanks to forum user "angad" for the report.
+ Affects: dcmwlm/libsrc/wlfsim.cc
+
+- Fixed mismatched delete vs. delete[] statements reported by valgrind.
+ Affects: dcmwlm/libsrc/wlmactmg.cc
+
+**** Changes from 2011.06.21 (riesmeier)
+
+- Separated JPEG and JPEG 2000 variants of General Purpose DVD and USB/Flash
+ Memory application profiles.
+ Affects: dcmdata/apps/dcmgpdir.cc
+ dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmjpeg/docs/dcmmkdir.man
+
+- Added two new multi-frame composite IODs from Supplement 151 to application
+ profile DVD Interchange with MPEG2 Main Profile @ Main Level.
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+- Added support for Blu-ray Disc Media Application Profiles (Supplement 153).
+ Affects: dcmdata/apps/dcmgpdir.cc
+ dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmjpeg/docs/dcmmkdir.man
+
+**** Changes from 2011.06.21 (schlachter)
+
+- Renamed all log4cplus macros to avoid conflicts with external log4cplus.
+ Again, thanks to forum user "ymartelli" for the report.
+ Affects: oflog/docs/oflog.dox
+ oflog/include/dcmtk/oflog/appender.h
+ oflog/include/dcmtk/oflog/config.h
+ oflog/include/dcmtk/oflog/configrt.h
+ oflog/include/dcmtk/oflog/consap.h
+ oflog/include/dcmtk/oflog/fileap.h
+ oflog/include/dcmtk/oflog/fstreams.h
+ oflog/include/dcmtk/oflog/hierarchy.h
+ oflog/include/dcmtk/oflog/hierlock.h
+ oflog/include/dcmtk/oflog/layout.h
+ oflog/include/dcmtk/oflog/logger.h
+ oflog/include/dcmtk/oflog/loglevel.h
+ oflog/include/dcmtk/oflog/logmacro.h
+ oflog/include/dcmtk/oflog/ndc.h
+ oflog/include/dcmtk/oflog/ntelogap.h
+ oflog/include/dcmtk/oflog/nullap.h
+ oflog/include/dcmtk/oflog/oflog.h
+ oflog/include/dcmtk/oflog/socketap.h
+ oflog/include/dcmtk/oflog/streams.h
+ oflog/include/dcmtk/oflog/syslogap.h
+ oflog/include/dcmtk/oflog/tstring.h
+ oflog/include/dcmtk/oflog/winconap.h
+ oflog/include/dcmtk/oflog/windebap.h
+ oflog/include/dcmtk/oflog/config/defines.h
+ oflog/include/dcmtk/oflog/config/macosx.h
+ oflog/include/dcmtk/oflog/config/win32.h
+ oflog/include/dcmtk/oflog/helpers/apndimpl.h
+ oflog/include/dcmtk/oflog/helpers/lloguser.h
+ oflog/include/dcmtk/oflog/helpers/loglog.h
+ oflog/include/dcmtk/oflog/helpers/pointer.h
+ oflog/include/dcmtk/oflog/helpers/property.h
+ oflog/include/dcmtk/oflog/helpers/sleep.h
+ oflog/include/dcmtk/oflog/helpers/sockbuff.h
+ oflog/include/dcmtk/oflog/helpers/socket.h
+ oflog/include/dcmtk/oflog/helpers/strhelp.h
+ oflog/include/dcmtk/oflog/helpers/syncppth.h
+ oflog/include/dcmtk/oflog/helpers/syncprims.h
+ oflog/include/dcmtk/oflog/helpers/syncpwin.h
+ oflog/include/dcmtk/oflog/helpers/threadcf.h
+ oflog/include/dcmtk/oflog/helpers/threads.h
+ oflog/include/dcmtk/oflog/helpers/timehelp.h
+ oflog/include/dcmtk/oflog/spi/apndatch.h
+ oflog/include/dcmtk/oflog/spi/factory.h
+ oflog/include/dcmtk/oflog/spi/filter.h
+ oflog/include/dcmtk/oflog/spi/logevent.h
+ oflog/include/dcmtk/oflog/spi/logfact.h
+ oflog/include/dcmtk/oflog/spi/logimpl.h
+ oflog/include/dcmtk/oflog/spi/objreg.h
+ oflog/include/dcmtk/oflog/spi/rootlog.h
+ oflog/libsrc/apndimpl.cc
+ oflog/libsrc/appender.cc
+ oflog/libsrc/config.cc
+ oflog/libsrc/consap.cc
+ oflog/libsrc/factory.cc
+ oflog/libsrc/fileap.cc
+ oflog/libsrc/filter.cc
+ oflog/libsrc/globinit.cc
+ oflog/libsrc/hierarchy.cc
+ oflog/libsrc/hierlock.cc
+ oflog/libsrc/layout.cc
+ oflog/libsrc/logevent.cc
+ oflog/libsrc/logger.cc
+ oflog/libsrc/logimpl.cc
+ oflog/libsrc/loglevel.cc
+ oflog/libsrc/loglog.cc
+ oflog/libsrc/ndc.cc
+ oflog/libsrc/ntelogap.cc
+ oflog/libsrc/objreg.cc
+ oflog/libsrc/patlay.cc
+ oflog/libsrc/pointer.cc
+ oflog/libsrc/property.cc
+ oflog/libsrc/rootlog.cc
+ oflog/libsrc/sockbuff.cc
+ oflog/libsrc/socketap.cc
+ oflog/libsrc/strhelp.cc
+ oflog/libsrc/syncprims.cc
+ oflog/libsrc/syslogap.cc
+ oflog/libsrc/threads.cc
+ oflog/libsrc/timehelp.cc
+ oflog/libsrc/unixsock.cc
+ oflog/libsrc/winconap.cc
+ oflog/libsrc/winsock.cc
+
+- Backport r1439 from log4cplus to fix endless loop in PatternParser.
+ Thanks to forum user "kosborn" for (accidentally) finding the problem.
+ Affects: oflog/libsrc/patlay.cc
+
+- Fix linking errors when compiling on windows.
+ Affects: oflog/libsrc/winsock.cc
+
+- Use OFBool for a variable which is already used as a boolean.
+ Affects: dcmimage/apps/dcm2pnm.cc
+
+**** Changes from 2011.06.21 (onken)
+
+- Fixed small documentation issue.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+
+**** Changes from 2011.06.20 (onken)
+
+- Fixed documentation of notifyDIMSEError() and sendSTOREResponse().
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+
+**** Changes from 2011.06.20 (riesmeier)
+
+- Added two new SOP Class UIDs from Supplement 151 (Intravascular OCT Image
+ Storage SOP Class).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/docs/storescu.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+**** Changes from 2011.06.17 (riesmeier)
+
+- Added support for final text version of Supplement 151 (Intravascular OCT
+ Image Storage SOP Class) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2011.06.15 (riesmeier)
+
+- Used new DcmTagKey::getBaseTag() where appropriate to simplify the code.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+- Made sure that only standard tags (even) are detected as repeating groups.
+ Affects: dcmdata/libsrc/dctagkey.cc
+
+- Fixed insufficient comparison of repeating group tags OverlayData and
+ CurveData. Thanks to forum user "budric" for pointing this out.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+- Added method that returns the base tag, i.e. in case of a repeating group tag
+ always the base group number 0x5000 (curve) or 0x6000 (overlay) is used.
+ Affects: dcmdata/include/dcmtk/dcmdata/dctagkey.h
+ dcmdata/libsrc/dctagkey.cc
+
+- Added suffix "UL" to integer constant in order to avoid a compiler warning.
+ Affects: dcmdata/libi2d/i2dbmps.cc
+
+- Updated copyright date.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrimpcc.h
+ dcmsr/libsrc/dsrimpcc.cc
+
+**** Changes from 2011.06.15 (schlachter)
+
+- Made sure thread 2 can't run before thread 1 in the semaphore test.
+ Affects: ofstd/tests/tthread.cc
+
+- Moved log4cplus into namespace dcmtk::log4cplus.
+ Thanks to forum user "ymartelli" for the report.
+ Affects: dcmpstat/apps/dcmprscp.cc
+ dcmpstat/apps/dcmprscu.cc
+ dcmpstat/libsrc/dviface.cc
+ oflog/include/dcmtk/oflog/appender.h
+ oflog/include/dcmtk/oflog/configrt.h
+ oflog/include/dcmtk/oflog/consap.h
+ oflog/include/dcmtk/oflog/fileap.h
+ oflog/include/dcmtk/oflog/fstreams.h
+ oflog/include/dcmtk/oflog/hierarchy.h
+ oflog/include/dcmtk/oflog/hierlock.h
+ oflog/include/dcmtk/oflog/layout.h
+ oflog/include/dcmtk/oflog/logger.h
+ oflog/include/dcmtk/oflog/loglevel.h
+ oflog/include/dcmtk/oflog/logmacro.h
+ oflog/include/dcmtk/oflog/ndc.h
+ oflog/include/dcmtk/oflog/ntelogap.h
+ oflog/include/dcmtk/oflog/nullap.h
+ oflog/include/dcmtk/oflog/oflog.h
+ oflog/include/dcmtk/oflog/socketap.h
+ oflog/include/dcmtk/oflog/streams.h
+ oflog/include/dcmtk/oflog/syslogap.h
+ oflog/include/dcmtk/oflog/tstring.h
+ oflog/include/dcmtk/oflog/winconap.h
+ oflog/include/dcmtk/oflog/windebap.h
+ oflog/include/dcmtk/oflog/helpers/apndimpl.h
+ oflog/include/dcmtk/oflog/helpers/lloguser.h
+ oflog/include/dcmtk/oflog/helpers/loglog.h
+ oflog/include/dcmtk/oflog/helpers/pointer.h
+ oflog/include/dcmtk/oflog/helpers/property.h
+ oflog/include/dcmtk/oflog/helpers/sleep.h
+ oflog/include/dcmtk/oflog/helpers/sockbuff.h
+ oflog/include/dcmtk/oflog/helpers/socket.h
+ oflog/include/dcmtk/oflog/helpers/strhelp.h
+ oflog/include/dcmtk/oflog/helpers/syncppth.h
+ oflog/include/dcmtk/oflog/helpers/syncprims.h
+ oflog/include/dcmtk/oflog/helpers/syncpwin.h
+ oflog/include/dcmtk/oflog/helpers/threadcf.h
+ oflog/include/dcmtk/oflog/helpers/threads.h
+ oflog/include/dcmtk/oflog/helpers/timehelp.h
+ oflog/include/dcmtk/oflog/spi/apndatch.h
+ oflog/include/dcmtk/oflog/spi/factory.h
+ oflog/include/dcmtk/oflog/spi/filter.h
+ oflog/include/dcmtk/oflog/spi/logevent.h
+ oflog/include/dcmtk/oflog/spi/logfact.h
+ oflog/include/dcmtk/oflog/spi/logimpl.h
+ oflog/include/dcmtk/oflog/spi/objreg.h
+ oflog/include/dcmtk/oflog/spi/rootlog.h
+ oflog/libsrc/apndimpl.cc
+ oflog/libsrc/appender.cc
+ oflog/libsrc/config.cc
+ oflog/libsrc/consap.cc
+ oflog/libsrc/factory.cc
+ oflog/libsrc/fileap.cc
+ oflog/libsrc/filter.cc
+ oflog/libsrc/globinit.cc
+ oflog/libsrc/hierarchy.cc
+ oflog/libsrc/hierlock.cc
+ oflog/libsrc/layout.cc
+ oflog/libsrc/lloguser.cc
+ oflog/libsrc/logevent.cc
+ oflog/libsrc/logger.cc
+ oflog/libsrc/logimpl.cc
+ oflog/libsrc/loglevel.cc
+ oflog/libsrc/loglog.cc
+ oflog/libsrc/ndc.cc
+ oflog/libsrc/ntelogap.cc
+ oflog/libsrc/nullap.cc
+ oflog/libsrc/objreg.cc
+ oflog/libsrc/oflog.cc
+ oflog/libsrc/patlay.cc
+ oflog/libsrc/pointer.cc
+ oflog/libsrc/property.cc
+ oflog/libsrc/rootlog.cc
+ oflog/libsrc/sleep.cc
+ oflog/libsrc/sockbuff.cc
+ oflog/libsrc/socket.cc
+ oflog/libsrc/socketap.cc
+ oflog/libsrc/strhelp.cc
+ oflog/libsrc/syncprims.cc
+ oflog/libsrc/syslogap.cc
+ oflog/libsrc/threads.cc
+ oflog/libsrc/timehelp.cc
+ oflog/libsrc/unixsock.cc
+ oflog/libsrc/winconap.cc
+ oflog/libsrc/windebap.cc
+ oflog/libsrc/winsock.cc
+
+**** Changes from 2011.06.14 (schlachter)
+
+- Fix needed libraries and link directories for the tests.
+ Thanks to forum user "Paul Groot" for the report.
+ Affects: dcmdata/tests/CMakeLists.txt
+ ofstd/tests/CMakeLists.txt
+
+**** Changes from 2011.06.08 (schlachter)
+
+- Corrected some file purpose descriptions.
+ Affects: dcmdata/tests/telemlen.cc
+ ofstd/include/dcmtk/ofstd/oftest.h
+
+- Added a paragraph about the test suite.
+ Affects: INSTALL
+
+**** Changes from 2011.06.07 (schlachter)
+
+- Added test cases for DcmElement::calcElementLength().
+ Added: dcmdata/tests/telemlen.cc
+ Affects: dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+- Again fixed a case where calcElementLength() used a wrong header length.
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+- Enhance the documentation for DcmVR::getValidEVR().
+ Thanks to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the hint.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+
+- Don't leave behind temporary files after the test.
+ Affects: dcmdata/tests/tpread.cc
+
+- Stop using the log levels INFO, WARN, ERROR and FATAL in tests.
+ Affects: dcmdata/tests/ti2dbmp.cc
+ dcmdata/tests/tpath.cc
+ dcmdata/tests/tpread.cc
+
+- Make it possible to run tests with CMake in a sane way.
+ Added: CMake/dcmtkAddTests.cmake
+ Affects: CMakeLists.txt
+ dcmdata/tests/CMakeLists.txt
+ ofstd/tests/CMakeLists.txt
+
+- Add CMake/dcmtkAddTests.cmake to config/changext.
+ Affects: config/changext
+
+**** Changes from 2011.06.01 (onken)
+
+- Removed unused status variable from C-ECHO code.
+ Thanks to Per Inge Mathisen <perim@sonowand.com>
+ Affects: dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.05.31 (schlachter)
+
+- Fix a memcpy that wrote past its target on 64 bit systems.
+ Thanks to Christian Wetzel <wetzel@phoenix-pacs.de> for the report.
+ Affects: dcmnet/libsrc/dulfsm.cc
+
+**** Changes from 2011.05.30 (onken)
+
+- Added dump of query/move keys in debug mode when sending C-FIND or C-MOVE.
+ Affects: dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.05.30 (riesmeier)
+
+- Fixed wrong indentation.
+ Affects: dcmnet/etc/storescp.cfg
+
+- Replaced Modality value "OT" by "DOC" which is more appropriate (see CP-749).
+ Thanks to forum user "maleike" for the original report.
+ Affects: dcmdata/apps/pdf2dcm.cc
+
+- Removed unused variables and fixed other compiler warnings. Thanks to Per
+ Inge Mathisen <perim@sonowand.com> for the report and suggested fix.
+ Affects: dcmnet/apps/storescp.cc
+ dcmqrdb/libsrc/dcmqrdbi.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+**** Changes from 2011.05.27 (riesmeier)
+
+- Fixed typos and source code formatting.
+ Affects: dcmnet/apps/findscu.cc
+ dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scu.cc
+ dcmwlm/libsrc/wlds.cc
+ dcmwlm/libsrc/wlmactmg.cc
+
+**** Changes from 2011.05.26 (onken)
+
+- Fixed build of ofstd tests with CMake.
+ Affects: ofstd/tests/CMakeLists.txt
+
+**** Changes from 2011.05.25 (schlachter)
+
+- Imported oftest and converted existing tests to oftest.
+ Added: dcmdata/tests/tchval.cc
+ dcmdata/tests/tests.cc
+ dcmdata/tests/ti2dbmp.cc
+ dcmdata/tests/tpath.cc
+ dcmdata/tests/tpread.cc
+ ofstd/include/dcmtk/ofstd/oftest.h
+ ofstd/tests/CMakeLists.txt
+ ofstd/tests/tatof.cc
+ ofstd/tests/tbase64.cc
+ ofstd/tests/tests.cc
+ ofstd/tests/tftoa.cc
+ ofstd/tests/tstack.cc
+ ofstd/tests/tthread.cc
+ Removed: dcmdata/tests/i2dbmp.cc
+ dcmdata/tests/tstchval.cc
+ dcmdata/tests/tstpath.cc
+ dcmdata/tests/tstpread.cc
+ ofstd/tests/tlist.exp
+ ofstd/tests/tstatof.cc
+ ofstd/tests/tstftoa.cc
+ ofstd/tests/tstlist.cc
+ ofstd/tests/tstring.exp
+ ofstd/tests/tstring.inp
+ ofstd/tests/tststack.cc
+ ofstd/tests/tststack.exp
+ ofstd/tests/tstthred.cc
+ Affects: COPYRIGHT
+ Makefile
+ config/Makefile.in
+ config/rootconf
+ dcmdata/Makefile.in
+ dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tvrdatim.cc
+ dcmimage/Makefile.in
+ dcmimgle/Makefile.in
+ dcmjpeg/Makefile.in
+ dcmjpls/Makefile.in
+ dcmnet/Makefile.in
+ dcmpstat/Makefile.in
+ dcmqrdb/Makefile.in
+ dcmsign/Makefile.in
+ dcmsr/Makefile.in
+ dcmtls/Makefile.in
+ dcmwlm/Makefile.in
+ oflog/Makefile.in
+ oflog/tests/Makefile.in
+ ofstd/CMakeLists.txt
+ ofstd/Makefile.in
+ ofstd/docs/ofstd.dox
+ ofstd/tests/Makefile.dep
+ ofstd/tests/Makefile.in
+ ofstd/tests/tlist.cc
+ ofstd/tests/tmap.cc
+ ofstd/tests/tofdatim.cc
+ ofstd/tests/toffile.cc
+ ofstd/tests/tofstd.cc
+ ofstd/tests/tstring.cc
+ ofstd/tests/tvec.cc
+
+**** Changes from 2011.05.25 (elgazzar)
+
+- Renamed a function name to find any presentation context ID.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+- Added a function to look for a presentation context ID that best matches the
+ abstract syntax UID and the transfer syntax UID.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.05.25 (onken)
+
+- Added missing default initializiation of role flag in presentation context
+ constructor.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+
+- Removed superfluous #define DUL_KEYS.
+ Affects: dcmnet/include/dcmtk/dcmnet/dul.h
+
+**** Changes from 2011.05.24 (elgazzar)
+
+- Added role selection negotiation.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.05.24 (schlachter)
+
+- Moved LIBDIRS in front of LDFLAGS to link against the freshly build libs.
+ Thanks to Eric A. Borisch <Borisch.Eric@mayo.edu> for reporting this.
+ Affects: config/templates/Makefile.src
+ dcmdata/apps/Makefile.in
+ dcmdata/libsrc/Makefile.in
+ dcmdata/tests/Makefile.in
+ dcmimage/apps/Makefile.in
+ dcmimgle/apps/Makefile.in
+ dcmjpeg/apps/Makefile.in
+ dcmjpls/apps/Makefile.in
+ dcmnet/apps/Makefile.in
+ dcmpstat/apps/Makefile.in
+ dcmpstat/jni/Makefile.in
+ dcmpstat/tests/Makefile.in
+ dcmqrdb/apps/Makefile.in
+ dcmsign/apps/Makefile.in
+ dcmsr/apps/Makefile.in
+ dcmsr/tests/Makefile.in
+ dcmwlm/apps/Makefile.in
+ dcmwlm/tests/Makefile.in
+ dcmwlm/wwwapps/Makefile.in
+ ofstd/tests/Makefile.in
+
+**** Changes from 2011.05.23 (elgazzar)
+
+- Added a function to search for SOP instance in INDEX.dat file
+ Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2011.05.19 (onken)
+
+- Fixed some documentation.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+
+- Fixed some documentation. Added some extra checks for NULL when handling MOVE
+ and FIND responses. Simplified destructores for FIND and MOVEResponses.
+ Affects: dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.05.19 (riesmeier)
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/*
+
+**** Changes from 2011.05.19 (onken)
+
+- Simplified C string copy by using OFStandard::strlcpy and removed debugging
+ code introduced with last commit.
+ Affects: dcmnet/libsrc/scu.cc
+
+- Removed unused variable that caused compiler warning. Fixed typo.
+ Affects: dcmnet/libsrc/scu.cc
+
+- Fixed message ID field in C-CANCEL request (should be the one of last
+ request). In case of error status codes in C-MOVE responses, the default
+ behaviour is now to not wait for further responses. Fixed log output level
+ to better fit the messages while receiveing C-MOVE responses. Minor
+ code and comment cleanups.
+ Affects: dcmnet/libsrc/scu.cc
+
+- Renamed function parameter in sendMOVEREquest to better reflect the standard.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+
+- Fixed wrong usage of strlcpy in new C-CANCEL function.
+ Affects: dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.05.17 (onken)
+
+- Completed doxygen documentation of DcmSCU class. Fixed some minor formatting
+ issues. Fixed CVS log at end of the file.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+
+- Implemented C-CANCEL message. Fixed some minor formatting issues.
+ Changed C-ECHO implementation to rely on sendDIMSEMesage as the other
+ DIMSE functions do. Changed some public function arguments to const to be
+ more correct. Fixed CVS log at the end of the file.
+ Affects: dcmnet/libsrc/scu.cc
+
+- Re-formatted CHANGES log entry from 2011-04-28.
+ Affects: CHANGES.361
+
+**** Changes from 2011.05.13 (riesmeier)
+
+- Output log messages if value of SOPClassUID or SOPInstanceUID in file meta
+ information header and dataset is different.
+ Affects: dcmdata/libsrc/dcfilefo.cc
+
+**** Changes from 2011.05.11 (schlachter)
+
+- Improved handling of files which ended before the end of a sequence.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h
+ dcmdata/libsrc/dcerror.cc
+ dcmdata/libsrc/dcsequen.cc
+
+- Fixed a bug where the VR scanner wrote output to stdout.
+ Affects: dcmdata/libsrc/vrscanl.c
+ dcmdata/libsrc/vrscanl.h
+ dcmdata/libsrc/vrscanl.l
+
+**** Changes from 2011.05.11 (eichelberg)
+
+- Removed undisplayable character from comment line, which caused a
+ C8419 warning on Visual C++.
+ Thanks to Wang Qiang<wq_net@163.com> for the report.
+ Affects: CMake/osconfig.h.in
+
+**** Changes from 2011.05.10 (schlachter)
+
+- Add an assignment operator to OFList.
+ Affects: ofstd/include/dcmtk/ofstd/oflist.h
+ ofstd/tests/tstlist.cc
+ ofstd/tests/tstlist.exp
+
+**** Changes from 2011.05.09 (schlachter)
+
+- Worked around compiler error during template instantiation on AIX with xlC.
+ Thanks to Michael Kraemer from GSI for reporting and testing this.
+ Affects: dcmjpls/libcharls/lltraits.h
+
+**** Changes from 2011.05.04 (schlachter)
+
+- Fixed some memory leaks in seldomly-used code paths. Thanks to Per Inge
+ Mathisen <perim@sonowand.com> for finding these and providing a patch.
+ Affects: dcmdata/libsrc/dcdirrec.cc
+ dcmjpeg/libsrc/djdijg12.cc
+ dcmjpeg/libsrc/djdijg16.cc
+ dcmjpeg/libsrc/djdijg8.cc
+ dcmnet/libsrc/dulconst.cc
+ dcmnet/libsrc/dulfsm.cc
+ dcmqrdb/libsrc/dcmqrdbi.cc
+
+**** Changes from 2011.05.03 (schlachter)
+
+- Fixed the source code indentation.
+ Affects: dcmnet/libsrc/dulconst.cc
+
+- Remove a pointless return value from some function. This helps in static code
+ analysis to ensure memory is never lost.
+ Thanks to Per Inge Mathisen <perim@sonowand.com> for the idea and the patch.
+ Affects: dcmnet/include/dcmtk/dcmnet/diutil.h
+ dcmnet/include/dcmtk/dcmnet/lst.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/diutil.cc
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulconst.cc
+ dcmnet/libsrc/dulfsm.cc
+ dcmnet/libsrc/dulparse.cc
+ dcmnet/libsrc/dulpres.cc
+ dcmnet/libsrc/lst.cc
+ dcmwlm/libsrc/wlfsim.cc
+
+- Fixed an uninitialized buffer use with truncated DICOM files. Thanks
+ to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report and patch.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2011.05.02 (riesmeier)
+
+- Fixed syntax error (missing closing bracket) if HAVE_GETHOSTID is undefined.
+ Thanks to Per Inge Mathisen <perim@sonowand.com> for the original report.
+ Affects: dcmdata/libsrc/dcuid.cc
+
+**** Changes from 2011.04.29 (riesmeier)
+
+- Added new SOP Class and Instance UIDs from final text version of Supplement
+ 74 (Utilization of Worklist in Radiotherapy Treatment Delivery).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added support for new directory record type PLAN from Supplement 74.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcdirrec.cc
+
+**** Changes from 2011.04.29 (schlachter)
+
+- Fixed a off-by-one bug spotted by dcmdata/tests/tstpread.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+**** Changes from 2011.04.28 (onken)
+
+- Added C-MOVE code for retrieving DICOM objects. So far only retrieving
+ on a separate connection is supported. Thanks to Fred Stegemann
+ <fred.stegemann@fstsoft.de> for the initial patch. Added function for
+ cleaning up internal memory from destructor. This function
+ also fixes a memory leak in case users call initNetwork more than one time.
+ Added error code returned by functions if SCU is already connected.
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+- Re-sorted header list to make scu.h come first (after osconfig.h). Protected
+ public networking functions for creating an association from being called
+ twice. Enhanced protection of DIMSE messaging functions from being
+ called without being connected. Introduced status detail into C-FIND
+ responses (and C-MOVE responses). Was not accessible to the caller before.
+ Minor code cleanups.
+ Affects: dcmnet/libsrc/scu.cc
+
+- Added some extra documentation.
+ Affects dcmnet/include/dcmtk/dcmnet/scu.h
+
+**** Changes from 2011.04.28 (riesmeier)
+
+- Added support for final text version of Supplement 74 (Utilization of
+ Worklist in Radiotherapy Treatment Delivery) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2011.04.27 (riesmeier)
+
+- Added more checks on the type of DICOM object passed to the constructor.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h
+ dcmimgle/include/dcmtk/dcmimgle/didocu.h
+ dcmimgle/libsrc/didocu.cc
+
+- Added more log messages in order to get details on invalid DICOM objects.
+ Affects: dcmimgle/libsrc/didocu.cc
+
+**** Changes from 2011.04.26 (riesmeier)
+
+- Output a warning message in case the pixel data on the main dataset level is
+ uncompressed but the transfer syntax is encapsulated (i.e. compressed).
+ Affects: dcmimgle/libsrc/didocu.cc
+
+- Fixed minor issue with wrong log output. Also moved some less interesting log
+ messages from "debug" to "trace" level.
+ Affects: dcmdata/libsrc/dcdicdir.cc
+
+**** Changes from 2011.04.19 (riesmeier)
+
+- Added new options for generating output filenames for multi-frame images
+ (either use a 0-based counter or the absolute frame number).
+ Affects: dcmimage/apps/dcm2pnm.cc
+ dcmimage/docs/dcm2pnm.man
+ dcmjpeg/docs/dcmj2pnm.man
+ dcmjpls/docs/dcml2pnm.man
+
+- Added CP 1036, 1037, 1044 and 1078 also to the CP section comment header.
+ Affects: dcmdata/data/dicom.dic
+
+- Made sure that a negative number is not accepted when expecting an unsigned
+ integer (sscanf() resulted in the two's complement without this new check).
+ Affects: ofstd/libsrc/ofcmdln.cc
+
+**** Changes from 2011.04.18 (schlachter)
+
+- Use global variables for the logger objects. This removes the thread-unsafe
+ static local variables which were used before.
+ Affects: dcmdata/include/dcmtk/dcmdata/dctypes.h
+ dcmdata/include/dcmtk/dcmdata/libi2d/i2doutpl.h
+ dcmdata/libi2d/i2d.cc
+ dcmdata/libi2d/i2djpgs.cc
+ dcmdata/libsrc/dcdict.cc
+ dcmdata/libsrc/dctypes.cc
+ dcmimage/include/dcmtk/dcmimage/dilogger.h
+ dcmimage/libsrc/dilogger.cc
+ dcmimgle/include/dcmtk/dcmimgle/diutils.h
+ dcmimgle/libsrc/diutils.cc
+ dcmjpeg/include/dcmtk/dcmjpeg/djutils.h
+ dcmjpeg/libsrc/dipijpeg.cc
+ dcmjpeg/libsrc/djdijg12.cc
+ dcmjpeg/libsrc/djdijg16.cc
+ dcmjpeg/libsrc/djdijg8.cc
+ dcmjpeg/libsrc/djeijg12.cc
+ dcmjpeg/libsrc/djeijg16.cc
+ dcmjpeg/libsrc/djeijg8.cc
+ dcmjpeg/libsrc/djutils.cc
+ dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
+ dcmjpls/libsrc/djutils.cc
+ dcmnet/include/dcmtk/dcmnet/diutil.h
+ dcmnet/libsrc/dfindscu.cc
+ dcmnet/libsrc/diutil.cc
+ dcmnet/libsrc/dulparse.cc
+ dcmnet/libsrc/scp.cc
+ dcmnet/libsrc/scu.cc
+ dcmpstat/include/dcmtk/dcmpstat/dvpsdef.h
+ dcmpstat/libsrc/dcmpstat.cc
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h
+ dcmqrdb/libsrc/dcmqrcnf.cc
+ dcmqrdb/libsrc/dcmqrtis.cc
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtypes.cc
+ dcmtls/include/dcmtk/dcmtls/tlslayer.h
+ dcmtls/libsrc/tlslayer.cc
+ dcmwlm/include/dcmtk/dcmwlm/wlds.h
+ dcmwlm/libsrc/wlds.cc
+ dcmwlm/libsrc/wlfsim.cc
+ dcmwlm/libsrc/wlmactmg.cc
+
+**** Changes from 2011.04.12 (schlachter)
+
+- Delay loading of the data dictionary until its first use.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdict.h
+ dcmdata/libsrc/dcdict.cc
+
+**** Changes from 2011.04.06 (riesmeier)
+
+- Added support for final text version of Supplement 96 (Unified Worklist and
+ Procedure Step) to data dictionary; added new SOP Class and Instance UIDs.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcdictzz.cc
+ dcmdata/libsrc/dcuid.cc
+
+- Added support for CP 1076, which adds a new "PNAME has properties" row to the
+ relationship content constraints table.
+ Affects: dcmsr/libsrc/dsrbascc.cc
+ dcmsr/libsrc/dsrcomcc.cc
+ dcmsr/libsrc/dsrenhcc.cc
+ dcmsr/libsrc/dsrxrdcc.cc
+
+**** Changes from 2011.04.05 (riesmeier)
+
+- Output DIMSE status code in hexadecimal format to the logger. Removed unused
+ code (local half-implemented function). Added more comments.
+ Affects: dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.04.04 (riesmeier)
+
+- Output presentation context ID of incoming C-ECHO request to debug logger.
+ Affects: dcmnet/apps/movescu.cc
+
+- Slightly modified text on --prepend option (depends on --search option).
+ Affects: dcmdata/apps/dcmdump.cc
+ dcmdata/docs/dcmdump.man
+
+**** Changes from 2011.04.01 (schlachter)
+
+- Improved handling of odd-length OW values in DcmElement::getPartialValue.
+ Thanks to forum user "xcoder" for the original report and sample file.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+**** Changes from 2011.04.01 (riesmeier)
+
+- Output message ID of C-ECHO request to the info logger (see C-STORE request).
+ Affects: dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+
+**** Changes from 2011.03.25 (riesmeier)
+
+- Added prefix "DCMTK_" to various installation sub-directory CMake variables.
+ Affects: CMake/GenerateDCMTKConfigure.cmake
+
+**** Changes from 2011.03.24 (riesmeier)
+
+- Added support for deflated transfer syntax (zlib compression) on incoming
+ associations. Also fixed some inconsistencies when preferring transfer
+ syntaxes with explicit VR.
+ Affects: dcmwlm/apps/Makefile.dep
+ dcmwlm/apps/wlcefs.cc
+ dcmwlm/docs/wlmscpfs.man
+ dcmwlm/libsrc/wlmactmg.cc
+
+- Added support for deflated transfer syntax (zlib compression) on outgoing
+ associations.
+ Affects: dcmnet/apps/findscu.cc
+ dcmnet/apps/Makefile.dep
+ dcmnet/docs/findscu.man
+ dcmnet/libsrc/dfindscu.cc
+
+- Added support for deflated transfer syntax (zlib compression) on outgoing
+ associations. Also fixed some inconsistencies regarding the transfer syntax
+ for incoming associations, e.g. checking of command line option conflicts.
+ Affects: dcmnet/apps/movescu.cc
+ dcmnet/docs/movescu.man
+
+**** Changes from 2011.03.23 (riesmeier)
+
+- Added support for a library postfix when using debug builds (CMake only).
+ Thanks to forum user "jacobf" for the suggestion.
+ Affects: CMakeLists.txt
+
+- Made various installation sub-directories configurable by the CMake user.
+ Affects: CMakeLists.txt
+
+- Added prefix "DCMTK_" to various installation sub-directory CMake variables.
+ Affects: CMakeLists.txt
+ config/docs/CMakeLists.txt
+ dcmdata/apps/CMakeLists.txt
+ dcmdata/data/CMakeLists.txt
+ dcmdata/docs/CMakeLists.txt
+ dcmdata/include/dcmtk/dcmdata/CMakeLists.txt
+ dcmdata/include/dcmtk/dcmdata/libi2d/CMakeLists.txt
+ dcmdata/libi2d/CMakeLists.txt
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/tests/CMakeLists.txt
+ dcmimage/apps/CMakeLists.txt
+ dcmimage/include/dcmtk/dcmimage/CMakeLists.txt
+ dcmimage/libsrc/CMakeLists.txt
+ dcmimgle/apps/CMakeLists.txt
+ dcmimgle/data/CMakeLists.txt
+ dcmimgle/include/dcmtk/dcmimgle/CMakeLists.txt
+ dcmimgle/libsrc/CMakeLists.txt
+ dcmjpeg/apps/CMakeLists.txt
+ dcmjpeg/include/dcmtk/dcmjpeg/CMakeLists.txt
+ dcmjpeg/libijg12/CMakeLists.txt
+ dcmjpeg/libijg16/CMakeLists.txt
+ dcmjpeg/libijg8/CMakeLists.txt
+ dcmjpeg/libsrc/CMakeLists.txt
+ dcmjpls/apps/CMakeLists.txt
+ dcmjpls/include/dcmtk/dcmjpls/CMakeLists.txt
+ dcmjpls/libcharls/CMakeLists.txt
+ dcmjpls/libsrc/CMakeLists.txt
+ dcmnet/apps/CMakeLists.txt
+ dcmnet/docs/CMakeLists.txt
+ dcmnet/etc/CMakeLists.txt
+ dcmnet/include/dcmtk/dcmnet/CMakeLists.txt
+ dcmnet/libsrc/CMakeLists.txt
+ dcmpstat/apps/CMakeLists.txt
+ dcmpstat/data/CMakeLists.txt
+ dcmpstat/etc/CMakeLists.txt
+ dcmpstat/include/dcmtk/dcmpstat/CMakeLists.txt
+ dcmpstat/libsrc/CMakeLists.txt
+ dcmqrdb/apps/CMakeLists.txt
+ dcmqrdb/docs/CMakeLists.txt
+ dcmqrdb/etc/CMakeLists.txt
+ dcmqrdb/include/dcmtk/dcmqrdb/CMakeLists.txt
+ dcmqrdb/libsrc/CMakeLists.txt
+ dcmsign/apps/CMakeLists.txt
+ dcmsign/include/dcmtk/dcmsign/CMakeLists.txt
+ dcmsign/libsrc/CMakeLists.txt
+ dcmsr/apps/CMakeLists.txt
+ dcmsr/data/CMakeLists.txt
+ dcmsr/include/dcmtk/dcmsr/CMakeLists.txt
+ dcmsr/libsrc/CMakeLists.txt
+ dcmtls/docs/CMakeLists.txt
+ dcmtls/include/dcmtk/dcmtls/CMakeLists.txt
+ dcmtls/libsrc/CMakeLists.txt
+ dcmwlm/apps/CMakeLists.txt
+ dcmwlm/data/CMakeLists.txt
+ dcmwlm/docs/CMakeLists.txt
+ dcmwlm/include/dcmtk/dcmwlm/CMakeLists.txt
+ dcmwlm/libsrc/CMakeLists.txt
+ doxygen/CMakeLists.txt
+ oflog/etc/CMakeLists.txt
+ oflog/include/dcmtk/oflog/CMakeLists.txt
+ oflog/include/dcmtk/oflog/config/CMakeLists.txt
+ oflog/include/dcmtk/oflog/helpers/CMakeLists.txt
+ oflog/include/dcmtk/oflog/spi/CMakeLists.txt
+ oflog/libsrc/CMakeLists.txt
+ ofstd/include/dcmtk/ofstd/CMakeLists.txt
+ ofstd/libsrc/CMakeLists.txt
+
+- Added short note on the CMake variable "CMAKE_INSTALL_PREFIX".
+ Affects: INSTALL
+
+**** Changes from 2011.03.22 (riesmeier)
+
+- Added new option for colored output of the textual dump - Unix only.
+ Affects: dcmsr/apps/dsrdump.cc
+ dcmsr/docs/dsrdump.man
+
+- Added support for colored output to the print() method - Unix only.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrcodtn.cc
+ dcmsr/libsrc/dsrcomtn.cc
+ dcmsr/libsrc/dsrcontn.cc
+ dcmsr/libsrc/dsrdattn.cc
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrdtitn.cc
+ dcmsr/libsrc/dsrimgtn.cc
+ dcmsr/libsrc/dsrnumtn.cc
+ dcmsr/libsrc/dsrpnmtn.cc
+ dcmsr/libsrc/dsrreftn.cc
+ dcmsr/libsrc/dsrsc3tn.cc
+ dcmsr/libsrc/dsrscotn.cc
+ dcmsr/libsrc/dsrtcotn.cc
+ dcmsr/libsrc/dsrtextn.cc
+ dcmsr/libsrc/dsrtimtn.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/libsrc/dsruidtn.cc
+ dcmsr/libsrc/dsrwavtn.cc
+
+- Made sure that the header delimiter " : " is only printed when needed.
+ Affects: dcmsr/libsrc/dsrdoc.cc
+
+- Added note that the new color options are not available on Windows systems.
+ Affects: dcmsr/docs/dsrdump.man
+
+- Added note that the multi-process options are only available on systems that
+ support the fork() call, i.e. not on Windows systems.
+ Affects: dcmqrdb/docs/dcmqrscp.man
+
+- Updated information on latest version of CMake that has been tested (2.8.4).
+ Affects: CMakeLists.txt
+
+**** Changes from 2011.03.21 (riesmeier)
+
+- Added new command line option that allows for disabling the output of ANSI
+ escape codes for colored output (which was and still is the default).
+ Affects: dcmdata/apps/dcmdump.cc
+ dcmdata/docs/dcmdump.man
+
+- Added module name "DCMDATA_" as a prefix to the ANSI escape code macros.
+ Affects: dcmdata/apps/dcmdump.cc
+ dcmdata/include/dcmtk/dcmdata/dctypes.h
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcmetinf.cc
+ dcmdata/libsrc/dcobject.cc
+
+- Moved ANSI escape code for "reset" to the end of each output line (before
+ "OFendl") in order to avoid unwanted output if the stream gets interrupted.
+ Affects: dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcmetinf.cc
+ dcmdata/libsrc/dcobject.cc
+
+**** Changes from 2011.03.18 (riesmeier)
+
+- Introduced new read flag that allows for accepting an invalid content item
+ value (e.g. violation of VR or VM definition).
+ Thanks to forum user "Yves Neumann" for the original report and sample file.
+ Affects: dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsrdump.cc
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsrdump.man
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+**** Changes from 2011.03.17 (schlachter)
+
+- Fixed a case where calcElementLength() used a wrong header length. Thanks
+ to Peter Klotz <Peter.Klotz@ith-icoserve.com> for the report and patch.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+**** Changes from 2011.03.17 (riesmeier)
+
+- Added support for MPEG4 transfer syntaxes to network tools.
+ Affects: dcmnet/apps/echoscu.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/docs/echoscu.man
+ dcmnet/docs/movescu.man
+ dcmnet/docs/storescp.man
+ dcmnet/docs/storescu.man
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/libsrc/dcmqrcbm.cc
+ dcmqrdb/libsrc/dcmqrsrv.cc
+
+- Made sure that the array "transferSyntaxes" is large enough (16 entries).
+ Affects: dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+
+**** Changes from 2011.03.16 (riesmeier)
+
+- Added support for MPEG4 transfer syntaxes to association negotiation profile.
+ Affects: dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+
+**** Changes from 2011.03.15 (riesmeier)
+
+- Remove data element PixelPaddingRangeLimit together with PixelPaddingValue.
+ Affects: dcmjpeg/libsrc/djcodece.cc
+
+**** Changes from 2011.03.15 (schlachter)
+
+- Make sure we don't accidentally append a padding byte twice. Thanks to
+ Gary Carter <gary.carter@eigen.com> for the report and suggested fix.
+ Affects: dcmdata/libsrc/dcvrobow.cc
+
+**** Changes from 2011.03.14 (riesmeier)
+
+- Output value of SOP Class UID in debug mode when reading a DICOM dataset.
+ Affects: dcmsr/libsrc/dsrdoc.cc
+
+**** Changes from 2011.03.10 (riesmeier)
+
+- Reworked VisualStudio-specific settings: The new approach has less redundant
+ definitions and more reliability for future versions of the MS compiler.
+ Affects: CMakeLists.txt
+
+*** Changes from 2011.03.09 (onken)
+
+- Enhanced error message for missing data in store request.
+ Affects: dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.03.08 (schlachter)
+
+- Made OFList's destructor virtual again to fix memory leaks.
+ Thanks to forum user "vsalomoni" for the report.
+ Affects: ofstd/include/dcmtk/ofstd/oflist.h
+
+- Fixed crash in dcmjpls if no representation parameter is given. Thanks to
+ Christian Fremgen <Christian.Fremgen@ith-icoserve.com> for the report.
+ Affects: dcmjpls/include/dcmtk/dcmjpls/djrparam.h
+ dcmjpls/libsrc/djcodece.cc
+
+**** Changes from 2011.03.03 (schlachter)
+
+- Avoid a warning about an always-true expression in an if statement.
+ Affects: dcmjpeg/libsrc/dipijpeg.cc
+
+**** Changes from 2011.03.03 (riesmeier)
+
+- Fixed possible issue with overlay planes in multi-frame images. Also enhanced
+ log output (trace mode) in order to make it easier to analyze such problems.
+ Thanks to forum user "merlin" for the report and DICOM sample file.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/diovpln.h
+ dcmimgle/libsrc/diovpln.cc
+
+**** Changes from 2011.03.01 (riesmeier)
+
+- Fixed some private tags copied from Philips MR Achieva conformance statement.
+ Also added a couple of new private tags from the same conformance statement.
+ Affects: dcmdata/data/private.dic
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added evaluation version of non-public DICOM tool "ppsmgr".
+ Affects: config/changext
+
+**** Changes from 2011.02.25 (schlachter)
+
+- Move the CharLS version string to a central place.
+ Affects: dcmimage/apps/dcm2pnm.cc
+ dcmjpls/apps/dcmcjpls.cc
+ dcmjpls/apps/dcmdjpls.cc
+ dcmjpls/include/dcmtk/dcmjpls/djdecode.h
+ dcmjpls/include/dcmtk/dcmjpls/djencode.h
+ dcmjpls/include/dcmtk/dcmjpls/djlsutil.h
+ dcmjpls/libsrc/djdecode.cc
+ dcmjpls/libsrc/djencode.cc
+
+**** Changes from 2011.02.23 (riesmeier)
+
+- Fixed issue with undefined priority field in C-STORE and C-FIND request.
+ Thanks to forum user "kosborn" for the bug report.
+ Affects: dcmnet/libsrc/scu.cc
+
+**** Changes from 2011.02.22 (eichelberg)
+
+- Added new method SiPrivateKey::getRawPrivateKey()
+ Affects: dcmsign/include/dcmtk/dcmsign/siprivat.h
+ dcmsign/libsrc/siprivat.cc
+
+**** Changes from 2011.02.16 (riesmeier)
+
+- Fixed issue in sendSTORERequest() when sending a dataset that was created
+ in memory (and which has, therefore, an original transfer of EXS_Unknown).
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/scu.cc
+
+- Fixed some subsection names (introduced "_" where appropriate).
+ Affects: dcmdata/docs/img2dcm.man
+
+**** Changes from 2011.02.11 (riesmeier)
+
+- Removed redundant "TransferSyntax" suffix from "EXS_..." enum definitions.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcxfer.h
+ dcmdata/libi2d/i2djpgs.cc
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcxfer.cc
+ dcmjpeg/apps/dcmcjpeg.cc
+ dcmjpeg/apps/dcmdjpeg.cc
+ dcmjpeg/libsrc/djdecbas.cc
+ dcmjpeg/libsrc/djdecext.cc
+ dcmjpeg/libsrc/djdeclol.cc
+ dcmjpeg/libsrc/djdecpro.cc
+ dcmjpeg/libsrc/djdecsps.cc
+ dcmjpeg/libsrc/djdecsv1.cc
+ dcmjpeg/libsrc/djencbas.cc
+ dcmjpeg/libsrc/djencext.cc
+ dcmjpeg/libsrc/djenclol.cc
+ dcmjpeg/libsrc/djencpro.cc
+ dcmjpeg/libsrc/djencsps.cc
+ dcmjpeg/libsrc/djencsv1.cc
+ dcmnet/apps/movescu.cc
+ dcmnet/apps/storescp.cc
+ dcmnet/apps/storescu.cc
+ dcmnet/libsrc/dimse.cc
+ dcmqrdb/apps/dcmqrscp.cc
+ dcmqrdb/libsrc/dcmqrcbm.cc
+ dcmqrdb/libsrc/dcmqrsrv.cc
+
+- Added initial support for the MPEG4 transfer syntaxes from Supplement 149.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/include/dcmtk/dcmdata/dcxfer.h
+ dcmdata/libsrc/dcuid.cc
+ dcmdata/libsrc/dcxfer.cc
+ dcmnet/libsrc/dimse.cc
+
+- Moved retired data elements to the end of the dictionary in order to make
+ sure that the most recent definitions are used, even for old ACR/NEMA tags.
+ Please note that some names changed from "ACR_NEMA_..." to "RETIRED_...".
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added support for CP 1036, 1037, 1044, 1057 and 1078 to data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2011.02.10 (riesmeier)
+
+- Changed default name of CHM file (removed version number from the filename).
+ Affects: doxygen/htmldocs.cfg
+
+**** Changes from 2011.02.09 (riesmeier)
+
+- Create a new instance of DcmPixelData instead of DcmPolymorphOBOW in method
+ writeImageToDataset() in order to avoid problems with later type casts.
+ Thanks to Tilman Vogel <tilman@circlecvi.com> for the report & suggested fix.
+ Affects: dcmimage/libsrc/dicoimg.cc
+
+- Added check on class of PixelData element before casting to DcmPixelData.
+ Affects: dcmimgle/libsrc/didocu.cc
+
+- Output version information on CharLS library if compiled as "dcml2pnm".
+ Affects: dcmimage/apps/dcm2pnm.cc
+
+- If DEBUG is defined, report on the presence of debug code when printing the
+ host information, e.g. by calling command line tools with option --version.
+ Affects: ofstd/include/dcmtk/ofstd/ofconapp.h
+ ofstd/libsrc/ofconapp.cc
+
+**** Changes from 2011.02.04 (schlachter)
+
+- Made sure all members are initialized in the constructor (-Weffc++).
+ Affects: dcmjpeg/libsrc/djcparam.cc
+ dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/dcuserid.cc
+ dcmnet/libsrc/scu.cc
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrptb.h
+ dcmqrdb/libsrc/dcmqrsrv.cc
+ dcmtls/libsrc/tlsscu.cc
+ dcmwlm/include/dcmtk/dcmwlm/wltypdef.h
+
+- Made sure we only save assignable classes in STL containers.
+ Affects: dcmdata/apps/mdfconen.cc
+ dcmdata/apps/mdfconen.h
+ dcmnet/include/dcmtk/dcmnet/dccfenmp.h
+ dcmnet/include/dcmtk/dcmnet/dccfpcmp.h
+ dcmnet/include/dcmtk/dcmnet/dccfrsmp.h
+ dcmnet/libsrc/dccfenmp.cc
+ dcmnet/libsrc/dccfpcmp.cc
+ dcmnet/libsrc/dccfrsmp.cc
+ oflog/include/dcmtk/oflog/logger.h
+
+- Added private undefined functions where gcc's -Weffc++ warns otherwise.
+ Affects: dcmnet/include/dcmtk/dcmnet/dfindscu.h
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmpstat/include/dcmtk/dcmpstat/dvpstat.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbg.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbm.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h
+ dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h
+
+- Made OFList's destructor non-virtual to match std::list.
+ Affects: ofstd/include/dcmtk/ofstd/oflist.h
+
+- Stop inheriting from OFList and OFListIterator.
+ Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h
+ dcmdata/libsrc/dchashdi.cc
+
+**** Changes from 2011.02.03 (riesmeier)
+
+- Fixed incomplete path to header file in include statement of the sample code.
+ Affects: dcmimage/docs/dcmimage.dox
+
+**** Changes from 2011.02.02 (riesmeier)
+
+- Moved documentation of valid values for the VMs that can be checked to a
+ central place, i.e. DcmElement::checkVM().
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmdata/include/dcmtk/dcmdata/dcvrae.h
+ dcmdata/include/dcmtk/dcmdata/dcvras.h
+ dcmdata/include/dcmtk/dcmdata/dcvrat.h
+ dcmdata/include/dcmtk/dcmdata/dcvrcs.h
+ dcmdata/include/dcmtk/dcmdata/dcvrda.h
+ dcmdata/include/dcmtk/dcmdata/dcvrds.h
+ dcmdata/include/dcmtk/dcmdata/dcvrdt.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfd.h
+ dcmdata/include/dcmtk/dcmdata/dcvrfl.h
+ dcmdata/include/dcmtk/dcmdata/dcvris.h
+ dcmdata/include/dcmtk/dcmdata/dcvrlo.h
+ dcmdata/include/dcmtk/dcmdata/dcvrpn.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsh.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsl.h
+ dcmdata/include/dcmtk/dcmdata/dcvrss.h
+ dcmdata/include/dcmtk/dcmdata/dcvrtm.h
+ dcmdata/include/dcmtk/dcmdata/dcvrui.h
+ dcmdata/include/dcmtk/dcmdata/dcvrul.h
+ dcmdata/include/dcmtk/dcmdata/dcvrus.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+
+- Added support for further VMs required for tags in the private dictionary.
+ Affects: dcmdata/libsrc/dcelem.cc
+
+- Added description column with text "PrivateTag" to all entries.
+ Affects: dcmdata/data/private.dic
+ dcmdata/libsrc/dcdictzz.cc
+
+- Added private tags from recent conformance statements from GE and Siemens.
+ Thanks to Per Inge Mathisen <perim@sonowand.com> for this contribution.
+ Affects: dcmdata/data/private.dic
+ dcmdata/libsrc/dcdictzz.cc
+
+**** Changes from 2011.02.01 (riesmeier)
+
+- Made sure that OFFIS_DCMTK_VERSION_NUMBER is really a number and not a
+ string. Thanks to forum user "poupofa" for the report and suggested fix.
+ Affects: CMakeLists.txt
+ CMake/osconfig.h.in
+ config/configure.in
+ config/configure
+ dcmdata/include/dcmtk/dcmdata/dcuid.h
+
+- Renamed library "libi2d" to "i2d" for reasons of consistency.
+ Thanks to Pietro Cerutti <gahr@FreeBSD.org> for pointing this out.
+ Affects: dcmdata/apps/CMakeLists.txt
+ dcmdata/libi2d/CMakeLists.txt
+ dcmdata/tests/CMakeLists.tx
+
+- Added optional support for building shared libraries with CMake.
+ Affects: CMakeLists.txt
+ dcmimage/apps/CMakeLists.txt
+ dcmimgle/apps/CMakeLists.txt
+ dcmjpeg/apps/CMakeLists.txt
+ dcmjpls/apps/CMakeLists.txt
+ dcmpstat/apps/CMakeLists.txt
+ dcmqrdb/apps/CMakeLists.txt
+ dcmwlm/apps/CMakeLists.txt
+
+- Made sure that created file "lzwtest.tif" is deleted for "make distclean".
+ Affects: config/Makefile.in
+
+- Always link LIBTIFF and LIBPNG to the command line tools in order to avoid
+ linker errors when using DCMTK with shared libraries (see FAQ #13).
+ Affects: dcmjpls/apps/Makefile.in
+
+- Added "const" specifier to parameter in order to be consistent with the
+ source file (caused warnings/errors with certain compilers).
+ Affects: dcmnet/include/dcmtk/dcmnet/scu.h
+
+- Updated version number to 3.6.1 (the new development snapshot).
+ Affects: CMakeLists.txt
+ config/configure
+ config/configure.in
+ VERSION
+
+- Added explanatory section on the development snapshot.
+ Affects: INSTALL
+
+- Created new preliminary annnouncement file for version 3.6.1.
+ Added: ANNOUNCE.361
+
+- Created new change log for version 3.6.1.
+ Added: CHANGES.361
+
+- Moved old announcement and change log for release 3.6.0 to "docs".
+ Removed: ANNOUNCE.360
+ CHANGES.360
+ Added: docs/ANNOUNCE.360
+ docs/CHANGES.360
+
+**** Changes from 2011.01.13 (riesmeier)
+
+- Added non-public modules "dcmprint", "dcmprscp" and "dcmppscu" as an optional
+ extension to the documentation.
+ Affects: doxygen/htmldocs.cfg
+ doxygen/htmldocs.dox
IF(DOXYGEN_EXECUTABLE)
ADD_CUSTOM_TARGET(DOXYGEN)
- ADD_CUSTOM_TARGET(html ${DOXYGEN_EXECUTABLE} htmldocs.tmp)
+ ADD_CUSTOM_TARGET(html "${DOXYGEN_EXECUTABLE}" htmldocs.tmp)
ADD_DEPENDENCIES(DOXYGEN html)
IF(NOT WIN32) # For Unix systems, also build manpages
- ADD_CUSTOM_TARGET(man COMMAND ${DOXYGEN_EXECUTABLE} manpages.tmp
- COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/manpages/man1/*.man.1
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/patchman.sh)
+ ADD_CUSTOM_TARGET(man COMMAND "${DOXYGEN_EXECUTABLE}" manpages.tmp
+ COMMAND rm -f "${CMAKE_CURRENT_BINARY_DIR}/manpages/man1/*.man.1"
+ COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/patchman.sh")
ADD_DEPENDENCIES(DOXYGEN man)
- ADD_CUSTOM_TARGET(man2text COMMAND ${CMAKE_COMMAND} -E make_directory man2text
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/man2text.sh)
+ ADD_CUSTOM_TARGET(man2text COMMAND "${CMAKE_COMMAND}" -E make_directory man2text
+ COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/man2text.sh")
ADD_DEPENDENCIES(man2text man)
ENDIF(NOT WIN32)
ENDIF(DOXYGEN_EXECUTABLE)
SET(DCMTK_VERSION "${DCMTK_PACKAGE_VERSION}${PACKAGE_VERSION_SUFFIX}")
SET(DOXYGEN_INPUT_DIR "${CMAKE_SOURCE_DIR}")
SET(DOXYGEN_DATA_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
- CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/htmldocs.cfg ${CMAKE_CURRENT_BINARY_DIR}/htmldocs.tmp ESCAPE_QUOTES @ONLY)
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/htmldocs.cfg" "${CMAKE_CURRENT_BINARY_DIR}/htmldocs.tmp" ESCAPE_QUOTES @ONLY)
IF(NOT WIN32)
- CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/manpages.cfg ${CMAKE_CURRENT_BINARY_DIR}/manpages.tmp ESCAPE_QUOTES @ONLY)
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/manpages.cfg" "${CMAKE_CURRENT_BINARY_DIR}/manpages.tmp" ESCAPE_QUOTES @ONLY)
ENDIF(NOT WIN32)
# Make sure these directories exist when we try to install them
ENDIF(NOT WIN32)
# install html docs and manpages
- INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/htmldocs/ DESTINATION ${DCMTK_INSTALL_HTMDIR} COMPONENT html PATTERN "*.md5" EXCLUDE)
+ INSTALL(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/htmldocs/" DESTINATION "${DCMTK_INSTALL_HTMDIR}" COMPONENT html PATTERN "*.md5" EXCLUDE)
IF(DCMTK_GENERATE_DOXYGEN_TAGFILE)
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DOXYGEN_TAGFILE} DESTINATION ${DCMTK_INSTALL_DOCDIR} COMPONENT html OPTIONAL)
+ INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${DOXYGEN_TAGFILE}" DESTINATION "${DCMTK_INSTALL_DOCDIR}" COMPONENT html OPTIONAL)
ENDIF(DCMTK_GENERATE_DOXYGEN_TAGFILE)
IF(NOT WIN32)
- INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/manpages/ DESTINATION ${DCMTK_INSTALL_MANDIR} COMPONENT man)
+ FILE(GLOB_RECURSE MANPAGES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/manpages/" "${CMAKE_CURRENT_SOURCE_DIR}/manpages/*.1")
+ FOREACH(MANPAGE ${MANPAGES})
+ IF("${CMAKE_CURRENT_SOURCE_DIR}/manpages/${MANPAGE}" IS_NEWER_THAN "${CMAKE_CURRENT_BINARY_DIR}/manpages/${MANPAGE}")
+ GET_FILENAME_COMPONENT(DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/manpages/${MANPAGE}" PATH)
+ FILE(COPY "${CMAKE_CURRENT_SOURCE_DIR}/manpages/${MANPAGE}" DESTINATION "${DESTINATION}")
+ ENDIF()
+ ENDFOREACH()
+ INSTALL(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/manpages/" DESTINATION "${DCMTK_INSTALL_MANDIR}" COMPONENT man PATTERN "*_.1" EXCLUDE)
ENDIF(NOT WIN32)
# the files in manpages/ and htmldocs/ should be removed by "make clean".
- SET(make_clean_files ${CMAKE_CURRENT_BINARY_DIR}/htmldocs ${CMAKE_CURRENT_BINARY_DIR}/manpages ${CMAKE_CURRENT_BINARY_DIR}/man2text)
+ SET(make_clean_files "${CMAKE_CURRENT_BINARY_DIR}/htmldocs" "${CMAKE_CURRENT_BINARY_DIR}/manpages" "${CMAKE_CURRENT_BINARY_DIR}/man2text")
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${make_clean_files}")
# the created files "htmldocs.tmp" and "manpages.tmp" should be removed with "make distclean",
# by default, install the pre-defined manpages, i.e. the ones shipped with this package
IF(NOT WIN32)
- INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/manpages/ DESTINATION ${DCMTK_INSTALL_MANDIR} COMPONENT man)
+ INSTALL(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/manpages/" DESTINATION "${DCMTK_INSTALL_MANDIR}" COMPONENT man)
ENDIF(NOT WIN32)
ENDIF(DCMTK_WITH_DOXYGEN)
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = "Version @DCMTK_VERSION@ 20170228"
+PROJECT_NUMBER = "Version @DCMTK_VERSION@"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = "@DCMTK_VERSION@ 20170228"
+PROJECT_NUMBER = "@DCMTK_VERSION@"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
-.TH "dcm2json" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcm2json" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcm2json \- Convert DICOM file and data set to JSON
output format:
+fc --formatted-code
- output file with human readable formatting (default)
+ enable whitespace formatting (default)
+
+ # prints additional spaces and newlines for increased
+ # readability
-fc --compact-code
- output without formatting (single line of code)
+ print only required characters
+m --write-meta
write data set with meta information
+ (warning: not conforming to the DICOM standard)
.fi
.PP
.SH "JSON Format"
"00080005": {
"vr": "CS",
"Value": [
- "ISO_IR192"
+ "ISO_IR 192"
]
},
"00080020": {
.SH "NOTES"
.PP
.SS "Character Encoding"
-The JSON encoding is determined automatically from the DICOM attribute (0008,0005) 'Specific Character Set' using the following mapping:
-.PP
-.PP
-.nf
-ISO Latin 1 "ISO_IR 100" => "UTF-8"
-ISO Latin 2 "ISO_IR 101" => "UTF-8"
-ISO Latin 3 "ISO_IR 109" => "UTF-8"
-ISO Latin 4 "ISO_IR 110" => "UTF-8"
-ISO Latin 5 "ISO_IR 148" => "UTF-8"
-Cyrillic "ISO_IR 144" => "UTF-8"
-Arabic "ISO_IR 127" => "UTF-8"
-Greek "ISO_IR 126" => "UTF-8"
-Hebrew "ISO_IR 138" => "UTF-8"
-.fi
-.PP
+\fBdcm2json\fP always tries to output in UTF-8 encoding\&. If this is not possible, e\&.g\&. because there is no support for character set conversion, ASCII is used instead (which is a subset of UTF-8)\&.
.SH "LOGGING"
.PP
The level of logging output of the various command line tools and underlying libraries can be specified by the user\&. By default, only errors and warnings are written to the standard error stream\&. Using option \fI--verbose\fP also informational messages like processing details are reported\&. Option \fI--debug\fP can be used to get more details on the internal activity, e\&.g\&. for debugging purposes\&. Other logging levels can be selected using option \fI--log-level\fP\&. In \fI--quiet\fP mode only fatal errors are reported\&. In such very severe error events, the application will usually terminate\&. For more details on the different logging levels, see documentation of module 'oflog'\&.
-.TH "dcm2pdf" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcm2pdf" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcm2pdf \- Extract PDF file from DICOM encapsulated PDF
-.TH "dcm2pnm" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcm2pnm" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcm2pnm \- Convert DICOM images to PGM/PPM, PNG, TIFF or BMP
-.TH "dcm2xml" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcm2xml" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcm2xml \- Convert DICOM file and data set to XML
-.TH "dcmcjpeg" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmcjpeg" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmcjpeg \- Encode DICOM file to JPEG transfer syntax
# interpretation is encoded as YBR_FULL_422 which violates DICOM rules.
.fi
.PP
-.SS "encapsulated pixel data encoding options"
+.SS "encapsulated pixel data encoding options:"
.PP
.nf
encapsulated pixel data fragmentation:
-.TH "dcmcjpls" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmcjpls" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmcjpls \- Encode DICOM file to JPEG-LS transfer syntax
-.TH "dcmconv" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmconv" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmconv \- Convert DICOM file encoding
+td --write-xfer-deflated
write with deflated explicit VR little endian TS
+ +tg --write-xfer-ge
+ write private GE implicit VR little endian
+ with big endian pixel data TS (non-standard)
+
post-1993 value representations:
+u --enable-new-vr
-.TH "dcmcrle" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmcrle" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmcrle \- Encode DICOM file to RLE transfer syntax
-.TH "dcmdjpeg" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmdjpeg" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmdjpeg \- Decode JPEG-compressed DICOM file
-.TH "dcmdjpls" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmdjpls" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmdjpls \- Decode JPEG-LS compressed DICOM file
-.TH "dcmdrle" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmdrle" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmdrle \- Decode RLE-compressed DICOM file
-.TH "dcmdspfn" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmdspfn" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmdspfn \- Export standard display curves to a text file
use config file f for the logger
.fi
.PP
-.SS "input options"
+.SS "input options (mutually exclusive)"
.PP
.nf
+Im --monitor-file [f]ilename: string
-.TH "dcmdump" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmdump" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmdump \- Dump DICOM file and data set
+st --stop-after-elem [t]ag: "gggg,eeee" or dictionary name
stop parsing after element specified by t
+ +sb --stop-before-elem [t]ag: "gggg,eeee" or dictionary name
+ stop parsing before element specified by t
+
+ # only considers elements on main dataset level and also
+ # works if the given tag is not present in the file
+
automatic data correction:
+dc --enable-correction
-.TH "dcmftest" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmftest" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmftest \- Test if file uses DICOM part 10 format
-.TH "dcmgpdir" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmgpdir" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmgpdir \- Create a general purpose DICOMDIR
-.TH "dcmj2pnm" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmj2pnm" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmj2pnm \- Convert DICOM images to PGM/PPM, PNG, TIFF, JPEG or BMP
-.TH "dcml2pnm" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcml2pnm" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcml2pnm \- Convert DICOM images to PGM/PPM, PNG, TIFF or BMP
-.TH "dcmmkcrv" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmmkcrv" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmmkcrv \- Add 2D curve data to image
-.TH "dcmmkdir" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmmkdir" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmmkdir \- Create a DICOMDIR file
-.TH "dcmmklut" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmmklut" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmmklut \- Create DICOM look-up tables
-.TH "dcmodify" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmodify" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmodify \- Modify DICOM files
-.TH "dcmp2pgm" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmp2pgm" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmp2pgm \- Read DICOM image and presentation state and render bitmap
-.TH "dcmprscp" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmprscp" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmprscp \- DICOM basic grayscale print management SCP
-.TH "dcmprscu" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmprscu" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmprscu \- Print spooler for presentation state viewer
-.TH "dcmpschk" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmpschk" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmpschk \- Checking tool for presentation states
-.TH "dcmpsmk" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmpsmk" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmpsmk \- Create DICOM grayscale softcopy presentation state
use config file f for the logger
.fi
.PP
-.SS "input options"
+.SS "input optons"
.PP
.nf
input file format:
-.TH "dcmpsprt" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmpsprt" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmpsprt \- Read DICOM images and presentation states and render print job
-.TH "dcmpsrcv" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmpsrcv" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmpsrcv \- Network receive for presentation state viewer
-.TH "dcmpssnd" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmpssnd" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmpssnd \- Network send for presentation state viewer
-.TH "dcmqridx" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmqridx" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmqridx \- Register a DICOM image file in an image database index file
-.TH "dcmqrscp" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmqrscp" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmqrscp \- DICOM image archive (central test node)
.SS "network options"
.PP
.nf
+association negotiation profiles from configuration file:
+
+ -xf --assoc-config-file
+ [f]ilename, [i]n-profile, [o]ut-profile: string
+ use profile i from f for incoming associations
+ use profile o from f for outgoing associations
+
preferred network transfer syntaxes (incoming associations):
+x= --prefer-uncompr
+xo --prefer-mpeg4-2-st
prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS
+ +x4 --prefer-hevc
+ prefer HEVC H.265 Main Profile / Level 5.1 TS
+
+ +x5 --prefer-hevc10
+ prefer HEVC H.265 Main 10 Profile / Level 5.1 TS
+
+xr --prefer-rle
prefer RLE lossless TS
-xo --propose-mpeg4-2-st
propose MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS only
+ -x4 --propose-hevc
+ propose HEVC H.265 Main Profile / Level 5.1 TS only
+
+ -x5 --propose-hevc10
+ propose HEVC H.265 Main 10 Profile / Level 5.1 TS only
+
-xr --propose-rle
propose RLE lossless TS
and all uncompressed transfer syntaxes
0=uncompressed, 1=fastest, 9=best compression
specific character set:
+
+ # the following options require support from an underlying character
+ # encoding library (see output of --version on which one is available)
+
+Cr --use-request-charset
- try to convert all element values that are
- affected by Specific Character Set (0008,0005)
- to the one specified in the request data set,
- fall back to the one specified via
- --convert-to-xxx if that is not possible
+ try to convert all element values that are affected by
+ Specific Character Set (0008,0005) to the one specified
+ in the request data set, fall back to the one specified
+ via --convert-to-xxx if that is not possible
(default, unless overridden by config file)
-Cr --override-charset
convert affected element values to ISO 8859-1
+C --convert-to-charset [c]harset: string
- convert affected element values to the character
- set specified by the DICOM defined term c
+ convert affected element values to the character set
+ specified by the DICOM defined term c
-Ct --transliterate
try to approximate characters that cannot be
MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104
MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105
MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106
+HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107
+HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108
RLELosslessTransferSyntax 1.2.840.10008.1.2.5
.fi
.PP
.PP
The \fBdcmqrscp\fP application does not support extended negotiation\&.
+.PP
+Presentation contexts for other SOP Classes may be configured via the \fI--assoc-config-file\fP option by selecting an appropriate profile for outgoing associations\&. The selected profile will completely override the above mentioned default configuration\&.
.SS "SCP Conformance"
The \fBdcmqrscp\fP application supports the following SOP Classes as an SCP:
.PP
BlendingSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.4
XAXRFGrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.5
GrayscalePlanarMPRVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.6
-CompositingPlanarMPRVolumetricPresentationStateStor. 1.2.840.10008.5.1.4.1.1.11.7
+CompositingPlanarMPRVolumetricPresent.StateStorage 1.2.840.10008.5.1.4.1.1.11.7
+AdvancedBlendingPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.8
+VolumeRenderingVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.9
+SegmentedVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.10
+MultipleVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.11
XRayAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.12.1
EnhancedXAImageStorage 1.2.840.10008.5.1.4.1.1.12.1.1
XRayRadiofluoroscopicImageStorage 1.2.840.10008.5.1.4.1.1.12.2
OphthalmicTomographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.4
WideFieldOphthalmicPhoto.Stereogr.Proj.ImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.5
WideFieldOphthalmicPhotogr.3DCoordinatesImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.6
+OphthalmicOpticalCoherenceTomogr.EnFaceImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.7
+OphthalmicOpticalCoh.Tomogr.BscanVolumeAnalysisStor. 1.2.840.10008.5.1.4.1.1.77.1.5.8
VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6
RETIRED_VLMultiFrameImageStorage 1.2.840.10008.5.1.4.1.1.77.2
LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1
ImplantationPlanSRDocumentStorage 1.2.840.10008.5.1.4.1.1.88.70
AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71
SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72
+PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.73
ContentAssessmentResultsStorage 1.2.840.10008.5.1.4.1.1.90.1
EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2
RETIRED_StandalonePETCurveStorage 1.2.840.10008.5.1.4.1.1.129
EnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.130
BasicStructuredDisplayStorage 1.2.840.10008.5.1.4.1.1.131
-CTDefinedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.1
CTPerformedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.2
RTImageStorage 1.2.840.10008.5.1.4.1.1.481.1
RTDoseStorage 1.2.840.10008.5.1.4.1.1.481.2
MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104
MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105
MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106
+HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107
+HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108
RLELosslessTransferSyntax 1.2.840.10008.1.2.5
.fi
.PP
.PP
The \fBdcmqrscp\fP application does not support extended negotiation\&.
+.PP
+Presentation contexts for other SOP Classes may be configured via the \fI--assoc-config-file\fP option by selecting an appropriate profile for incoming associations\&. The selected profile will override only the above mentioned storage SOP classes, \fBdcmqrscp\fP will accept contexts with the above mentioned FIND, GET, MOVE and private shutdown SOP Classes additionally to the ones defined in the selected profile\&. Please note that an appropriate profile for \fBrole negotiation\fP must be defined and used for enabling GET support\&.
.SS "Query Keys"
The \fBdcmqrscp\fP application supports the following attributes as query keys\&.
.PP
.nf
(0010,0010) PatientName
(0010,0020) PatientID
+(0010,0021) IssuerOfPatientID
(0010,0030) PatientBirthDate
(0010,0032) PatientBirthTime
(0010,0040) PatientSex
-(0010,1000) OtherPatientIDs
+(0010,1000) OtherPatientIDs (retired)
(0010,1001) OtherPatientNames
(0010,2160) EthnicGroup
(0010,4000) PatientComments
-(0020,1200) NumberOfPatientRelatedStudies
-(0020,1202) NumberOfPatientRelatedSeries
-(0020,1204) NumberOfPatientRelatedInstances
.fi
.PP
.PP
(0020,000D) StudyInstanceUID
(0020,0010) StudyID
(0020,1070) RETIRED_OtherStudyNumbers
-(0020,1206) NumberOfStudyRelatedSeries
-(0020,1208) NumberOfStudyRelatedInstances
.fi
.PP
.PP
\fI<docdir>/dcmqrset\&.txt\fP - setup information
.br
\fI<etcdir>/dcmqrscp\&.cfg\fP - example configuration file
+.br
+\fI<etcdir>/dcmqrprf\&.cfg\fP - example configuration file for association profiles
.SH "SEE ALSO"
.PP
\fBdcmqridx\fP(1), \fBdcmqrti\fP(1)
-.TH "dcmqrti" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmqrti" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmqrti \- The Terminal Initiator Telnet Client Program
connect to remote database defined in cfg file
.fi
.PP
-.SH "NOTES"
+.SH "dcmqrti_NOTES"
.PP
.SS "Commands"
All commands can be abbreviated\&. An abbreviation is allowed if it does not conflict with another command\&.
-.TH "dcmquant" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmquant" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmquant \- Convert DICOM color images to palette color
read with implicit VR little endian TS
.fi
.PP
-.SS "processing options"
+.SS "image processing and encoding options"
.PP
.nf
frame selection:
+Cc --mc-color-center
select center of box
-color palette creation:
+color palette value representation:
+pw --write-ow
- write Palette LUT as OW instead of US
+ write Palette LUT as OW (default)
+
+ +pu --write-us
+ write Palette LUT as US (retired)
+
+color palette creation:
+pe --lut-entries-word
write Palette LUT with 16-bit entries
The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&.
.SH "COPYRIGHT"
.PP
-Copyright (C) 2001-2014 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
+Copyright (C) 2001-2017 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
-.TH "dcmrecv" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmrecv" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmrecv \- Simple DICOM storage SCP (receiver)
-.TH "dcmscale" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmscale" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmscale \- Scale DICOM images
read with implicit VR little endian TS
.fi
.PP
-.SS "processing options"
+.SS "image processing and encoding options"
.PP
.nf
scaling:
-.TH "dcmsend" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmsend" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmsend \- Simple DICOM storage SCU (sender)
-.TH "dcmsign" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmsign" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmsign \- Sign and Verify DICOM Files
-.TH "dcod2lum" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcod2lum" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcod2lum \- Convert hardcopy characteristic curve file to softcopy format
-.TH "dconvlum" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dconvlum" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dconvlum \- Convert VeriLUM files to DCMTK display files
-.TH "drtdump" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "drtdump" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
drtdump \- Dump DICOM RT file and data set
-.TH "dsr2html" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dsr2html" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dsr2html \- Render DICOM SR file and data set to HTML/XHTML
-.TH "dsr2xml" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dsr2xml" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dsr2xml \- Convert DICOM SR file and data set to XML
If this DICOM attribute is missing in the input file, although needed, option \fI--charset-assume\fP can be used to specify an appropriate character set manually (using one of the DICOM defined terms)\&. For reasons of backward compatibility with previous versions of this tool, the following terms are also supported and mapped automatically to the associated DICOM defined terms: latin-1, latin-2, latin-3, latin-4, latin-5, cyrillic, arabic, greek, hebrew\&.
.PP
Option \fI--convert-to-utf8\fP can be used to convert the DICOM file or data set to UTF-8 encoding prior to the conversion to XML format\&.
-.SS "ERROR HANDLING"
+.SS "Error Handling"
Please be careful with the processing options \fI--unknown-relationship\fP, \fI--invalid-item-value\fP, \fI--ignore-constraints\fP, \fI--ignore-item-errors\fP and \fI--skip-invalid-items\fP since they disable certain validation checks on the DICOM SR input file and, therefore, might result in non-standard conformant output\&. However, there might be reasons for using one or more of these options, e\&.g\&. in order to read and process an incorrectly encoded SR document\&.
.SS "Limitations"
The XML Schema \fIdsr2xml\&.xsd\fP does not support all variations of the \fBdsr2xml\fP output format\&. However, the default output format (plus option \fI--use-xml-namespace\fP) should work\&.
-.TH "dsrdump" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dsrdump" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dsrdump \- Dump DICOM SR file and data set
-.TH "dump2dcm" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dump2dcm" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dump2dcm \- Convert ASCII dump to DICOM file
-.TH "echoscu" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "echoscu" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
echoscu \- DICOM verification (C-ECHO) SCU
-.TH "findscu" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "findscu" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
findscu \- DICOM query (C-FIND) SCU
-.TH "getscu" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "getscu" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
getscu \- DICOM retrieve (C-GET) SCU
+xo --prefer-mpeg4-2-st
prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS
+ +x4 --prefer-hevc
+ prefer HEVC H.265 Main Profile / Level 5.1 TS
+
+ +x5 --prefer-hevc10
+ prefer HEVC H.265 Main 10 Profile / Level 5.1 TS
+
+xr --prefer-rle
prefer RLE lossless TS
MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104
MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105
MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106
+HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107
+HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108
RLELosslessTransferSyntax 1.2.840.10008.1.2.5
.fi
.PP
-.TH "img2dcm" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "img2dcm" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
img2dcm \- Convert standard image formats into DICOM format
-.TH "movescu" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "movescu" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
movescu \- DICOM retrieve (C-MOVE) SCU
+xo --prefer-mpeg4-2-st
prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS
+ +x4 --prefer-hevc
+ prefer HEVC H.265 Main Profile / Level 5.1 TS
+
+ +x5 --prefer-hevc10
+ prefer HEVC H.265 Main 10 Profile / Level 5.1 TS
+
+xr --prefer-rle
prefer RLE lossless TS
BlendingSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.4
XAXRFGrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.5
GrayscalePlanarMPRVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.6
-CompositingPlanarMPRVolumetricPresentationStateStor. 1.2.840.10008.5.1.4.1.1.11.7
+CompositingPlanarMPRVolumetricPresent.StateStorage 1.2.840.10008.5.1.4.1.1.11.7
+AdvancedBlendingPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.8
+VolumeRenderingVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.9
+SegmentedVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.10
+MultipleVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.11
XRayAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.12.1
EnhancedXAImageStorage 1.2.840.10008.5.1.4.1.1.12.1.1
XRayRadiofluoroscopicImageStorage 1.2.840.10008.5.1.4.1.1.12.2
OphthalmicTomographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.4
WideFieldOphthalmicPhoto.Stereogr.Proj.ImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.5
WideFieldOphthalmicPhotogr.3DCoordinatesImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.6
+OphthalmicOpticalCoherenceTomogr.EnFaceImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.7
+OphthalmicOpticalCoh.Tomogr.BscanVolumeAnalysisStor. 1.2.840.10008.5.1.4.1.1.77.1.5.8
VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6
RETIRED_VLMultiFrameImageStorage 1.2.840.10008.5.1.4.1.1.77.2
LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1
ColonCADSRStorage 1.2.840.10008.5.1.4.1.1.88.69
ImplantationPlanSRDocumentStorage 1.2.840.10008.5.1.4.1.1.88.70
AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71
+SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72
+PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.73
ContentAssessmentResultsStorage 1.2.840.10008.5.1.4.1.1.90.1
EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2
RETIRED_StandalonePETCurveStorage 1.2.840.10008.5.1.4.1.1.129
EnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.130
BasicStructuredDisplayStorage 1.2.840.10008.5.1.4.1.1.131
-CTDefinedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.1
CTPerformedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.2
RTImageStorage 1.2.840.10008.5.1.4.1.1.481.1
RTDoseStorage 1.2.840.10008.5.1.4.1.1.481.2
DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1
RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7
RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10
-GenericImplantTemplateStorage 1.2.840.10008.5.1.4.43.1
-ImplantAssemblyTemplateStorage 1.2.840.10008.5.1.4.44.1
-ImplantTemplateGroupStorage 1.2.840.10008.5.1.4.45.1
.fi
.PP
.PP
-.TH "pdf2dcm" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "pdf2dcm" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
pdf2dcm \- Convert PDF file to DICOM
-.TH "storescp" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "storescp" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
storescp \- DICOM storage (C-STORE) SCP
+xo --prefer-mpeg4-2-st
prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS
+ +x4 --prefer-hevc
+ prefer HEVC H.265 Main Profile / Level 5.1 TS
+
+ +x5 --prefer-hevc10
+ prefer HEVC H.265 Main 10 Profile / Level 5.1 TS
+
+xr --prefer-rle
prefer RLE lossless TS
.fi
.PP
.PP
-where 'PatientName' is replaced by 'ANONYMOUS' if the data element is empty or absent in the data set\&. Please note, however, that for option \fI--sort-on-study-uid\fP the same subdirectory will be used for all DICOM objects that belong to the same study, i\&.e\&. in contrast to the other \fI--sort-xxx\fP options there is no guarantee that a study directory is ever completed\&.
+where 'PatientName' is replaced by 'ANONYMOUS' if the data element is empty or absent in the data set\&. Any existing patient name is transformed in order to use only ASCII characters\&. Please note that in this context only the DICOM default character set (ASCII, i\&.e\&. no entry in attribute Specific Character Set) and Latin-1 (Specific Character Set valued 'ISO_IR 100') are supported\&. If another character set is found and the patient name contains non-ASCII characters, a warning is printed and the transformation is performed as if Latin-1 character set would be set in the file\&. This may lead to unreadable or unexpected patient name directories and behaviour\&. Thus, it is advisable to use \fI--sort-on-patientname\fP only if Latin-1 or ASCII patient names are expected to be received\&.
+.PP
+For option \fI--sort-on-study-uid\fP the same subdirectory will be used for all DICOM objects that belong to the same study, i\&.e\&. in contrast to the other \fI--sort-xxx\fP options there is no guarantee that a study directory is ever completed\&.
.PP
Option \fI--timenames\fP creates filenames from timestamps corresponding to the time, \fBstorescp\fP writes a file to disk\&. The format is
.PP
BlendingSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.4
XAXRFGrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.5
GrayscalePlanarMPRVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.6
-CompositingPlanarMPRVolumetricPresentationStateStor. 1.2.840.10008.5.1.4.1.1.11.7
+CompositingPlanarMPRVolumetricPresent.StateStorage 1.2.840.10008.5.1.4.1.1.11.7
+AdvancedBlendingPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.8
+VolumeRenderingVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.9
+SegmentedVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.10
+MultipleVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.11
XRayAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.12.1
EnhancedXAImageStorage 1.2.840.10008.5.1.4.1.1.12.1.1
XRayRadiofluoroscopicImageStorage 1.2.840.10008.5.1.4.1.1.12.2
OphthalmicTomographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.4
WideFieldOphthalmicPhoto.Stereogr.Proj.ImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.5
WideFieldOphthalmicPhotogr.3DCoordinatesImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.6
+OphthalmicOpticalCoherenceTomogr.EnFaceImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.7
+OphthalmicOpticalCoh.Tomogr.BscanVolumeAnalysisStor. 1.2.840.10008.5.1.4.1.1.77.1.5.8
VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6
RETIRED_VLMultiFrameImageStorage 1.2.840.10008.5.1.4.1.1.77.2
LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1
ImplantationPlanSRDocumentStorage 1.2.840.10008.5.1.4.1.1.88.70
AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71
SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72
+PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.73
ContentAssessmentResultsStorage 1.2.840.10008.5.1.4.1.1.90.1
EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2
RETIRED_StandalonePETCurveStorage 1.2.840.10008.5.1.4.1.1.129
EnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.130
BasicStructuredDisplayStorage 1.2.840.10008.5.1.4.1.1.131
-CTDefinedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.1
CTPerformedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.2
RTImageStorage 1.2.840.10008.5.1.4.1.1.481.1
RTDoseStorage 1.2.840.10008.5.1.4.1.1.481.2
-.TH "storescu" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "storescu" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
storescu \- DICOM storage (C-STORE) SCU
-xo --propose-mpeg4-2-st
propose MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS only
+ -x4 --propose-hevc
+ propose HEVC H.265 Main Profile / Level 5.1 TS only
+
+ -x5 --propose-hevc10
+ propose HEVC H.265 Main 10 Profile / Level 5.1 TS only
+
-xr --propose-rle
propose RLE lossless TS
and all uncompressed transfer syntaxes
MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104
MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105
MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106
+HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107
+HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108
RLELosslessTransferSyntax 1.2.840.10008.1.2.5
.fi
.PP
-.TH "termscu" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "termscu" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
termscu \- DICOM termination SCU
-.TH "wlmscpfs" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "wlmscpfs" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
wlmscpfs \- DICOM Basic Worklist Management SCP (based on data files)
.nf
general:
- -dfp --data-files-path [p]ath: string (default: /home/www/wlist)
+ -dfp --data-files-path [p]ath: string (default: .)
path to worklist data files
handling of worklist files:
(0010,0021) IssuerOfPatientID
(0010,0030) PatientBirthDate
(0010,0040) PatientSex
-(0010,1000) OtherPatientIDs
+(0010,1000) OtherPatientIDs (retired)
(0010,1001) OtherPatientNames
(0010,1020) PatientSize
(0010,1030) PatientWeight
(0010,21b0) AdditionalPatientHistory
(0010,21c0) PregnancyStatus
(0010,21d0) LastMenstrualDate
-(0010,2297) Responsible Person
-(0010,2298) Responsible Person Role
+(0010,2297) ResponsiblePerson
+(0010,2298) ResponsiblePersonRole
(0010,4000) PatientComments
(0020,000d) StudyInstanceUID
(0032,1032) RequestingPhysician
The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&.
.SH "COPYRIGHT"
.PP
-Copyright (C) 1996-2014 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
+Copyright (C) 1996-2017 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
-.TH "xml2dcm" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "xml2dcm" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
xml2dcm \- Convert XML document to DICOM file or data set
-.TH "xml2dsr" 1 "Tue Feb 28 2017" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "xml2dsr" 1 "Fri Jul 14 2017" "Version 3.6.2" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
xml2dsr \- Convert DICOM SR file and data set to XML
PROJECT(oflog)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${oflog_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES("${oflog_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include")
# recurse into subdirectories
FOREACH(SUBDIR libsrc include etc)
# declare installation files
-INSTALL(FILES logger.cfg filelog.cfg DESTINATION ${DCMTK_INSTALL_ETCDIR} COMPONENT etc)
+INSTALL(FILES logger.cfg filelog.cfg DESTINATION "${DCMTK_INSTALL_ETCDIR}" COMPONENT etc)
# declare installation files
-INSTALL(DIRECTORY dcmtk/oflog DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h")
+INSTALL(DIRECTORY dcmtk/oflog DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h")
#pragma once
#endif
-#include "dcmtk/ofstd/ofaptr.h"
+#include "dcmtk/ofstd/ofmem.h"
#include "dcmtk/oflog/layout.h"
#include "dcmtk/oflog/loglevel.h"
#include "dcmtk/oflog/tstring.h"
/**
* Set the {@link ErrorHandler} for this Appender.
*/
- virtual void setErrorHandler(OFauto_ptr<ErrorHandler> eh);
+ virtual void setErrorHandler(OFunique_ptr<ErrorHandler> eh);
/**
* Return the currently set {@link ErrorHandler} for this
* their own (fixed) layouts or do not use one. For example, the
* SocketAppender ignores the layout set here.
*/
- virtual void setLayout(OFauto_ptr<Layout> layout);
+ virtual void setLayout(OFunique_ptr<Layout> layout);
/**
* Returns the layout of this appender. The value may be NULL.
// Data
/** The layout variable does not need to be set if the appender
* implementation has its own layout. */
- OFauto_ptr<Layout> layout;
+ OFunique_ptr<Layout> layout;
/** Appenders are named. */
log4cplus::tstring name;
log4cplus::spi::FilterPtr filter;
/** It is assumed and enforced that errorHandler is never null. */
- OFauto_ptr<ErrorHandler> errorHandler;
+ OFunique_ptr<ErrorHandler> errorHandler;
//! Optional system wide synchronization lock.
- OFauto_ptr<helpers::LockFile> lockFile;
+ OFunique_ptr<helpers::LockFile> lockFile;
//! Use lock file for inter-process synchronization of access
//! to log file.
/**
* Set the default LoggerFactory instance.
*/
- virtual void setLoggerFactory(OFauto_ptr<spi::LoggerFactory> factory);
+ virtual void setLoggerFactory(OFunique_ptr<spi::LoggerFactory> factory);
/**
* Returns the default LoggerFactory instance.
// Data
thread::Mutex hashtable_mutex;
- OFauto_ptr<spi::LoggerFactory> defaultFactory;
+ OFunique_ptr<spi::LoggerFactory> defaultFactory;
ProvisionNodeMap provisionNodes;
LoggerMap loggerPtrs;
Logger root;
/*
*
- * Copyright (C) 2009-2016, OFFIS e.V.
+ * Copyright (C) 2009-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/oflog/logger.h"
#include "dcmtk/oflog/logmacro.h"
#include "dcmtk/ofstd/oftypes.h"
-#include "dcmtk/ofstd/ofaptr.h"
+#include "dcmtk/ofstd/ofmem.h"
#include "dcmtk/ofstd/ofconapp.h"
#define OFLOG_TRACE(logger, msg) DCMTK_LOG4CPLUS_TRACE(logger, msg)
private:
/// If we loaded a config file in configureFromCommandLine(), this is it
- static OFauto_ptr<dcmtk::log4cplus::helpers::Properties> configProperties_;
+ static OFunique_ptr<dcmtk::log4cplus::helpers::Properties> configProperties_;
};
#endif
class DCMTK_LOG4CPLUS_EXPORT LayoutFactory : public BaseFactory {
public:
typedef Layout ProductType;
- typedef OFauto_ptr<Layout> ProductPtr;
+ typedef OFrvalue<OFunique_ptr<Layout> > ProductPtr;
LayoutFactory();
virtual ~LayoutFactory() = 0;
/**
* Create a "Layout" object.
*/
- virtual OFauto_ptr<Layout> createObject(const log4cplus::helpers::Properties& props) = 0;
+ virtual ProductPtr createObject(const log4cplus::helpers::Properties& props) = 0;
};
* Used to enter an object into the registry. (The registry now
* owns <code>object</code>.)
*/
- bool put(OFauto_ptr<T> object) {
+ bool put(OFunique_ptr<T> object) {
bool putValResult = putVal(object->getTypeName(), object.get());
object.release();
return putValResult;
#define DCMTK_LOG4CPLUS_REG_PRODUCT(reg, productprefix, productname, productns, productfact) \
reg.put ( \
- OFauto_ptr<productfact> ( \
+ OFrvalue<OFunique_ptr<productfact> > ( \
new log4cplus::spi::FactoryTempl<productns productname, productfact> ( \
DCMTK_LOG4CPLUS_TEXT(productprefix) \
DCMTK_LOG4CPLUS_TEXT(#productname))))
log4cplus::spi::FilterFactory)
#define DCMTK_LOG4CPLUS_REG_LOCALE(reg, name, factory) \
- reg.put (OFauto_ptr<log4cplus::spi::LocaleFactory> ( \
+ reg.put (OFrvalue<OFunique_ptr<log4cplus::spi::LocaleFactory> > ( \
new factory (name)))
} // namespace spi
}
#endif
#include <memory>
-#include "dcmtk/ofstd/ofaptr.h"
+#include "dcmtk/ofstd/ofmem.h"
#include "dcmtk/oflog/loglevel.h"
#include "dcmtk/oflog/ndc.h"
#include "dcmtk/oflog/mdc.h"
/** Returns a copy of this object. Derived classes
* should override this method.
*/
- virtual OFauto_ptr<InternalLoggingEvent> clone() const;
+ virtual OFrvalue<OFunique_ptr<InternalLoggingEvent> > clone() const;
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/oflog/config/defines.h \
../include/dcmtk/oflog/helpers/threadcf.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/helpers/loglog.h \
../include/dcmtk/oflog/spi/logevent.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/oflog/config/defines.h \
../include/dcmtk/oflog/helpers/threadcf.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/helpers/strhelp.h \
../include/dcmtk/oflog/helpers/property.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/factory.h ../include/dcmtk/oflog/spi/objreg.h \
../include/dcmtk/oflog/spi/logevent.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/helpers/threadcf.h \
../include/dcmtk/oflog/asyncap.h ../include/dcmtk/oflog/helpers/queue.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
- ../include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/clfsap.h ../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/oflog/layout.h \
../include/dcmtk/oflog/loglevel.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/spi/filter.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/spi/apndatch.h \
../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/streams.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/thread/syncprim.h \
../include/dcmtk/oflog/spi/filter.h \
../include/dcmtk/oflog/spi/logfact.h ../include/dcmtk/oflog/clogger.h \
../include/dcmtk/oflog/hierarchy.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/loglog.h \
../include/dcmtk/oflog/spi/logimpl.h \
../include/dcmtk/oflog/config/defines.h \
../include/dcmtk/oflog/helpers/threadcf.h \
../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/spi/logfact.h \
../include/dcmtk/oflog/helpers/property.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/hierlock.h ../include/dcmtk/oflog/hierarchy.h \
../include/dcmtk/oflog/helpers/loglog.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/consap.h ../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/thread/syncprim.h \
../include/dcmtk/oflog/spi/filter.h \
../include/dcmtk/oflog/helpers/strhelp.h \
../include/dcmtk/oflog/helpers/property.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/logevent.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/config/defines.h \
../include/dcmtk/oflog/helpers/threadcf.h \
../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/helpers/lockfile.h \
../include/dcmtk/oflog/spi/objreg.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/logfact.h \
../include/dcmtk/oflog/helpers/loglog.h \
../include/dcmtk/oflog/config/defines.h \
../include/dcmtk/oflog/helpers/threadcf.h \
../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/helpers/strhelp.h \
../include/dcmtk/oflog/helpers/property.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/fileinfo.h \
../include/dcmtk/oflog/spi/logevent.h ../include/dcmtk/oflog/ndc.h \
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/ndc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../include/dcmtk/oflog/thread/syncpub.h
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/spi/apndatch.h \
../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/streams.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/thread/syncprim.h \
../include/dcmtk/oflog/spi/filter.h \
../include/dcmtk/oflog/helpers/lockfile.h \
../include/dcmtk/oflog/spi/logfact.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/loglog.h \
../include/dcmtk/oflog/internal/internal.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/spi/apndatch.h \
../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/streams.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/thread/syncprim.h \
../include/dcmtk/oflog/spi/filter.h \
../include/dcmtk/oflog/helpers/lockfile.h \
../include/dcmtk/oflog/spi/logfact.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/loglog.h \
../include/dcmtk/oflog/spi/logimpl.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/loglevel.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/logger.h ../include/dcmtk/oflog/spi/apndatch.h \
../include/dcmtk/oflog/spi/logfact.h ../include/dcmtk/oflog/hierarchy.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/loglog.h \
../include/dcmtk/oflog/spi/logimpl.h \
../include/dcmtk/oflog/helpers/strhelp.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/ndc.h \
- ../include/dcmtk/oflog/mdc.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../ofstd/include/dcmtk/ofstd/ofutil.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/ndc.h ../include/dcmtk/oflog/mdc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/thread/threads.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/config/defines.h \
../include/dcmtk/oflog/helpers/threadcf.h \
../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/helpers/loglog.h \
../include/dcmtk/oflog/helpers/property.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/logevent.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../include/dcmtk/oflog/helpers/timehelp.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/oflog/config/defines.h \
../include/dcmtk/oflog/helpers/threadcf.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
- ../include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/spi/apndatch.h \
../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/streams.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/thread/syncprim.h \
../include/dcmtk/oflog/spi/filter.h \
../include/dcmtk/oflog/helpers/lockfile.h \
../include/dcmtk/oflog/spi/logfact.h ../include/dcmtk/oflog/hierarchy.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/loglog.h \
../include/dcmtk/oflog/spi/logimpl.h \
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/oflog/loglevel.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/internal/env.h ../include/dcmtk/oflog/consap.h \
../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/loglevel.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/spi/filter.h \
../include/dcmtk/oflog/helpers/lockfile.h
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/oflog/loglevel.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/streams.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/oflog/loglevel.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/oflog/loglevel.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../include/dcmtk/oflog/config/defines.h \
../include/dcmtk/oflog/helpers/threadcf.h \
../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/streams.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../../ofstd/include/dcmtk/ofstd/ofdate.h \
../../ofstd/include/dcmtk/ofstd/oftime.h ../include/dcmtk/oflog/oflog.h \
../include/dcmtk/oflog/logger.h ../include/dcmtk/oflog/config.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h ../include/dcmtk/oflog/tchar.h \
../include/dcmtk/oflog/spi/apndatch.h ../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/streams.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/thread/syncprim.h \
../include/dcmtk/oflog/spi/filter.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../include/dcmtk/oflog/configrt.h \
../include/dcmtk/oflog/helpers/property.h \
- ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
- ../include/dcmtk/oflog/consap.h ../include/dcmtk/oflog/helpers/loglog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h ../include/dcmtk/oflog/consap.h \
+ ../include/dcmtk/oflog/helpers/loglog.h \
../include/dcmtk/oflog/helpers/socket.h \
../include/dcmtk/oflog/helpers/sockbuff.h \
../include/dcmtk/oflog/helpers/strhelp.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/logmacro.h ../include/dcmtk/oflog/logger.h \
../include/dcmtk/oflog/spi/apndatch.h ../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/thread/syncprim.h \
../include/dcmtk/oflog/spi/filter.h \
../include/dcmtk/oflog/helpers/sockbuff.h \
../include/dcmtk/oflog/helpers/property.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/logevent.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../include/dcmtk/oflog/thread/threads.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/internal/internal.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/oflog/loglevel.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../include/dcmtk/oflog/helpers/threadcf.h \
../include/dcmtk/oflog/helpers/queue.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
- ../include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/thread/syncprim.h \
../include/dcmtk/oflog/spi/apndatch.h ../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/loglevel.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/streams.h ../include/dcmtk/oflog/spi/filter.h \
../include/dcmtk/oflog/helpers/lockfile.h \
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/oflog/loglevel.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../include/dcmtk/oflog/config/defines.h \
../include/dcmtk/oflog/helpers/threadcf.h \
../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/thread/threads.h \
../include/dcmtk/oflog/spi/logevent.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/helpers/loglog.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
+ ../../ofstd/include/dcmtk/ofstd/oferror.h \
../include/dcmtk/oflog/internal/internal.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
../../ofstd/include/dcmtk/ofstd/ofutil.h \
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/oflog/loglevel.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
../include/dcmtk/oflog/config/defines.h \
../include/dcmtk/oflog/helpers/threadcf.h \
../include/dcmtk/oflog/appender.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h ../include/dcmtk/oflog/layout.h \
- ../include/dcmtk/oflog/loglevel.h \
- ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/layout.h ../include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
../include/dcmtk/oflog/tstring.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/oflog/tchar.h ../include/dcmtk/oflog/streams.h \
../include/dcmtk/oflog/helpers/loglog.h \
../include/dcmtk/oflog/helpers/property.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../../ofstd/include/dcmtk/ofstd/ofutil.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/strhelp.h \
../include/dcmtk/oflog/spi/logevent.h ../include/dcmtk/oflog/ndc.h \
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/oflog/loglevel.h \
../include/dcmtk/oflog/helpers/snprintf.h
timehelp.o: timehelp.cc ../include/dcmtk/oflog/helpers/timehelp.h \
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/oflog/loglevel.h \
../include/dcmtk/oflog/thread/threads.h \
../include/dcmtk/oflog/helpers/pointer.h \
../include/dcmtk/oflog/thread/syncprim.h \
../include/dcmtk/oflog/thread/syncpub.h \
../include/dcmtk/oflog/spi/logevent.h \
- ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
- ../include/dcmtk/oflog/loglevel.h ../include/dcmtk/oflog/ndc.h \
- ../include/dcmtk/oflog/mdc.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../ofstd/include/dcmtk/ofstd/ofutil.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../include/dcmtk/oflog/loglevel.h ../include/dcmtk/oflog/ndc.h \
+ ../include/dcmtk/oflog/mdc.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../include/dcmtk/oflog/helpers/timehelp.h \
../include/dcmtk/oflog/thread/threads.h \
helpers::Properties layoutProperties =
properties.getPropertySubset( DCMTK_LOG4CPLUS_TEXT("layout.") );
try {
- OFauto_ptr<Layout> newLayout(factory->createObject(layoutProperties));
- if(newLayout.get() == 0) {
+ OFunique_ptr<Layout> newLayout(factory->createObject(layoutProperties));
+ if(!newLayout) {
helpers::getLogLog().error(
DCMTK_LOG4CPLUS_TEXT("Failed to create appender: ")
+ factoryName);
}
else {
- layout = newLayout;
+ layout = OFmove(newLayout);
}
}
catch(STD_NAMESPACE exception const & e) {
void
-Appender::setErrorHandler(OFauto_ptr<ErrorHandler> eh)
+Appender::setErrorHandler(OFunique_ptr<ErrorHandler> eh)
{
if (! eh.get())
{
thread::MutexGuard guard (access_mutex);
- this->errorHandler = eh;
+ this->errorHandler = OFmove(eh);
}
void
-Appender::setLayout(OFauto_ptr<Layout> lo)
+Appender::setLayout(OFunique_ptr<Layout> lo)
{
thread::MutexGuard guard (access_mutex);
- this->layout = lo;
+ this->layout = OFmove(lo);
}
void
-Hierarchy::setLoggerFactory(OFauto_ptr<spi::LoggerFactory> factory)
+Hierarchy::setLoggerFactory(OFunique_ptr<spi::LoggerFactory> factory)
{
- defaultFactory = factory;
+ defaultFactory = OFmove(factory);
}
-OFauto_ptr<InternalLoggingEvent>
+OFrvalue<OFunique_ptr<InternalLoggingEvent> >
InternalLoggingEvent::clone() const
{
- OFauto_ptr<InternalLoggingEvent> tmp(new InternalLoggingEvent(*this));
- return tmp;
+ return OFrvalue<OFunique_ptr<InternalLoggingEvent> >(new InternalLoggingEvent(*this));
}
/*
*
- * Copyright (C) 2009-2016, OFFIS e.V.
+ * Copyright (C) 2009-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/oflog/helpers/strhelp.h"
#include "dcmtk/oflog/internal/internal.h"
-OFauto_ptr<dcmtk::log4cplus::helpers::Properties> OFLog::configProperties_;
+OFunique_ptr<dcmtk::log4cplus::helpers::Properties> OFLog::configProperties_;
OFLogger::OFLogger(const dcmtk::log4cplus::Logger &base)
: dcmtk::log4cplus::Logger(base)
// we default to a really simple pattern: loglevel_prefix: message\n
const char *pattern = "%P: %m%n";
- OFauto_ptr<dcmtk::log4cplus::Layout> layout(new dcmtk::log4cplus::PatternLayout(pattern));
+ OFunique_ptr<dcmtk::log4cplus::Layout> layout(new dcmtk::log4cplus::PatternLayout(pattern));
dcmtk::log4cplus::SharedAppenderPtr console(new dcmtk::log4cplus::ConsoleAppender(OFTrue /* logToStdErr */, OFTrue /* immediateFlush */));
dcmtk::log4cplus::Logger rootLogger = dcmtk::log4cplus::Logger::getRoot();
- console->setLayout(layout);
+ console->setLayout(OFmove(layout));
rootLogger.addAppender(console);
rootLogger.setLogLevel(dcmtk::log4cplus::INFO_LOG_LEVEL);
}
return ret;
}
+#else
+
+int strcloc_cc_dummy_to_keep_linker_from_moaning = 0;
+
#endif // DCMTK_LOG4CPLUS_WORKING_C_LOCALE
} // namespace helpers
} // namespace log4cplus
+
} // end namespace dcmtk
+
} // namespace helpers
} // namespace log4cplus
+
+
} // end namespace dcmtk
+#else
+
+int striconv_cc_dummy_to_keep_linker_from_moaning = 0;
+
#endif // DCMTK_LOG4CPLUS_WITH_ICONV
PROJECT(ofstd)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${ofstd_SOURCE_DIR}/include ${LIBICONV_INCDIR})
+INCLUDE_DIRECTORIES("${ofstd_SOURCE_DIR}/include" ${LIBICONV_INCDIR})
# recurse into subdirectories
FOREACH(SUBDIR libsrc include tests)
# declare installation files
-INSTALL(DIRECTORY dcmtk/ofstd DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk COMPONENT include FILES_MATCHING PATTERN "*.h" PATTERN "*.def")
+INSTALL(DIRECTORY dcmtk/ofstd DESTINATION "${DCMTK_INSTALL_INCDIR}/dcmtk" COMPONENT include FILES_MATCHING PATTERN "*.h" PATTERN "*.def")
#pragma clang diagnostic ignored "-Winteger-overflow"
#elif DCMTK_DIAGNOSTIC_MIN_GCC_VERSION(4,6,0)
#pragma GCC diagnostic ignored "-Woverflow"
-// Visual Studio doesn't seem to have such a warning yet, uncomment
-// and replace ???? when it does
-//#elif DCMTK_DIAGNOSTIC_MIN_MSC_VER(????)
-//#pragma warning(disable: ????)
+#elif defined(_MSC_VER)
+#pragma warning(disable: 4307)
#endif
/*
*
- * Copyright (C) 1997-2012, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
// the parameter function to the correct type (e.g. NeXT gcc 2.5.8)
-#if defined(HAVE_STL) || defined(HAVE_STL_ALGORITHMS)
+#ifdef HAVE_STL_ALGORITHM
// It is possible to use the standard template library list class since the
// interface is nearly identical.
// Important: If you want to use the standard template library (STL), no
/*
*
- * Copyright (C) 2014, OFFIS e.V.
+ * Copyright (C) 2014-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/oftypes.h"
// use native functionality if C++11 is supported
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
#define OFalignof alignof
// these helper templates automatically resolve the alignment
// these helper templates automatically resolve the alignment
// if a type is given and pass-through any numeric constant
-template<size_t Size>
-struct OFalignas_size_helper { Uint8 size[Size]; };
template<typename T>
-OFalignas_size_helper
-<
+struct OFalignas_size_helper_t
+{
#ifdef OFalignof
- OFalignof(T)
+ Uint8 size[OFalignof(T)];
#else // use sizeof instead
- sizeof(T)
+ Uint8 size[sizeof(T)];
#endif
-> OFalignof_or_identity_template() {}
+};
+template<typename T>
+OFalignas_size_helper_t<T> OFalignof_or_identity_template() {}
template<size_t Size>
-OFalignas_size_helper<Size> OFalignof_or_identity_template() {}
+struct OFalignas_size_helper_s { Uint8 size[Size]; };
+template<size_t Size>
+OFalignas_size_helper_s<Size> OFalignof_or_identity_template() {}
#define OFalignof_or_identity(A) sizeof(OFalignof_or_identity_template<A>())
#else // DOXYGEN
*/
#define OFalignas <unspecified>
-/** Determine a type with modified alignment for a given type T.
+/** Align a variable or data member.
* @note OFalign may not be available on your platform / compiler combination.
* Use <kbd>#ifdef OFalign</kbd> to query availability.
* @sa OFalign_typename
* @details
* OFalign can be though of as the least common denominator of the alignment capabilities
* available on different platform / compiler combinations. Given a type T and an integral
- * expression I, <kbd>OFalign(T,I)</kbd> evaluates to an appropriately aligned type corresponding
- * to T.<br>
+ * expression I, <kbd>OFalign(T,I)</kbd> evaluates to a type with a corresponding alignment
+ * modifier (either included in the type definition or as a modifier put next to it).<br>
* You may also use another type to specify the desired alignment, e.g. <kbd>OFalign(T,int)</kbd>.
* OFalign will then calculate the alignment using <i>OFalignof</i> (if available) or use
* <i>sizeof()</i> as approximation.<br>
* To align arrays via OFalign, simply pass the array's extents within the parameter, e.g.
* <kbd>OFalign(char[12],float)</kbd> to align an array containing <i>12</i> chars like a float.<br>
- * When using OFalign inside a dependant scope (i.e. inside templates), you may need
+ * When using OFalign inside a dependent scope (i.e. inside templates), you may need
* to use OFalign_typename instead, e.g.
* @code typedef OFalign_typename(T,16) value_type; @endcode
* OFalign should support alignments as any power of two <= 8192 (examine your compiler's manual
* @sa OFalign
* @details
* OFalign_typename is an alternate version of OFalign that internally uses keywords like
- * <i>OFTypename</i> so it can be used inside a dependant scope. See OFalign for more information.
+ * <i>OFTypename</i> so it can be used inside a dependent scope. See OFalign for more information.
*/
#define OFalign_typename OFTypename <unspecified>
#endif // C++11
// alignas
-#if defined(DCMTK_USE_CXX11_STL) && defined(ALIGNAS_SUPPORTS_TYPEDEFS)
+#if defined(HAVE_CXX11)
#define OFalignas alignas
#if defined(OFalignas) && !defined(DOXYGEN)
// OFalign based on OFalignas, so this is "platform-independent".
-#define OFalign(T,A) OFalignas_align<T>::as<OFalignof_or_identity(A)>::type
-#define OFalign_typename(T,A) OFTypename OFalignas_align<T>::template as<OFalignof_or_identity(A)>::type
+#define OFalign(T,A) OFalignas(A) OFalignas_type<T>::type
+#define OFalign_typename(T,A) OFalignas(A) OFTypename OFalignas_type<T>::type
template<typename T>
-struct OFalignas_align
+struct OFalignas_type
{
- template<size_t A>
- struct as { typedef T type OFalignas(A); };
+ typedef T type;
};
template<typename T,size_t S>
-struct OFalignas_align<T[S]>
+struct OFalignas_type<T[S]>
{
- template<size_t A>
- struct as { typedef T type[S] OFalignas(A); };
+ typedef T type[S];
};
#endif
+++ /dev/null
-/*
- *
- * Copyright (C) 2009-2010, OFFIS e.V.
- * All rights reserved. See COPYRIGHT file for details.
- *
- * This software and supporting documentation were developed by
- *
- * OFFIS e.V.
- * R&D Division Health
- * Escherweg 2
- * D-26121 Oldenburg, Germany
- *
- *
- * Module: ofstd
- *
- * Author: Uli Schlachter
- *
- * Purpose: Template class for automatically deleting pointers when they go out
- * of scope.
- *
- */
-
-#ifndef OFAPTR_H
-#define OFAPTR_H
-
-#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-
-#if defined(HAVE_STL) || defined(HAVE_STL_AUTO_PTR)
-// std::auto_ptr has an identicaly interface so it can be used as an alternative
-#include <memory>
-#define OFauto_ptr std::auto_ptr
-
-#else
-
-#define INCLUDE_CSTDDEF /* For NULL */
-#include "dcmtk/ofstd/ofstdinc.h"
-
-/** internal class, don't ever use this directly!
- * This is needed to make the following code work:
- * <pre>
- * OFauto_ptr<X> func() { return new X; }
- * OFauto_ptr<X> local_var = func();
- * </pre>
- *
- * The compiler will add implicit casts to OFauto_ptr_ref to make this work:
- * <pre>
- * OFauto_ptr<X> func() { return OFauto_ptr_ref<X>(new X); }
- * OFauto_ptr<X> local_var = OFstatic_cast(OFauto_ptr_ref<X>, func());
- * </pre>
- */
-template <class T> class OFauto_ptr_ref
-{
-public:
- /// the pointer that it's all about
- T *ptr;
-
- /** constructs a OFauto_ptr_ref from a pointer.
- * @param p the pointer to use.
- */
- explicit OFauto_ptr_ref(T* p) : ptr(p)
- {
- }
-};
-
-/** a simple class which makes sure a pointer is deleted once it goes out of
- * scope. This class does NOT do reference counting!
- * This is a reimplementation of std::auto_ptr.
- */
-template <class T> class OFauto_ptr
-{
- protected:
- /// the pointer that it's all about
- T *ptr;
-
- public:
- /** constructs a OFauto_ptr from the given pointer.
- * You must not call delete on a pointer that is managed by OFauto_ptr!
- * @param p the pointer
- */
- explicit OFauto_ptr(T* p = NULL) : ptr(p)
- {
- }
-
- /** constructs a OFauto_ptr from another OFauto_ptr. The other OFauto_ptr
- * will be invalidated. This means he will point to NULL from now on!
- * @param other the OFauto_ptr to get the pointer from.
- */
- OFauto_ptr(OFauto_ptr<T>& other) : ptr(other.release())
- {
- }
-
- /** constructs a OFauto_ptr from an OFauto_ptr_ref.
- * @param other the OFauto_ptr_ref to get the pointer from.
- */
- OFauto_ptr(OFauto_ptr_ref<T> other) : ptr(other.ptr)
- {
- }
-
- /** destructor. Destroys the pointer that is managed by this instance,
- * if there is any.
- */
- ~OFauto_ptr()
- {
- reset();
- }
-
- /** assign another pointer to this OFauto_ptr, possibly deleting our
- * current pointer
- * @param p the new pointer
- */
- void reset(T* p = NULL)
- {
- if (this->ptr)
- delete this->ptr;
- this->ptr = p;
- }
-
- /** get the pointer that is managed by this class
- * @return the pointer
- */
- T* get() const { return this->ptr; }
-
- /** get the pointer that is managed by this class
- * @return the pointer
- */
- T* operator->() const { return get(); }
-
- /** dereference the pointer that is managed by this class
- * @return the reference
- */
- T& operator*() const { return *get(); }
-
- /** this is used automatically by the compiler, don't call directly
- * @return an OFauto_ptr_ref that stores this object's pointer
- */
- operator OFauto_ptr_ref<T>()
- {
- return OFauto_ptr_ref<T>(release());
- }
-
- /** assigns the other pointer to this OFauto_ptr
- * @param other other OFauto_ptr which will be invalidated
- * @return reference to this object
- */
- OFauto_ptr& operator=(OFauto_ptr<T>& other)
- {
- reset(other.release());
- return *this;
- }
-
- /** assigns the other pointer to this OFauto_ptr
- * @param other other OFauto_ptr_ref
- * @return reference to this object
- */
- OFauto_ptr& operator=(OFauto_ptr_ref<T> other)
- {
- reset(other.ptr);
- return *this;
- }
-
- /** release the pointer that is managed by this class. You are now
- * responsible for destroying that pointer yourself!
- * @return the pointer
- */
- T* release()
- {
- T* tmp = this->ptr;
- this->ptr = NULL;
- return tmp;
- }
-};
-
-#endif
-
-#endif
/*
*
- * Copyright (C) 2011-2016, OFFIS e.V.
+ * Copyright (C) 2011-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/** check whether this object refers to a valid encoder.
* @result OFTrue if this refers to a valid encoder, OFFalse otherwise.
*/
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
explicit
#endif
operator OFBool() const;
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#endif
/* define OFconstexpr to 'constexpr' or '' if not supported */
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
#define OFconstexpr constexpr
#else // C++11
#define OFconstexpr
--- /dev/null
+/*
+ *
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: ofstd
+ *
+ * Author: Nikolas Goldhammer
+ *
+ * Purpose:
+ * Implementing platform abstracting error code handling.
+ *
+ */
+
+#ifndef OFERROR_H
+#define OFERROR_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+// also require STL string, since otherwise OFsystem_error would become incompatible with OFString
+#if defined(HAVE_STL_SYSTEM_ERROR) && defined(HAVE_STL_STRING)
+
+#include <system_error>
+typedef STD_NAMESPACE error_category OFerror_category;
+typedef STD_NAMESPACE error_code OFerror_code;
+
+inline const OFerror_category& OFsystem_category() { return STD_NAMESPACE system_category(); }
+inline const OFerror_category& OFgeneric_category() { return STD_NAMESPACE generic_category(); }
+
+#else // fallback implementations
+
+#define INCLUDE_CERRNO
+#include "dcmtk/ofstd/ofstdinc.h"
+
+#include "dcmtk/ofstd/ofstring.h"
+
+// for Doxygen such that it does not ignore the globally declared functions
+/// @file oferror.h Declares classes and functions for platform abstracting error code handling.
+
+/** OFerror_category serves as the base class for specific error category types,
+ * such as OFsystem_category. It is possible to make your own error_category class.
+ * The objects of error category classes are treated as singletons, passed by reference.
+ * @note this implementation is meant to be a subset of the C++11's std::error_category
+ * that lacks the following features: error condition support, iostream category,
+ * future category.
+ * See: http://en.cppreference.com/w/cpp/error/error_category to compare OFerror_category
+ * against std::error_category.
+ *
+ * The following table describes the possible operations on two instances <i>a</i> and <i>b</i>
+ * of %OFerror_category:
+ * <table border>
+ * <tr><th>Expression</th><th>Meaning</th></tr>
+ * <tr>
+ * <td><center><kbd>a != b</kbd></center></td>
+ * <td>Compares two OFerror_category objects and evaluates to OFTrue if both objects refer to different error categories.</td>
+ * </tr>
+ * <tr>
+ * <td><center><kbd>a == b</kbd></center></td>
+ * <td>Compares two OFerror_category objects and evaluates to OFTrue if both objects refer to the same error category.</td>
+ * </tr>
+ * <tr>
+ * <td><center><kbd>a < b</kbd></center></td>
+ * <td>
+ * Implements a total order on OFerror_category objects. The semantics of one category being compared less than another
+ * are intentionally not defined, but, if one category compares less than to another it will stay that way during the
+ * remaining execution of the program and one and the same category will never compare less than to itself.
+ * </td>
+ * </tr>
+ * </Table>
+ * @see OFgeneric_category()
+ * @see OFsystem_category()
+ */
+class DCMTK_OFSTD_EXPORT OFerror_category
+{
+public:
+
+ /** Default constructor, used by derived classes.
+ */
+ inline OFerror_category() {}
+
+ /** Obtains the name of the category, for example "generic".
+ * @return a character pointer that refers to the name of the category.
+ */
+ virtual const char* name() const = 0;
+
+ /** Constructs an explanatory string for an error code.
+ * @param code an integer that shall be interpreted as an error code.
+ * @return an explanatory error message for the given code as an OFString.
+ */
+ virtual OFString message( int code ) const = 0;
+
+ // operator implementations, see above table for documentation
+#ifndef DOXYGEN
+ inline OFBool operator==(const OFerror_category& rhs) const { return this == &rhs; }
+ inline OFBool operator!=(const OFerror_category& rhs) const { return this != &rhs; }
+ inline OFBool operator<(const OFerror_category& rhs) const { return this < &rhs; }
+#endif // NOT DOXYGEN
+
+private:
+
+ // ensure singleton behavior by disabling the copy constructor and assignment
+ // operator
+#ifndef DOXYGEN
+ OFerror_category(const OFerror_category& other);
+ OFerror_category& operator=(const OFerror_category& rhs);
+#endif // NOT DOXYGEN
+};
+
+
+/** OFerror_code is a platform abstracting wrapper for platform specific error codes.
+ * Each OFerror_code object holds an error code originating from the operating system
+ * or some low-level interface and a pointer to an object of type OFerror_category,
+ * which corresponds to the said interface. The error code values may be not unique across
+ * different error categories.
+ * @note This implementation is meant to be a subset of the C++11's std::error_code
+ * that lacks the following features: error condition support, iostream category,
+ * future category.
+ * See: http://en.cppreference.com/w/cpp/error/error_code to compare OFerror_code against
+ * std::error_code.
+ *
+ * The following table describes the possible operations on two instances <i>a</i> and <i>b</i>
+ * of %OFerror_code:
+ * <table border>
+ * <tr><th>Expression</th><th>Meaning</th></tr>
+ * <tr>
+ * <td><center><kbd>if(a), while(a), ...</kbd></center></td>
+ * <td>
+ * Test whether the error code refers to an error message or means that everything went fine.
+ * OFTrue if the object refers to an error, OFFalse otherwise.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td><center><kbd>a != b</kbd></center></td>
+ * <td>
+ * Compares two OFerror_code objects, evaluates to OFTrue if both objects refer to a different
+ * error code, that is, if either the code or the category (or both) differ, OFFalse otherwise.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td><center><kbd>a == b</kbd></center></td>
+ * <td>
+ * Compares two OFerror_code objects, evaluates to OFTrue if both objects refer to the same
+ * error code, that is, if both the code and the category are equal, OFFalse otherwise.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td><center><kbd>a < b</kbd></center></td>
+ * <td>
+ * Implements a total order on OFerror_code objects. Will return OFTrue if the category of <i>a</i>
+ * compares less than to the category of <i>b</i>. Will return OFFalse if the category of <i>b</i>
+ * compares less than to the category of <i>a</i>. If both objects refer to the same category, they
+ * will be ordered using the actual error code integer.
+ * </td>
+ * </tr>
+ * </Table>
+ */
+class DCMTK_OFSTD_EXPORT OFerror_code
+{
+public:
+
+ /** Default constructor.
+ * Initializes an error code with value 0 (success)
+ * and category OFsystem_category().
+ */
+ OFerror_code();
+
+ /** Constructs an error code from the given arguments.
+ * @param code the actual error code.
+ * @param category a reference to the OFerror_category that shall be used.
+ */
+ OFerror_code( int code, const OFerror_category& category );
+
+ /** Replaces the contents with the given error code and category.
+ * @param code the actual error code.
+ * @param category a reference to the OFerror_category that shall be used.
+ */
+ void assign( int code, const OFerror_category& category );
+
+ /** Sets the error code to value 0 (success) and the category
+ * to OFsystem_category().
+ */
+ void clear();
+
+ /** Obtains the actual error code.
+ * @return the error code as an integer.
+ */
+ int value() const;
+
+ /** Obtains the category linked to this error code.
+ * @return a reference to the linked error category.
+ */
+ const OFerror_category& category() const;
+
+ /** Constructs an explanatory string for this error code using the
+ * linked error category.
+ * @return the error message as an OFString.
+ */
+ OFString message() const;
+
+ // declare overloaded operators, see above table for documentation
+#ifndef DOXYGEN
+#ifdef HAVE_CXX11
+ explicit
+#endif
+ operator OFBool() const;
+ OFBool operator!=( const OFerror_code& rhs ) const;
+ OFBool operator==( const OFerror_code& rhs ) const;
+ OFBool operator<( const OFerror_code& rhs ) const;
+#endif // NOT DOXYGEN
+
+private:
+
+ /// holds the error value.
+ int m_Code;
+
+ /// holds the error category
+ const OFerror_category* m_Category;
+};
+
+/** Retrieves a reference to an OFerror_category object used for operating system
+ * specific error codes.
+ * The object is required to override the virtual function OFerror_category::name()
+ * to return a pointer to the string "system".
+ * @return a reference to the system error category.
+ */
+DCMTK_OFSTD_EXPORT const OFerror_category& OFsystem_category();
+
+/** Retrieves a reference to an OFerror_category object used for generic error codes.
+ * The object is required to override the virtual function OFerror_category::name()
+ * to return a pointer to the string "generic".
+ * @return a reference to the generic error category.
+ */
+DCMTK_OFSTD_EXPORT const OFerror_category& OFgeneric_category();
+
+#endif // NOT HAVE_STL_SYSTEM_ERROR && HAVE_STL_STRING
+
+#endif // OFERROR_H
/*
*
- * Copyright (C) 2006-2016, OFFIS e.V.
+ * Copyright (C) 2006-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#endif
END_EXTERN_C
+#ifdef HAVE_UNIX_H
+#include <unix.h> /* needed for setlinebuf() on QNX */
+#endif
+
/* HP-UX has clearerr both as macro and as a function definition. We have to
* undef the macro so that we can define a function called "clearerr".
*/
* Yes, this is ugly.
*/
-/* Find out whether current operating system needs explicit function calls
- * to handle large file support
+/* Find out whether to use explicit LFS function calls to handle
+ * large file support
*/
-#ifdef _LARGEFILE64_SOURCE
- // Mac OS X defines _LARGEFILE64_SOURCE but anyhow expects implicit 64 bit calls.
- // The same is true for current Cygwin versions (tested with version 1.7.7-1).
- #if !(defined(__MACH__) && defined(__APPLE__)) && !defined(__CYGWIN__)
- #define EXPLICIT_LFS_64
- #endif
-#endif
-
-// Explicit LFS (LFS64) and Windows need 64 bit types
-#if defined(EXPLICIT_LFS_64) || defined(_WIN32)
+#if defined(DCMTK_ENABLE_LFS) && DCMTK_ENABLE_LFS == DCMTK_LFS64
+#define EXPLICIT_LFS_64
// Use POSIX 64 bit file position type when available
#ifdef HAVE_FPOS64_T
#else // Implicit LFS or no LFS
-#ifdef HAVE_FSEEKO
+#if defined(DCMTK_ENABLE_LFS) && DCMTK_ENABLE_LFS == DCMTK_LFS
+#if defined(SIZEOF_FPOS_T) && (!defined(SIZEOF_OFF_T) || SIZEOF_FPOS_T > SIZEOF_OFF_T)
+// strange Windows LFS where sizeof(fpos_t) == 8 but sizeof(off_t) == 4
+#ifndef OF_NO_SINT64 // Use a 64 bit integer
+typedef Sint64 offile_off_t;
+#else // Cry when LFS is required but no 64 bit integer exists
+#error \
+ Could not find a suitable offset-type for LFS support.
+#endif
+#else
+typedef off_t offile_off_t;
+#endif
+#elif defined(HAVE_FSEEKO)
typedef off_t offile_off_t;
#else
typedef long offile_off_t;
int fgetpos(offile_fpos_t *pos)
{
int result;
-#if defined(EXPLICIT_LFS_64) && ! defined(__MINGW32__)
- // MinGW has EXPLICIT_LFS_64 but no fgetpos64()
+#if defined(EXPLICIT_LFS_64) && ! defined(__MINGW32__) && ! defined(__QNX__)
+ // MinGW and QNX have EXPLICIT_LFS_64 but no fgetpos64()
result = :: fgetpos64(file_, pos);
#else
result = STDIO_NAMESPACE fgetpos(file_, pos);
int fsetpos(offile_fpos_t *pos)
{
int result;
-#if defined(EXPLICIT_LFS_64) && ! defined(__MINGW32__)
- // MinGW has EXPLICIT_LFS_64 but no fsetpos64()
+#if defined(EXPLICIT_LFS_64) && ! defined(__MINGW32__) && ! defined(__QNX__)
+ // MinGW and QNX have EXPLICIT_LFS_64 but no fsetpos64()
result = :: fsetpos64(file_, pos);
#else
result = STDIO_NAMESPACE fsetpos(file_, pos);
/*
*
- * Copyright (C) 2014, OFFIS e.V.
+ * Copyright (C) 2014-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* @brief Provides an interface to query properties of all fundamental numeric types.
*/
-// use native classes if C++11 is supported
-#if __cplusplus >= 201103L
+// use native classes if available
+#ifdef HAVE_STL_LIMITS
#include <limits>
-using OFfloat_round_style = std::float_round_style;
-enum
+enum OFfloat_round_style
{
OFround_indeterminate = std::round_indeterminate,
OFround_toward_zero = std::round_toward_zero,
OFround_toward_infinity = std::round_toward_infinity,
OFround_toward_neg_infinity = std::round_toward_neg_infinity
};
-using OFfloat_denorm_style = std::float_denorm_style;
-enum
+enum OFfloat_denorm_style
{
OFdenorm_indeterminate = std::denorm_indeterminate,
OFdenorm_absent = std::denorm_absent,
OFdenorm_present = std::denorm_present
};
+
+#ifdef HAVE_CXX11
+
template<typename T>
using OFnumeric_limits = std::numeric_limits<T>;
-#else // fallback implementations
+#else // fallback implementation of C++11 features
+
+template<typename T>
+struct OFnumeric_limits : std::numeric_limits<T>
+{
+ static const int max_digits10 = 0;
+ static inline T lowest() { return std::numeric_limits<T>::min(); }
+};
+template<>
+struct OFnumeric_limits<float> : std::numeric_limits<float>
+{
+ static const int max_digits10 = DCMTK_FLOAT_MAX_DIGITS10;
+ static inline float lowest() { return -std::numeric_limits<float>::max(); }
+};
+template<>
+struct OFnumeric_limits<double> : std::numeric_limits<double>
+{
+ static const int max_digits10 = DCMTK_DOUBLE_MAX_DIGITS10;
+ static inline double lowest() { return -std::numeric_limits<double>::max(); }
+};
+
+#endif // fallback implementation of C++11 features based on std::numeric_limits
+
+#else // fallback implementations entirely without using the native STL
#define INCLUDE_CLIMITS
#define INCLUDE_CFLOAT
#error Your C++ compiler cannot handle class templates:
#endif
-#if defined(HAVE_STL) || defined(HAVE_STL_LIST)
+#ifdef HAVE_STL_LIST
// It is possible to use the standard template library list class since the
// interface is nearly identical.
// Important: If you want to use the standard template library (STL), no
/*
*
- * Copyright (C) 2009-2015, OFFIS e.V.
+ * Copyright (C) 2009-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/ofutil.h" // for OFPair
-#if defined(HAVE_STL) || defined(HAVE_STL_MAP)
+#ifdef HAVE_STL_MAP
// it is possible to use the standard template library map class since the
// interface is nearly identical.
#include <map>
/*
*
- * Copyright (C) 2012-2014, OFFIS e.V.
+ * Copyright (C) 2012-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/ofutil.h"
// use native classes when c++11 is supported
-#ifdef DCMTK_USE_CXX11_STL
+#if defined(HAVE_STL_MEMORY) && defined(HAVE_CXX11)
#include <memory>
template<typename... ARGS>
#ifndef DOXYGEN
struct OFnullopt_t {};
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
// declare constexpr nullopt if supported.
constexpr OFnullopt_t OFnullopt{};
#else // C++11
struct is_default_constructible
: OFintegral_constant<OFBool,sizeof(sfinae<T>(OFnullptr)) == sizeof(yes_type)> {};
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
template<typename... Args>
void construct( Args&&... args )
void destroy() { OFstatic_cast( T*, content() )->~T(); m_State = OFFalse; }
OFBool state() const { return m_State; }
void* content() const { return m_Content; }
- mutable OFalign_typename(Uint8[sizeof(T)],T) m_Content;
+ OFalign_typename(Uint8[sizeof(T)],T) mutable m_Content;
OFBool m_State;
#else
// Allocate content on the heap.
// False friend of the copy constructor, to prevent incorrect behavior
// (internally calls the real copy constructor).
OFoptional( OFoptional& rhs )
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
// delegate constructor if possible
: OFoptional( const_cast<const OFoptional&>( rhs ) )
{
OFoptional_traits<T>::construct( *rhs );
}
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
// Move constructor, kills rhs if it was engaged before.
OFoptional( OFoptional&& rhs )
: OFoptional_traits<T>()
// State and content accessing functions, see respective expression for details
// declare cast operator as explicit, if possible
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
explicit
#endif // C++11
operator OFBool() const
}
// Move semantics if C++11 is supported
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
OFoptional( OFoptional&& rhs )
: m_pT( rhs.m_pT )
{
// State and content accessing functions, see respective expression for details
// declare cast operator as explicit, if possible
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
explicit
#endif // C++11
operator bool() const
};
// Move semantics and std::swap overload if C++11 is supported
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
template<typename T>
OFoptional<typename OFdecay<T>::type> OFmake_optional( T&& t )
{
/*
*
- * Copyright (C) 1997-2016, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/ofcast.h"
#include "dcmtk/ofstd/ofdefine.h"
-#if defined(HAVE_STL) || defined(HAVE_STL_STACK)
+#ifdef HAVE_STL_STACK
// It is possible to use the standard template library list class since the
// interface is nearly identical.
// Important: If you want to use the standard template library, no variable
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/oftraits.h" /* for OFenable_if, ... */
#include "dcmtk/ofstd/ofcond.h" /* for OFCondition */
#include "dcmtk/ofstd/oflimits.h" /* for OFnumeric_limits<T>::max() */
+#include "dcmtk/ofstd/oferror.h"
#define INCLUDE_CASSERT
#define INCLUDE_CSTDLIB
* is not affected by a locale setting, the radix character is always
* assumed to be '.'
* This implementation does not set errno if the input cannot be parsed
- * and it does not implement special handling for overflow/underflow
- * or NaN values. However, a return code indicates whether or not
+ * and it does not implement special handling for overflow/underflow.
+ * It does handle "NaN" and "Inf" (case insensitive; following
+ * characters are ignore). A return code indicates whether or not
* a successful conversion could be performed.
* The precision of this implementation is limited to approx. 9
* decimal digits.
#else
template<size_t Count>
static OFTypename OFenable_if<!Count,OFBool>::type
- checkDigits(const char* string)
+ checkDigits(const char* /*string*/)
{
return OFTrue;
}
*/
static OFString getHostName();
+ /** Initialize the network API (if necessary), e.g.\ Winsock.
+ * Calls the appropriate network initialization routines for the current
+ * platform, e.g.\ WSAStartup().
+ * @note This function must be called by an application before any
+ * network related functions are used, be it listening on a socket or
+ * just retrieving the current host name. Not all platforms require
+ * calling a network initialization routine, therefore testing if it
+ * works to determine if this method must be called is not an option
+ * -- just always ensure to call it at program startup if the
+ * application does something network related!
+ */
+ static void initializeNetwork();
+
+ /** Shutdown the network API (if necessary), e.g.\ Winsock.
+ * Calls the appropriate network shutdown routines to free used resources
+ * (e.g.\ WSACleanup()).
+ */
+ static void shutdownNetwork();
+
+ /** Retrieve the last operating system error code that was emitted in the
+ * calling thread.
+ * The current implementation uses errno on POSIX-like platforms and
+ * GetLastError() on Windows.
+ * @return the last error code as OFerror_code object.
+ */
+ static OFerror_code getLastSystemErrorCode();
+
+ /** Retrieve the last network specific error code that was emitted in the
+ * calling thread.
+ * The current implementation uses errno on POSIX-like platforms and
+ * WSAGetLastError() on Windows.
+ * @return the last error code as OFerror_code object.
+ */
+ static OFerror_code getLastNetworkErrorCode();
+
private:
/** private implementation of strlcpy. Called when strlcpy
/*
*
- * Copyright (C) 2002-2012, OFFIS e.V.
+ * Copyright (C) 2002-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define OFStringStream_ends ""
-#ifdef HAVE_STD_STRING
+#ifdef HAVE_STL_STRING
#define OFSTRINGSTREAM_GETOFSTRING(oss, strng) \
OFString strng((oss).str());
#else
/*
*
- * Copyright (C) 1997-2012, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define OFSTRING_GUARD(c_string) ((c_string != NULL) ? (c_string) : "")
-#ifdef HAVE_STD_STRING
+#ifdef HAVE_STL_STRING
/*
** Use the ANSI Standard string class
*/
#define OFString std::string
#define OFString_npos std::string::npos
-#else /* not HAVE_STD_STRING */
+#else /* not HAVE_STL_STRING */
/*
** Declare our own string class
*/
DCMTK_OFSTD_EXPORT OFBool operator>= (const OFString& lhs, char rhs);
-#endif /* HAVE_STD_STRING */
+#endif /* HAVE_STL_STRING */
#endif /* OFSTRING_H */
/*
*
- * Copyright (C) 2014, OFFIS e.V.
+ * Copyright (C) 2014-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/oftypes.h"
// use native classes if C++11 is supported
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_TYPE_TRAITS
#include <type_traits>
template<bool B,typename... ARGS>
/*
*
- * Copyright (C) 2014-2015, OFFIS e.V.
+ * Copyright (C) 2014-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/ofutil.h"
#include "dcmtk/ofstd/ofdefine.h"
-// use native classes if C++11 is supported
-#ifdef DCMTK_USE_CXX11_STL
+// use native tuple if available
+#ifdef HAVE_STL_TUPLE
#include <tuple>
-#define OFignore std::ignore
-#define OFmake_tuple std::make_tuple
-#define OFtie std::tie
+#define OFignore STD_NAMESPACE ignore
+#define OFmake_tuple STD_NAMESPACE make_tuple
+#define OFtie STD_NAMESPACE tie
+#ifdef HAVE_CXX11
template<typename... Args>
using OFtuple = std::tuple<Args...>;
+#else // HAVE_CXX11
+#include "dcmtk/ofstd/variadic/helpers.h"
+#define OFtuple STD_NAMESPACE tuple
+template<OFVARIADIC_DECLARE_TEMPLATE_PARAMETER_PACK(T)>
+void OFswap(OFtuple<OFVARIADIC_TEMPLATE_PARAMETER_PACK(T)>& lhs,
+ OFtuple<OFVARIADIC_TEMPLATE_PARAMETER_PACK(T)>& rhs)
+{
+ lhs.swap(rhs);
+}
+#endif // HAVE_CXX11
#elif !defined(DOXYGEN) // fallback implementations
/*
*
- * Copyright (C) 1997-2014, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
// use native types if C++11 is supported
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
#include <cstdint>
#include <cstddef>
#include <ostream>
#define OF_NO_SINT64 1
#endif
-#ifdef HAVE_INT64_T
+#ifdef HAVE_UINT64_T
/* many platforms define uint64_t in <cstdint> */
typedef uint64_t Uint64;
#elif SIZEOF_LONG == 8
/*
*
- * Copyright (C) 2014, OFFIS e.V.
+ * Copyright (C) 2014-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* for older compilers.
*/
-#ifdef DCMTK_USE_CXX11_STL
+// -------------------- misc C++11 / non C++11 utils --------------------
+
+#ifdef HAVE_CXX11
+
#include <utility>
#include <tuple>
#define OFmove std::move
#define OFswap std::swap
-#define OFMake_pair std::make_pair
-
-template<std::size_t Index,typename T>
-constexpr auto OFget( T&& t ) -> decltype( std::get<Index>( std::forward<T>( t ) ) )
-{
- return std::get<Index>( std::forward<T>( t ) );
-}
-
-template<typename X,typename T>
-constexpr auto OFget( T&& t ) -> decltype( std::get<X>( std::forward<T>( t ) ) )
-{
- return std::get<X>( std::forward<T>( t ) );
-}
-
-template<typename K,typename V>
-using OFPair = std::pair<K,V>;
-
-template<typename Tuple>
-using OFtuple_size = std::tuple_size<Tuple>;
-
-template<std::size_t Index,typename Tuple>
-using OFtuple_element = std::tuple_element<Index,Tuple>;
// OFrvalue simply equals 'identity', as C++11 natively handles
// rvalues / prvalues and so on.
sizeof(sfinae<T>(OFnullptr)) == sizeof(yes_type)
>::type type;
};
+
#endif // NOT DOXYGEN
/** A helper class to 'tag' objects as <i>rvalues</i> to help
inline OFrvalue(const T& t) : OFrvalue_base<T>::type( *OFreinterpret_cast( const OFrvalue*, &t ) ) {}
// copy-construct from an rvalue reference
inline OFrvalue(const OFrvalue& rv) : OFrvalue_base<T>::type( rv ) {}
+ // poor man's in-place construction
+ template<typename X>
+ inline explicit OFrvalue( X x ) : OFrvalue_base<T>::type( x ) {}
+ template<typename X0,typename X1>
+ inline explicit OFrvalue( X0 x0, X1 x1 ) : OFrvalue_base<T>::type( x0, x1 ) {}
+ template<typename X0,typename X1,typename X2>
+ inline explicit OFrvalue( X0 x0, X1 x1, X2 x2 ) : OFrvalue_base<T>::type( x0, x1, x2 ) {}
#endif // NOT DOXYGEN
};
*/
#define OFrvalue_ref(T) unspecified
#else // NOT DOXYGEN
-#define OFrvalue_ref(T) const OFrvalue<T>&
+#define OFrvalue_ref(T) const OFrvalue<T >&
#endif
/** Obtain an lvalue reference from an rvalue reference.
;
#endif // DOXYGEN
-#if defined(HAVE_STL) || defined(HAVE_STL_MAP)
+#endif // NOT C++11
+
+// -------------------- STL pair --------------------
+
+#ifdef HAVE_STL_MAP
+
// Use native pair class, to be compatible to std::map
#define OFPair std::pair
#define OFMake_pair std::make_pair
+
#else // fallback implementation of std::pair
+
/** a pair - this implements parts of std::pair's interface.
*/
template<typename K, typename V> class OFPair
{
return OFPair<K, V>(first, second);
}
-#endif // fallback implementation of OFPair
-/** A metafunction to determine the size of a tuple.
- * @tparam Tuple a tuple type, e.g. an instance of OFtuple.
- * @pre Tuple is a tuple type, see @ref tuple_types "Tuple Types"
- * for definition.
- * @return OFtuple_size is derived from an appropriate instance of
- * OFintegral_constant if the preconditions are met. This means
- * OFtuple_size declares a static member constant <i>value</i>
- * set to the tuple's size.
- * @relates OFPair
- * @relates OFtuple
- * @details
- * <h3>Usage Example:</h3>
- * @code{.cpp}
- * typedef OFtuple<OFString,size_t,OFVector<int> > MyTuple;
- * typedef OFPair<OFString,MyTuple> MyPair;
- * COUT << "OFtuple_size<MyTuple>::value: " << OFtuple_size<MyTuple>::value << OFendl;
- * COUT << "OFtuple_size<MyPair>::value: " << OFtuple_size<MyPair>::value << OFendl;
- * @endcode
- * <b>Output:</b>
- * @verbatim
- OFtuple_size<MyTuple>::value: 3
- OFtuple_size<MyPair>::value: 2
- @endverbatim
- *
- */
+#endif // HAVE_STL_MAP - fallback implementation of OFPair
+
+// -------------------- STL tuple --------------------
+
+#ifdef HAVE_STL_TUPLE
+
+#ifdef HAVE_CXX11
+
+template<std::size_t Index,typename T>
+constexpr auto OFget( T&& t ) -> decltype( std::get<Index>( std::forward<T>( t ) ) )
+{
+ return std::get<Index>( std::forward<T>( t ) );
+}
+
+template<typename X,typename T>
+constexpr auto OFget( T&& t ) -> decltype( std::get<X>( std::forward<T>( t ) ) )
+{
+ return std::get<X>( std::forward<T>( t ) );
+}
+
template<typename Tuple>
-#ifndef DOXYGEN
-struct OFtuple_size;
-#else // NOT DOXYGEN
-<metafunction> OFtuple_size;
-#endif // DOXYGEN
+using OFtuple_size = std::tuple_size<Tuple>;
+
+template<std::size_t Index,typename Tuple>
+using OFtuple_element = std::tuple_element<Index,Tuple>;
+
+#else // HAVE_CXX11
+
+template<typename Tuple>
+struct OFtuple_size : STD_NAMESPACE tuple_size<Tuple> {};
-/** A metafunction to determine the type of one element of a tuple.
- * @tparam Index the index of the element its type should be determined.
- * @tparam Tuple a tuple type, e.g. an instance of OFtuple.
- * @pre Tuple is a tuple type, see @ref tuple_types "Tuple Types"
- * for definition.
- * @pre Index is a valid index , essentially: <kbd>Index < OFtuple_size<Tuple>::value</kbd>.
- * @return if the preconditions are met, OFtuple_element declares a member
- * type alias <i>type</i> that yields the type of the element at the given index.
- * @relates OFtuple
- * @details
- * <h3>Usage Example:</h3>
- * @code{.cpp}
- * typedef OFPair<OFString,size_t> MyPair;
- * typedef OFtuple<OFtuple_element<0,MyPair>::type,OFtuple_element<1,MyPair>::type> MyTuple;
- * MyPair pair( "Hello World", 42 );
- * MyTuple tuple( pair ); // Works, since both elements' types are the same as within MyPair.
- * @endcode
- *
- */
template<size_t Index,typename Tuple>
-#ifndef DOXYGEN
+struct OFtuple_element : STD_NAMESPACE tuple_element<Index,Tuple> {};
+
+template<size_t Index,typename T>
+OFTypename OFtuple_element<Index,T>::type OFget( T& t ) { return STD_NAMESPACE get<Index>( t ); }
+
+template<size_t Index,typename T>
+OFTypename OFtuple_element<Index,T>::type OFget( const T& t ) { return STD_NAMESPACE get<Index>( t ); }
+
+#endif // NOT HAVE_CXX11
+
+#else // HAVE_STL_TUPLE
+
+template<typename Tuple>
+struct OFtuple_size;
+template<size_t Index,typename Tuple>
struct OFtuple_element;
-#else // NOT DOXYGEN
-<metafunction> OFtuple_element;
-#endif // DOXYGEN
-#ifndef DOXYGEN
// specialization of OFtuple_size for OFPair -> 2
template<typename K,typename V>
struct OFtuple_size<OFPair<K,V> >
// include generated forward declaration for OFtuple.
#include "dcmtk/ofstd/variadic/tuplefwd.h"
-#else // DOXYGEN
+
+#endif // HAVE_STL_TUPLE
+
+#ifdef DOXYGEN // doxygen documentation of OFtuple utils
+
+/** A metafunction to determine the size of a tuple.
+ * @tparam Tuple a tuple type, e.g. an instance of OFtuple.
+ * @pre Tuple is a tuple type, see @ref tuple_types "Tuple Types"
+ * for definition.
+ * @return OFtuple_size is derived from an appropriate instance of
+ * OFintegral_constant if the preconditions are met. This means
+ * OFtuple_size declares a static member constant <i>value</i>
+ * set to the tuple's size.
+ * @relates OFPair
+ * @relates OFtuple
+ * @details
+ * <h3>Usage Example:</h3>
+ * @code{.cpp}
+ * typedef OFtuple<OFString,size_t,OFVector<int> > MyTuple;
+ * typedef OFPair<OFString,MyTuple> MyPair;
+ * COUT << "OFtuple_size<MyTuple>::value: " << OFtuple_size<MyTuple>::value << OFendl;
+ * COUT << "OFtuple_size<MyPair>::value: " << OFtuple_size<MyPair>::value << OFendl;
+ * @endcode
+ * <b>Output:</b>
+ * @verbatim
+ OFtuple_size<MyTuple>::value: 3
+ OFtuple_size<MyPair>::value: 2
+ @endverbatim
+ *
+ */
+template<typename Tuple>
+<metafunction> OFtuple_size;
+
+/** A metafunction to determine the type of one element of a tuple.
+ * @tparam Index the index of the element its type should be determined.
+ * @tparam Tuple a tuple type, e.g. an instance of OFtuple.
+ * @pre Tuple is a tuple type, see @ref tuple_types "Tuple Types"
+ * for definition.
+ * @pre Index is a valid index , essentially: <kbd>Index < OFtuple_size<Tuple>::value</kbd>.
+ * @return if the preconditions are met, OFtuple_element declares a member
+ * type alias <i>type</i> that yields the type of the element at the given index.
+ * @relates OFtuple
+ * @details
+ * <h3>Usage Example:</h3>
+ * @code{.cpp}
+ * typedef OFPair<OFString,size_t> MyPair;
+ * typedef OFtuple<OFtuple_element<0,MyPair>::type,OFtuple_element<1,MyPair>::type> MyTuple;
+ * MyPair pair( "Hello World", 42 );
+ * MyTuple tuple( pair ); // Works, since both elements' types are the same as within MyPair.
+ * @endcode
+ *
+ */
+template<size_t Index,typename Tuple>
+<metafunction> OFtuple_element;
+
/** A function template to access an element of a tuple.
* @tparam Index the index of the element that should be accessed.
* @tparam Tuple a tuple type, e.g. an instance of OFtuple. This parameter
const typename OFtuple_element<Index,Tuple>::type& OFget( const Tuple& tuple );
#endif // DOXYGEN
-#endif // NOT C++11
+// -------------------- misc utils (OFinplace etc.) --------------------
#ifndef DOXYGEN
/*
*
- * Copyright (C) 2010, OFFIS e.V.
+ * Copyright (C) 2010-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#error Your C++ compiler cannot handle class templates:
#endif
-#if defined(HAVE_STL) || defined(HAVE_STL_VECTOR)
+#ifdef HAVE_STL_VECTOR
// Use the standard template library (STL) vector class.
#include <vector>
/** default constructor. This creates an empty OFVector. */
OFVector() : values_(NULL), allocated_(0), size_(0)
{
- reserve(0);
+
}
/** copy constructor.
/*
*
- * Copyright (C) 2016, OFFIS e.V.
+ * Copyright (C) 2016-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* @see @ref ofvisit_variant "OFvisit" – @copybrief ofvisit_variant
*/
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
#include <type_traits>
#include <cassert>
#include <limits>
{
return OFget_tuple_element<typename OFtuple_element<N,OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48,T49> >::type,N>::from( t );
}
+#ifdef HAVE_CXX11
+namespace std
+{
+ template<typename... Ts>
+ void swap( OFtuple<Ts...>& lhs, OFtuple<Ts...>& rhs )
+ {
+ lhs.swap( rhs );
+ }
+}
+#else
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9,typename T10,typename T11,typename T12,typename T13,typename T14,typename T15,typename T16,typename T17,typename T18,typename T19,typename T20,typename T21,typename T22,typename T23,typename T24,typename T25,typename T26,typename T27,typename T28,typename T29,typename T30,typename T31,typename T32,typename T33,typename T34,typename T35,typename T36,typename T37,typename T38,typename T39,typename T40,typename T41,typename T42,typename T43,typename T44,typename T45,typename T46,typename T47,typename T48,typename T49>
void OFswap( OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48,T49>& lhs,
OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48,T49>& rhs )
{
lhs.swap( rhs );
}
+#endif
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9,typename T10,typename T11,typename T12,typename T13,typename T14,typename T15,typename T16,typename T17,typename T18,typename T19,typename T20,typename T21,typename T22,typename T23,typename T24,typename T25,typename T26,typename T27,typename T28,typename T29,typename T30,typename T31,typename T32,typename T33,typename T34,typename T35,typename T36,typename T37,typename T38,typename T39,typename T40,typename T41,typename T42,typename T43,typename T44,typename T45,typename T46,typename T47,typename T48,typename T49,typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47,typename U48,typename U49>
OFBool operator==( const OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48,T49>& lhs,
const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49>& rhs )
# create library from source files
-DCMTK_ADD_LIBRARY(ofstd ofchrenc ofcmdln ofconapp ofcond ofconfig ofconsol ofcrc32 ofdate ofdatime offile offname oflist ofstd ofstring ofthread oftime oftimer oftempf ofxml ofuuid ofmath)
+DCMTK_ADD_LIBRARY(ofstd ofchrenc ofcmdln ofconapp ofcond ofconfig ofconsol ofcrc32 ofdate ofdatime oferror offile offname oflist ofstd ofstring ofthread oftime oftimer oftempf ofxml ofuuid ofmath)
-DCMTK_TARGET_LINK_LIBRARIES(ofstd ${CHARSET_CONVERSION_LIBS} ${THREAD_LIBS} ${WIN32_STD_LIBRARIES})
+DCMTK_TARGET_LINK_LIBRARIES(ofstd ${CHARSET_CONVERSION_LIBS} ${SOCKET_LIBS} ${THREAD_LIBS} ${WIN32_STD_LIBRARIES})
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/ofdiag.h ../include/dcmtk/ofstd/ofconsol.h \
- ../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/diag/push.def \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofdiag.h \
+ ../include/dcmtk/ofstd/ofconsol.h ../include/dcmtk/ofstd/ofthread.h \
+ ../include/dcmtk/ofstd/diag/push.def \
../include/dcmtk/ofstd/diag/shadow.def \
../include/dcmtk/ofstd/diag/pop.def
ofcmdln.o: ofcmdln.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/ofchrenc.h ../include/dcmtk/ofstd/ofmem.h \
- ../include/dcmtk/ofstd/ofutil.h \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofchrenc.h \
+ ../include/dcmtk/ofstd/ofmem.h ../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h
ofconapp.o: ofconapp.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofconapp.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/ofchrenc.h ../include/dcmtk/ofstd/ofmem.h \
- ../include/dcmtk/ofstd/ofutil.h \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofchrenc.h \
+ ../include/dcmtk/ofstd/ofmem.h ../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h
ofcond.o: ofcond.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofexport.h ../include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/ofstd/ofdate.h ../include/dcmtk/ofstd/oftime.h
+oferror.o: oferror.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/ofstd.h \
+ ../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/oftypes.h \
+ ../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
+ ../include/dcmtk/ofstd/ofexport.h ../include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftraits.h \
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofdiag.h \
+ ../include/dcmtk/ofstd/diag/push.def \
+ ../include/dcmtk/ofstd/diag/vsprfw.def \
+ ../include/dcmtk/ofstd/diag/pop.def
offile.o: offile.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/offile.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
offname.o: offname.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/offname.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
oflist.o: oflist.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/offile.h ../include/dcmtk/ofstd/oftuple.h \
- ../include/dcmtk/ofstd/ofutil.h \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/offile.h \
+ ../include/dcmtk/ofstd/oftuple.h ../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/ofstd/ofdiag.h ../include/dcmtk/ofstd/diag/push.def \
../include/dcmtk/ofstd/diag/mmtag.def \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/offname.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
ofthread.o: ofthread.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/ofstd.h \
../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/ofconsol.h
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofthread.h \
+ ../include/dcmtk/ofstd/ofconsol.h
oftime.o: oftime.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/oftime.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
oftimer.o: oftimer.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftimer.h ../include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/ofstd.h \
../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
ofxml.o: ofxml.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofxml.h ../include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
objs = oflist.o ofstring.o ofcmdln.o ofconapp.o offname.o ofconsol.o ofthread.o \
ofcond.o ofstd.o ofcrc32.o ofdate.o oftime.o ofdatime.o oftimer.o \
- ofconfig.o ofchrenc.o oftempf.o ofxml.o ofuuid.o offile.o ofmath.o
+ ofconfig.o ofchrenc.o oftempf.o ofxml.o ofuuid.o offile.o ofmath.o \
+ oferror.o
library = libofstd.$(LIBEXT)
// the iconvctl function is implemented only in GNU libiconv and not in other
// iconv implementations. The iconv implementation in the C standard library
// therefore does not support different encoding flags.
+#ifdef __FreeBSD__
+ // FreeBSD has a custom mode where illegal sequences are replaced by '?', so
+ // none of the normal modes are supported.
+ return OFFalse;
+#else
+ // All other implementations seem to return an error when encountering
+ // illegal sequences by default, so 'abort' is the only supported mode.
return flags == AbortTranscodingOnIllegalSequence;
+#endif
#endif
}
if (result)
return result;
#endif
+#ifdef __FreeBSD__
+ // FreeBSD has a custom mode where illegal sequences are replaced by '?',
+ // which is none of the normal modes and can only be described as
+ // 'unknown' = 0
+ return 0;
+#else
return AbortTranscodingOnIllegalSequence;
+#endif
}
OFBool setConversionFlags(const unsigned flags)
// the iconvctl function is implemented only in GNU libiconv and not in other
// iconv implementations. The iconv implementation in the C standard library
// therefore does not support different encoding flags.
+#ifdef __FreeBSD__
+ // FreeBSD has a custom mode where illegal sequences are replaced by '?', so
+ // none of the normal modes are supported.
+ return OFFalse;
+#else
return flags == AbortTranscodingOnIllegalSequence;
+#endif
#endif
}
--- /dev/null
+/*
+ *
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: ofstd
+ *
+ * Author: Nikolas Goldhammer
+ *
+ * Purpose:
+ * Implementing platform abstracting error code handling.
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+// Only provide the implementation if the STL one is not used
+#if !defined(HAVE_STL_SYSTEM_ERROR) || !defined(HAVE_STL_STRING)
+
+#define INCLUDE_CERRNO
+#include "dcmtk/ofstd/ofstdinc.h"
+#include "dcmtk/ofstd/ofstd.h"
+#include "dcmtk/ofstd/oferror.h"
+#include "dcmtk/ofstd/ofdiag.h"
+
+#ifdef HAVE_WINDOWS_H
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#endif
+
+// all error categories are derived from the base error category.
+struct OFgeneric_error_category : OFerror_category
+{
+ static const char* unknownError()
+ {
+ return "Unknown error.";
+ }
+
+ // default constructor, since older versions of clang insist
+ inline OFgeneric_error_category() {}
+
+ const char* name() const
+ {
+ return "generic";
+ }
+
+ OFString message( int code ) const
+ {
+ char buffer[256];
+ const char* const result = OFStandard::strerror( code, buffer, 256 );
+ return OFString( result ? result : unknownError() );
+ }
+};
+
+struct OFsystem_error_category : OFgeneric_error_category
+{
+ // default constructor, since older versions of clang insist
+ inline OFsystem_error_category() {}
+
+ const char* name() const
+ {
+ return "system";
+ }
+
+ // only Windows has custom error codes, all others can simply use strerror from the generic category
+#ifdef _WIN32
+ OFString message( int code ) const
+ {
+ struct RAIICleaner
+ {
+ RAIICleaner() : buffer( OFnullptr ) {}
+ ~RAIICleaner() { LocalFree( buffer ); }
+ LPSTR buffer;
+ };
+ OFString message;
+ {
+ RAIICleaner cleanup;
+ if
+ (
+ FormatMessageA
+ (
+ FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS,
+ OFnullptr,
+ code,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ OFreinterpret_cast(LPSTR, &cleanup.buffer),
+ 0,
+ OFnullptr
+ ) > 0
+ )
+ {
+ message = cleanup.buffer;
+ // remove trailing "\r\n" FormatMessage() may potentially add although we never asked for this
+ if( message.length() >= 2 && message.substr( message.length() - 2 ) == "\r\n" )
+ message = message.substr( 0, message.length() - 2 );
+ }
+ }
+ if( message.empty() )
+ message = unknownError();
+ return message;
+ }
+#endif
+};
+
+OFerror_code::OFerror_code()
+: m_Code( 0 )
+, m_Category( &OFsystem_category() )
+{
+
+}
+
+OFerror_code::OFerror_code( int code, const OFerror_category& category )
+: m_Code( code )
+, m_Category( &category )
+{
+
+}
+
+void OFerror_code::assign( int code, const OFerror_category& category )
+{
+ m_Code = code;
+ m_Category = &category;
+}
+
+void OFerror_code::clear()
+{
+ m_Code = 0;
+ m_Category = &OFsystem_category();
+}
+
+int OFerror_code::value() const
+{
+ return m_Code;
+}
+
+const OFerror_category& OFerror_code::category() const
+{
+ return *m_Category;
+}
+
+OFString OFerror_code::message() const
+{
+ return m_Category->message( value() );
+}
+
+OFBool OFerror_code::operator!=( const OFerror_code& rhs ) const
+{
+ return m_Code != rhs.m_Code || m_Category != rhs.m_Category;
+}
+
+OFBool OFerror_code::operator==( const OFerror_code& rhs ) const
+{
+ return m_Code == rhs.m_Code && m_Category == rhs.m_Category;
+}
+
+OFBool OFerror_code::operator<( const OFerror_code& rhs ) const
+{
+ return m_Category < rhs.m_Category || ( m_Category == rhs.m_Category && m_Code < rhs.m_Code );
+}
+
+OFerror_code::operator OFBool() const
+{
+#include DCMTK_DIAGNOSTIC_PUSH
+#include DCMTK_DIAGNOSTIC_IGNORE_VISUAL_STUDIO_PERFORMANCE_WARNING
+ return m_Code;
+#include DCMTK_DIAGNOSTIC_POP
+}
+
+DCMTK_OFSTD_EXPORT const OFerror_category& OFsystem_category()
+{
+ static const OFsystem_error_category system_category_const;
+ return system_category_const;
+}
+
+DCMTK_OFSTD_EXPORT const OFerror_category& OFgeneric_category()
+{
+ static const OFgeneric_error_category generic_category_const;
+ return generic_category_const;
+}
+
+// helper class to ensure both categories are initialized before main(),
+// such that there will not be any race conditions in the singletons
+struct InitErrorCategories
+{
+ static InitErrorCategories Init;
+
+ InitErrorCategories()
+ {
+ OFstatic_cast(void, OFsystem_category());
+ OFstatic_cast(void, OFgeneric_category());
+ }
+};
+
+InitErrorCategories InitErrorCategories::Init;
+
+#endif // !HAVE_STL_SYSTEM_ERROR OR !HAVE_STL_STRING
#ifdef HAVE_SYS_UTSNAME_H
#include <sys/utsname.h>
#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
END_EXTERN_C
#ifdef HAVE_WINDOWS_H
+#include <winsock2.h>
+#define WIN32_LEAN_AND_MEAN
#include <windows.h> /* for GetFileAttributes() */
#include <direct.h> /* for _mkdir() */
#include <lm.h> /* for NetWkstaUserGetInfo */
#define F_OK 00 /* Existence only */
#endif /* !R_OK */
+#elif defined(HAVE_WINSOCK_H)
+
+#include <winsock.h> /* include winsock.h directly i.e. on MacOS */
+#ifdef macintosh
+/*
+** The WinSock header on Macintosh does not declare the WORD type nor the MAKEWORD
+** macro need to initialize the WinSock library.
+*/
+typedef u_short WORD;
+#define MAKEWORD(a,b) ((WORD) (((a)&0xff)<<8) | ((b)&0xff) )
+#endif /* macintosh */
+
#endif /* HAVE_WINDOWS_H */
#ifdef _WIN32
if (*p == '+') ++p;
}
+ //Check for special cases like NaN
+ if ((p[0] == 'n' || p[0] == 'N') && (p[1] == 'a' || p[1] == 'A') && (p[2] == 'n' || p[2] == 'N')) {
+ if (success) *success = OFTrue;
+ return OFnumeric_limits<double>::quiet_NaN();
+ }
+
+ if ((p[0] == 'i' || p[0] == 'I') && (p[1] == 'n' || p[1] == 'N') && (p[2] == 'f' || p[2] == 'F')) {
+ if (success) *success = OFTrue;
+ return sign ? -OFnumeric_limits<double>::infinity() : OFnumeric_limits<double>::infinity();
+ }
// Count the number of digits in the mantissa (including the decimal
// point), and also locate the decimal point.
#define MAX_NAME 65536
+#ifdef HAVE_GETHOSTBYNAME_R
+#ifndef HAVE_PROTOTYPE_GETHOSTBYNAME_R
+extern "C" {
+ int gethostbyname_r(const char *name, struct hostent *ret, char *buf, size_t buflen, struct hostent **result, int *h_errnop);
+}
+#endif
+#endif
+
OFStandard::OFHostent OFStandard::getHostByName( const char* name )
{
#ifdef HAVE_GETHOSTBYNAME_R
#endif
}
+#ifdef HAVE_GETHOSTBYADDR_R
+#ifndef HAVE_PROTOTYPE_GETHOSTBYADDR_R
+extern "C" {
+ int gethostbyaddr_r(const void *addr, socklen_t len, int type, struct hostent *ret, char *buf, size_t buflen, struct hostent **result, int *h_errnop);
+}
+#endif
+#endif
+
OFStandard::OFHostent OFStandard::getHostByAddr( const char* addr,
int len,
int type )
}
-#ifndef DCMTK_USE_CXX11_STL
+#ifndef HAVE_CXX11
DCMTK_OFSTD_EXPORT OFnullptr_t OFnullptr;
DCMTK_OFSTD_EXPORT OFnullopt_t OFnullopt;
+#endif
+
+
+#ifndef HAVE_STL_TUPLE
static const OFignore_t OFignore_value;
-DCMTK_OFSTD_EXPORT const OFignore_t& OFignore( OFignore_value );
+DCMTK_OFSTD_EXPORT const OFignore_t& OFignore = OFignore_value;
OFtuple<> OFmake_tuple() { return OFtuple<>(); }
OFtuple<> OFtie() { return OFtuple<>(); }
#endif
OFnullptr
);
return &*buf.begin();
-#elif defined(HAVE_CUSERID) && !defined(__CYGWIN__)
- char buf[L_cuserid];
- return cuserid( buf );
-#elif defined(HAVE_GETLOGIN)
-#if defined(_REENTRANT) && !defined(_WIN32) && !defined(__CYGWIN__)
+#elif defined(HAVE_GETLOGIN_R)
// use getlogin_r instead of getlogin
char buf[513];
if( getlogin_r( buf, 512 ) != 0 )
return "<no-utmp-entry>";
buf[512] = 0;
return buf;
-#else
+#elif defined(HAVE_GETLOGIN)
// thread unsafe
if( const char* s = getlogin() )
return s;
return "<no-utmp-entry>";
-#endif
+#elif defined(HAVE_CUSERID)
+ char buf[L_cuserid];
+ return cuserid( buf );
#else
return "<unknown-user>";
#endif
#endif
}
+void OFStandard::initializeNetwork()
+{
+#ifdef HAVE_WINSOCK_H
+ WSAData winSockData;
+ /* we need at least version 1.1 */
+ WORD winSockVersionNeeded = MAKEWORD( 1, 1 );
+ WSAStartup(winSockVersionNeeded, &winSockData);
+#endif
+}
+
+void OFStandard::shutdownNetwork()
+{
+#ifdef HAVE_WINSOCK_H
+ WSACleanup();
+#endif
+}
+
+OFerror_code OFStandard::getLastSystemErrorCode()
+{
+#ifdef _WIN32
+ return OFerror_code( GetLastError(), OFsystem_category() );
+#else
+ return OFerror_code( errno, OFsystem_category() );
+#endif
+}
+
+OFerror_code OFStandard::getLastNetworkErrorCode()
+{
+#ifdef HAVE_WINSOCK_H
+ return OFerror_code( WSAGetLastError(), OFsystem_category() );
+#else
+ return OFerror_code( errno, OFsystem_category() );
+#endif
+}
+
DCMTK_OFSTD_EXPORT OFin_place_tag OFin_place() { return *static_cast<OFin_place_tag*>(OFnullptr); }
/*
*
- * Copyright (C) 1997-2014, OFFIS e.V.
+ * Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* include OS specific configuration first */
-#ifndef HAVE_STD_STRING
+#ifndef HAVE_STL_STRING
#include "dcmtk/ofstd/ofstring.h"
#include "dcmtk/ofstd/ofcast.h"
return (!(lhs < rhs));
}
-#else /* HAVE_STD_STRING */
+#else /* HAVE_STL_STRING */
int ofstring_cc_dummy_to_keep_linker_from_moaning = 0;
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#ifdef HAVE_WINDOWS_H
#define WINDOWS_INTERFACE
+#define WIN32_LEAN_AND_MEAN
extern "C" {
#include <windows.h>
: theMutex(NULL)
{
#ifdef WINDOWS_INTERFACE
+#ifdef USE_WIN32_CREATE_MUTEX
theMutex = OFstatic_cast(void *, CreateMutex(NULL, FALSE, NULL));
+#else
+ CRITICAL_SECTION *critSec = new CRITICAL_SECTION;
+ InitializeCriticalSection(critSec);
+ theMutex = OFstatic_cast(void *, critSec);
+#endif
#elif defined(POSIX_INTERFACE)
pthread_mutex_t *mtx = new pthread_mutex_t;
if (mtx)
OFMutex::~OFMutex()
{
#ifdef WINDOWS_INTERFACE
+#ifdef USE_WIN32_CREATE_MUTEX
CloseHandle(OFthread_cast(HANDLE, theMutex));
+#else
+ CRITICAL_SECTION *critSec = OFthread_cast(CRITICAL_SECTION *, theMutex);
+ DeleteCriticalSection(critSec);
+ delete critSec;
+#endif
#elif defined(POSIX_INTERFACE)
if (theMutex) pthread_mutex_destroy(OFthread_cast(pthread_mutex_t *, theMutex));
delete OFthread_cast(pthread_mutex_t *, theMutex);
int OFMutex::lock()
{
#ifdef WINDOWS_INTERFACE
+#ifdef USE_WIN32_CREATE_MUTEX
if (WaitForSingleObject(OFthread_cast(HANDLE, theMutex), INFINITE) == WAIT_OBJECT_0) return 0;
else return OFstatic_cast(int, GetLastError());
+#else
+ EnterCriticalSection(OFthread_cast(CRITICAL_SECTION *, theMutex));
+ return 0;
+#endif
#elif defined(POSIX_INTERFACE)
if (theMutex) return pthread_mutex_lock(OFthread_cast(pthread_mutex_t *, theMutex)); else return EINVAL;
#elif defined(SOLARIS_INTERFACE)
int OFMutex::trylock()
{
#ifdef WINDOWS_INTERFACE
+#ifdef USE_WIN32_CREATE_MUTEX
DWORD result = WaitForSingleObject(OFthread_cast(HANDLE, theMutex), 0);
if (result == WAIT_OBJECT_0) return 0;
else if (result == WAIT_TIMEOUT) return OFMutex::busy;
else return OFstatic_cast(int, GetLastError());
+#else
+ if (TryEnterCriticalSection(OFthread_cast(CRITICAL_SECTION *, theMutex))) return 0;
+ else return OFMutex::busy;
+#endif
#elif defined(POSIX_INTERFACE)
if (theMutex) return pthread_mutex_trylock(OFthread_cast(pthread_mutex_t *, theMutex)); else return EINVAL; // may return EBUSY.
#elif defined(SOLARIS_INTERFACE)
int OFMutex::unlock()
{
#ifdef WINDOWS_INTERFACE
+#ifdef USE_WIN32_CREATE_MUTEX
if (ReleaseMutex(OFthread_cast(HANDLE, theMutex))) return 0; else return OFstatic_cast(int, GetLastError());
+#else
+ LeaveCriticalSection(OFthread_cast(CRITICAL_SECTION *, theMutex));
+ return 0;
+#endif
#elif defined(POSIX_INTERFACE)
if (theMutex) return pthread_mutex_unlock(OFthread_cast(pthread_mutex_t *, theMutex)); else return EINVAL;
#elif defined(SOLARIS_INTERFACE)
#endif
{
#ifdef WINDOWS_INTERFACE
- if (code == OFSemaphore::busy) description = "mutex is already locked"; else
+ if (code == OFMutex::busy) description = "mutex is already locked"; else
{
LPVOID buf;
FormatMessage(
/*
*
- * Copyright (C) 2002-2015, OFFIS e.V.
+ * Copyright (C) 2002-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
END_EXTERN_C
#ifdef HAVE_WINDOWS_H
+#define WIN32_LEAN_AND_MEAN
#include <windows.h> /* for Windows time functions */
#endif
OFBool OFTime::operator==(const OFTime &timeVal) const
{
+#ifndef __i386__
return (getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/) == timeVal.getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/));
+#else
+ volatile double lhs = getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/);
+ volatile double rhs = timeVal.getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/);
+ return lhs == rhs;
+#endif
}
OFBool OFTime::operator!=(const OFTime &timeVal) const
{
+#ifndef __i386__
return (getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/) != timeVal.getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/));
+#else
+ volatile double lhs = getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/);
+ volatile double rhs = timeVal.getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/);
+ return lhs != rhs;
+#endif
}
OFBool OFTime::operator<(const OFTime &timeVal) const
{
+#ifndef __i386__
return (getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/) < timeVal.getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/));
+#else
+ volatile double lhs = getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/);
+ volatile double rhs = timeVal.getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/);
+ return lhs < rhs;
+#endif
}
OFBool OFTime::operator<=(const OFTime &timeVal) const
{
+#ifndef __i386__
return (getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/) <= timeVal.getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/));
+#else
+ volatile double lhs = getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/);
+ volatile double rhs = timeVal.getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/);
+ return lhs <= rhs;
+#endif
}
OFBool OFTime::operator>=(const OFTime &timeVal) const
{
+#ifndef __i386__
return (getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/) >= timeVal.getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/));
+#else
+ volatile double lhs = getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/);
+ volatile double rhs = timeVal.getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/);
+ return lhs >= rhs;
+#endif
}
OFBool OFTime::operator>(const OFTime &timeVal) const
{
+#ifndef __i386__
return (getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/) > timeVal.getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/));
+#else
+ volatile double lhs = getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/);
+ volatile double rhs = timeVal.getTimeInSeconds(OFTrue /*useTimeZone*/, OFFalse /*normalize*/);
+ return lhs > rhs;
+#endif
}
int tzHours;
unsigned int tzMinutes;
/* extract "HH", "MM", "SS" and "&ZZZZ" components from time string */
- if (sscanf(formattedTime.c_str(), "%02u%02u%02u%03i%02u", &hours, &minutes, &seconds, &tzHours, &tzMinutes) == 5)
+ if (sscanf(formattedTime.c_str(), "%02u%02u%02u%03d%02u", &hours, &minutes, &seconds, &tzHours, &tzMinutes) == 5)
{
const double timeZone = (tzHours < 0) ? tzHours - OFstatic_cast(double, tzMinutes) / 60
: tzHours + OFstatic_cast(double, tzMinutes) / 60;
/* and finally, extract the time zone component from the time string */
int tzHours;
unsigned int tzMinutes;
- if (sscanf(formattedTime.c_str() + pos - 1, "%03i%*c%02u", &tzHours, &tzMinutes) == 2)
+ if (sscanf(formattedTime.c_str() + pos - 1, "%03d%*c%02u", &tzHours, &tzMinutes) == 2)
{
const double timeZone = (tzHours < 0) ? tzHours - OFstatic_cast(double, tzMinutes) / 60
: tzHours + OFstatic_cast(double, tzMinutes) / 60;
#define INCLUDE_CSTDLIB
#include "dcmtk/ofstd/ofstdinc.h"
+// workaround for SunPro not defining these C functions in the global namespace
+#ifdef __sun
+using STD_NAMESPACE free;
+using STD_NAMESPACE malloc;
+using STD_NAMESPACE realloc;
+using STD_NAMESPACE atoi;
+using STD_NAMESPACE atol;
+using STD_NAMESPACE atof;
+using STD_NAMESPACE FILE;
+using STD_NAMESPACE fopen;
+using STD_NAMESPACE fread;
+using STD_NAMESPACE fwrite;
+using STD_NAMESPACE fprintf;
+using STD_NAMESPACE fseek;
+using STD_NAMESPACE ftell;
+using STD_NAMESPACE fclose;
+#endif
+
XMLCSTR XMLNode::getVersion() { return _CXML("v2.43"); }
void freeXMLString(XMLSTR t){if(t)free(t);}
# declare executables
-DCMTK_ADD_EXECUTABLE(ofstd_tests tests tatof tmap tvec tftoa tthread tbase64 tstring tlist tstack tofdatim tofstd tmarkup tchrenc txml tuuid toffile tmem toption ttuple tlimits tvariant)
+DCMTK_ADD_EXECUTABLE(ofstd_tests tests tatof terror tmap tvec tftoa tthread tbase64 tstring tlist tstack tofdatim tofstd tmarkup tchrenc txml tuuid toffile tmem toption ttuple tlimits tvariant)
# make sure executables are linked to the corresponding libraries
DCMTK_TARGET_LINK_MODULES(ofstd_tests ofstd)
# Cleanup testfile.$$$ generated by the ofstd_OFFile exhaustive testcase.
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
- ${CMAKE_CURRENT_BINARY_DIR}/testfile.$$$
+ "${CMAKE_CURRENT_BINARY_DIR}/testfile.$$$"
)
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
- ../include/dcmtk/ofstd/ofcmdln.h ../include/dcmtk/ofstd/ofconsol.h \
- ../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/oftest.h \
+ ../include/dcmtk/ofstd/ofconapp.h ../include/dcmtk/ofstd/ofcmdln.h \
+ ../include/dcmtk/ofstd/ofconsol.h ../include/dcmtk/ofstd/ofthread.h \
+ ../include/dcmtk/ofstd/offile.h
tbase64.o: tbase64.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
tchrenc.o: tchrenc.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/ofchrenc.h ../include/dcmtk/ofstd/ofmem.h \
- ../include/dcmtk/ofstd/ofutil.h \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofchrenc.h \
+ ../include/dcmtk/ofstd/ofmem.h ../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h
+terror.o: terror.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
+ ../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
+ ../include/dcmtk/ofstd/ofcast.h ../include/dcmtk/ofstd/ofexport.h \
+ ../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/ofstd/ofcmdln.h ../include/dcmtk/ofstd/oflist.h \
+ ../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
+ ../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
+ ../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
tftoa.o: tftoa.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
tlimits.o: tlimits.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/ofdiag.h ../include/dcmtk/ofstd/ofmath.h \
- ../include/dcmtk/ofstd/diag/push.def \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofdiag.h \
+ ../include/dcmtk/ofstd/ofmath.h ../include/dcmtk/ofstd/diag/push.def \
../include/dcmtk/ofstd/diag/overflow.def \
../include/dcmtk/ofstd/diag/cnvrsn.def \
../include/dcmtk/ofstd/diag/pop.def
../include/dcmtk/ofstd/offile.h ../include/dcmtk/ofstd/ofstd.h \
../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
tmap.o: tmap.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h ../include/dcmtk/ofstd/ofmap.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofmap.h \
../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h
tmarkup.o: tmarkup.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
tmem.o: tmem.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h ../include/dcmtk/ofstd/ofmem.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h
tofdatim.o: tofdatim.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/offile.h ../include/dcmtk/ofstd/ofstd.h \
../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
toffile.o: toffile.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/offile.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/ofconsol.h ../include/dcmtk/ofstd/ofthread.h \
- ../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
- ../include/dcmtk/ofstd/ofcmdln.h
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofconsol.h \
+ ../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/oftest.h \
+ ../include/dcmtk/ofstd/ofconapp.h ../include/dcmtk/ofstd/ofcmdln.h
tofstd.o: tofstd.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
- ../include/dcmtk/ofstd/ofcmdln.h ../include/dcmtk/ofstd/ofconsol.h \
- ../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/oftest.h \
+ ../include/dcmtk/ofstd/ofconapp.h ../include/dcmtk/ofstd/ofcmdln.h \
+ ../include/dcmtk/ofstd/ofconsol.h ../include/dcmtk/ofstd/ofthread.h \
+ ../include/dcmtk/ofstd/offile.h
toption.o: toption.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/ofoption.h ../include/dcmtk/ofstd/ofutil.h \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofoption.h \
+ ../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/ofstd/ofalign.h
tstack.o: tstack.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/offile.h ../include/dcmtk/ofstd/ofstd.h \
../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
tstring.o: tstring.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h
tthread.o: tthread.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/ofdiag.h ../include/dcmtk/ofstd/diag/push.def \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofdiag.h \
+ ../include/dcmtk/ofstd/diag/push.def \
../include/dcmtk/ofstd/diag/shadow.def \
../include/dcmtk/ofstd/diag/pop.def
ttuple.o: ttuple.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/oftuple.h ../include/dcmtk/ofstd/ofutil.h \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/oftuple.h \
+ ../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/ofstd/ofdiag.h ../include/dcmtk/ofstd/diag/push.def \
../include/dcmtk/ofstd/diag/mmtag.def \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/ofuuid.h
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofuuid.h
tvariant.o: tvariant.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/ofvriant.h \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofvriant.h \
../include/dcmtk/ofstd/variadic/variant.h \
../include/dcmtk/ofstd/variadic/helpers.h \
../include/dcmtk/ofstd/ofalign.h ../include/dcmtk/ofstd/ofdiag.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
../../config/include/dcmtk/config/arith.h \
- ../include/dcmtk/ofstd/ofvector.h
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofvector.h
txml.o: txml.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h ../include/dcmtk/ofstd/ofxml.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oferror.h ../include/dcmtk/ofstd/ofxml.h
LOCALINCLUDES = -I$(top_srcdir)/include
LIBDIRS = -L$(top_srcdir)/libsrc
-LOCALLIBS = -lofstd
+LOCALLIBS = -lofstd $(CHARCONVLIBS) $(MATHLIBS)
LOCALTRASH = *.out testfile.\$$\$$\$$
test_objs = tests.o tatof.o tmap.o tvec.o tftoa.o tthread.o tbase64.o \
tstring.o tlist.o tstack.o tofdatim.o tofstd.o tmarkup.o \
tchrenc.o txml.o tuuid.o toffile.o tmem.o toption.o ttuple.o \
- tlimits.o tvariant.o
+ tlimits.o tvariant.o terror.o
objs = $(test_objs)
progs = tests
all: $(progs)
tests: $(test_objs)
- $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(test_objs) $(LOCALLIBS) $(CHARCONVLIBS) $(LIBS)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(test_objs) $(LOCALLIBS) $(LIBS)
check: tests
{"2.2250738585072014E-1000", 0.0, OFTrue},
#endif
+ {"NaN", OFnumeric_limits<double>::quiet_NaN(), OFTrue},
+ {"INF", OFnumeric_limits<double>::infinity(), OFTrue},
+ {"-INF", -OFnumeric_limits<double>::infinity(), OFTrue},
// conversions that should fail
- // {"NaN", 0.0, OFFalse}, // this test will fail if DISABLE_OFSTD_ATOF is defined
{"BIGNUM", 0.0, OFFalse},
{"_1.0", 0.0, OFFalse},
{"", 0.0, OFFalse}
--- /dev/null
+/*
+ *
+ * Copyright (C) 2017, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: ofstd
+ *
+ * Author: Nikolas Goldhammer
+ *
+ * Purpose: test program for OFerror_code et al.
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#define OFTEST_OFSTD_ONLY
+#include "dcmtk/ofstd/oftest.h"
+#include "dcmtk/ofstd/ofstd.h"
+#include "dcmtk/ofstd/oferror.h"
+#include <iostream>
+#ifdef HAVE_WINDOWS_H
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <winsock2.h>
+#endif
+
+OFTEST(ofstd_error)
+{
+ // test constructor and operators
+ OFerror_code ec_success;
+ if(ec_success)
+ {
+ OFCHECK_FAIL("Error: 'Success' should not be an error.");
+ return;
+ }
+
+ OFCHECK(ec_success == OFerror_code(0, OFsystem_category()));
+
+ OFerror_code ec_error(42, OFsystem_category());
+ if(!ec_error)
+ {
+ OFCHECK_FAIL("Error: This should be an error and not return 0.");
+ return;
+ }
+
+ OFerror_code ec_error_generic(43, OFgeneric_category());
+ if(ec_error.category() != ec_success.category())
+ {
+ OFCHECK_FAIL("Error: Categories should be equal.");
+ return;
+ }
+
+ if(ec_error.category() == ec_error_generic.category())
+ {
+ OFCHECK_FAIL("Error: Categories should not be equal.");
+ return;
+ }
+
+ // test assignment
+ ec_error.assign(23, OFgeneric_category());
+ OFCHECK(ec_error.value() == 23);
+ OFCHECK(ec_error.category() == OFgeneric_category());
+
+ // test system and network error functions
+#ifdef _WIN32
+ ec_error.assign(301, OFsystem_category());
+ SetLastError(301);
+#else
+ ec_error.assign(71, OFsystem_category());
+ errno = 71;
+#endif
+ OFCHECK(OFStandard::getLastSystemErrorCode() == ec_error);
+
+#ifdef _WIN32
+ ec_error.assign(WSA_IO_INCOMPLETE, OFsystem_category());
+ WSASetLastError(WSA_IO_INCOMPLETE);
+#elif __OpenBSD__
+ ec_error.assign(EPROTOTYPE, OFsystem_category());
+ errno = EPROTOTYPE;
+#else
+ ec_error.assign(EPROTO, OFsystem_category());
+ errno = EPROTO;
+#endif
+ OFCHECK(OFStandard::getLastNetworkErrorCode() == ec_error);
+}
OFTEST_REGISTER(ofstd_limits);
OFTEST_REGISTER(ofstd_safeSubtractAndAdd);
OFTEST_REGISTER(ofstd_variant);
+OFTEST_REGISTER(ofstd_error);
OFTEST_MAIN("ofstd")
/*
*
- * Copyright (C) 2002-2015, OFFIS e.V.
+ * Copyright (C) 2002-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFCHECK_EQUAL(time1.getTimeZone(), 1.0);
OFCHECK(time1.setISOFormattedTime("12:15:30 -02:30"));
OFCHECK_EQUAL(time1.getTimeZone(), -2.5);
+ OFCHECK(time1.setISOFormattedTime("12:15:30 -09:45"));
+ OFCHECK_EQUAL(time1.getTimeZone(), -9.75);
+ OFCHECK(time1.setISOFormattedTime("12:15:30 +09:15"));
+ OFCHECK_EQUAL(time1.getTimeZone(), +9.25);
/* the "seconds" part is mandatory if time zone is present */
OFCHECK(!time2.setISOFormattedTime("10:15 -02:30"));
OFCHECK(!time2.setISOFormattedTime("1015+0100"));
OFCHECK( o1 && *o1 == 23 );
#endif
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
OFoptional<test> o3( 2, OFFalse );
#else // C++11
OFoptional<test> o3( test( 2, OFFalse ) );
OFCHECK( !o3 );
#endif
-#ifdef DCMTK_USE_CXX11_STL
+#ifdef HAVE_CXX11
o3.emplace( 0, OFFalse );
#else // C++11
o3 = test( 0, OFFalse );
#include "dcmtk/ofstd/oftest.h"
#include "dcmtk/ofstd/ofvector.h"
+struct Recursive : OFVector<Recursive>
+{
+ int i;
+};
OFTEST(ofstd_OFVector)
{
else
OFCHECK_EQUAL(*it, 6);
}
+
+ // test if recursive vector structures can be constructed without causing
+ // a stack overflow
+ OFCHECK(OFVector<Recursive>().size() == 0);
}